From 1cada0b49692af97b9e6f5e6daa4f2a65ed52b9c Mon Sep 17 00:00:00 2001 From: sjplimp Date: Thu, 7 Nov 2013 20:17:04 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@10991 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- doc/Eqs/fix_lb_fluid_boltzmann.jpg | Bin 0 -> 4643 bytes doc/Eqs/fix_lb_fluid_boltzmann.tex | 14 ++ doc/Eqs/fix_lb_fluid_fluidforce.jpg | Bin 0 -> 2358 bytes doc/Eqs/fix_lb_fluid_fluidforce.tex | 14 ++ doc/Eqs/fix_lb_fluid_gammadefault.jpg | Bin 0 -> 4793 bytes doc/Eqs/fix_lb_fluid_gammadefault.tex | 14 ++ doc/Eqs/fix_lb_fluid_navierstokes.jpg | Bin 0 -> 9311 bytes doc/Eqs/fix_lb_fluid_navierstokes.tex | 16 ++ doc/Eqs/fix_lb_fluid_properties.jpg | Bin 0 -> 3471 bytes doc/Eqs/fix_lb_fluid_properties.tex | 17 ++ doc/Eqs/fix_lb_fluid_stress.jpg | Bin 0 -> 2530 bytes doc/Eqs/fix_lb_fluid_stress.tex | 14 ++ doc/Eqs/fix_lb_fluid_viscosity.jpg | Bin 0 -> 6522 bytes doc/Eqs/fix_lb_fluid_viscosity.tex | 14 ++ doc/fix_lb_fluid.html | 297 ++++++++++++++++++++++++++ doc/fix_lb_fluid.txt | 281 ++++++++++++++++++++++++ doc/fix_lb_momentum.html | 80 +++++++ doc/fix_lb_momentum.txt | 72 +++++++ doc/fix_lb_pc.html | 65 ++++++ doc/fix_lb_pc.txt | 58 +++++ doc/fix_lb_rigid_pc_sphere.html | 148 +++++++++++++ doc/fix_lb_rigid_pc_sphere.txt | 138 ++++++++++++ doc/fix_lb_viscous.html | 94 ++++++++ doc/fix_lb_viscous.txt | 87 ++++++++ doc/minimize.txt | 5 +- doc/units.txt | 40 +++- 26 files changed, 1464 insertions(+), 4 deletions(-) create mode 100644 doc/Eqs/fix_lb_fluid_boltzmann.jpg create mode 100755 doc/Eqs/fix_lb_fluid_boltzmann.tex create mode 100644 doc/Eqs/fix_lb_fluid_fluidforce.jpg create mode 100755 doc/Eqs/fix_lb_fluid_fluidforce.tex create mode 100644 doc/Eqs/fix_lb_fluid_gammadefault.jpg create mode 100755 doc/Eqs/fix_lb_fluid_gammadefault.tex create mode 100644 doc/Eqs/fix_lb_fluid_navierstokes.jpg create mode 100755 doc/Eqs/fix_lb_fluid_navierstokes.tex create mode 100644 doc/Eqs/fix_lb_fluid_properties.jpg create mode 100755 doc/Eqs/fix_lb_fluid_properties.tex create mode 100644 doc/Eqs/fix_lb_fluid_stress.jpg create mode 100755 doc/Eqs/fix_lb_fluid_stress.tex create mode 100644 doc/Eqs/fix_lb_fluid_viscosity.jpg create mode 100755 doc/Eqs/fix_lb_fluid_viscosity.tex create mode 100644 doc/fix_lb_fluid.html create mode 100755 doc/fix_lb_fluid.txt create mode 100644 doc/fix_lb_momentum.html create mode 100755 doc/fix_lb_momentum.txt create mode 100644 doc/fix_lb_pc.html create mode 100755 doc/fix_lb_pc.txt create mode 100644 doc/fix_lb_rigid_pc_sphere.html create mode 100755 doc/fix_lb_rigid_pc_sphere.txt create mode 100644 doc/fix_lb_viscous.html create mode 100755 doc/fix_lb_viscous.txt diff --git a/doc/Eqs/fix_lb_fluid_boltzmann.jpg b/doc/Eqs/fix_lb_fluid_boltzmann.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d82b40ecb009745f6b984f5092b42008a057380 GIT binary patch literal 4643 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 S&K9{}5&u8l7yqaE8vidi4d*NX literal 0 HcmV?d00001 diff --git a/doc/Eqs/fix_lb_fluid_boltzmann.tex b/doc/Eqs/fix_lb_fluid_boltzmann.tex new file mode 100755 index 0000000000..4a6ca6fe01 --- /dev/null +++ b/doc/Eqs/fix_lb_fluid_boltzmann.tex @@ -0,0 +1,14 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ +\left(\partial_t + e_{i\alpha}\partial_{\alpha}\right)f_i = -\frac{1}{\tau}\left(f_i - f_i^{eq}\right) + W_i +$$ + + +\end{document} + + + + diff --git a/doc/Eqs/fix_lb_fluid_fluidforce.jpg b/doc/Eqs/fix_lb_fluid_fluidforce.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d3149616ca83c41015e7a5f4ad6d58aef98f8c2d GIT binary patch literal 2358 zcma)8Ydq5p8~!uPCSh9?EuL%+BMQ+;h{(pO&CF?3R8L`(V+U3$hjN_RR6C?)!J$_m}&3UD6NIQ9uRffOP<5WMlxx z^#Y`WfE@q^$;ruq!0QACgEz=4Lgd$>ym2E`5vB}>!<1n#gc@=SVzY)S47PR0R*mi3 zwY0PlTeQ*InrNh^mZnqyY=i(-z>J&r3Ry&vtU;pZ&sgKRWqR6;Yz(pCZnU)VpjIe zwNpt6?Z3`2sCpcP(B9@6_h!Lg62p-@u_Ifa=awKgy_D)!#an>!+G**$%4BoRxk#jqqprwr`HUQ z*jONOAF8DnuiExOjb5^f80uGqPfDmhpLgdcB@3det?3b(IWxmv8~^eYAFHaXin?== zClbZ(P?G|e{J61rv9OsVOLVK7JR0vZzON$ThYGdJV5j*3RJ9Y~9u!M{+YE<7<;Fp1 z<>8aX$_KR-uPEC`penfR@^~ChL{Qf!U@_>+`_REn=9%1u)X1m#lvFNi(2j~ZM~U7T z7;Q=}W9*iHoiIJZu9N~)4YMD9Qeec3e+Uo9i_u}rCvlX-6pl7JtP*)S{ku#2o%U6b z+xxz;t-;j2!@(FG{o&+Rq~hwi`l$b8`ESTM(DXFCM5{mPTFAYz(`v1di56H@ZFL?? zHl&JC{?fK0^Vn$Vc+IY|HlpOQz6p58Nd<=3cBpj@)688XiXe+85D5>z#d7&mPQiQ1 zTGcgg&~Qm?t&zAM>pMUCj&r*b>Srr5y>(_D#EO&(YlXW6B=v4n?+=$S`7C`Md#s#d z(loN)%yIVMb=Ot<-Y2Tn&L0(mI7y1yVv@Qq(Hdy%!B@pPemL<-W4$-vS8Q%Tp-I4S+ovPYSU6zX(?j2q!`Xx9W5IVix{CVzj)Ubyx zDUSP3T3K}64oXsCG1jOpoGmMsWgHK<{MDk|@)qm%d~QxRsp0(UKCfE!FPpEwAjuD- ze%wF0N*;07YxBdusA*wLcxc?5)_9{u^&$;dWc%mCf=M|Q1{s)Hgp=4ImE$G z{w&Vk(l}?#88CmHe6huY3=Gls$W%n9xMP8XI(R>rg4x0}?`~J`>kr2So)r1*)l~)e7w;mF9tmxRWzS^ID z+W2DF&9#P%_qEEZ9dN%2Lge5)9%5R(oho)kz{fJ3sL4eKot{*+q2z7#oamCn)bvBW zYQ151H3pzPm5T(@mtfvLc64rbqU|4z8RrGRP2(J$rYCg+n+^+voxqGN=$E&hf!*Zxw0TaUW>Q7TJ)p7&(7=q-|uB<@*G zofWY>U1(al^tkk;`DwwvMz{SlyBxU-_+_=?#(}KhfakAwaq_c^Kw5p(;LadQ3;BWwO>IDL#AQ<}B@_|Z_|Xh|uaO*i{U znL9f*t+}RrT;$_o7^2__j`Qd^!By4Q|EZT_me#6nI;`GHSSoT3o8;65wzB%GP0wLA z#gx3ibwSMWYd7fD%WT@89yO=R!xx0%O~5N!p}pdX7#)7o4-Tt=qnuv;(33GsOZD@* zkXp^Ym=dgTwQe0)2jm+JPu za`={T%YbU2T%B)=oiB{t;T0;}KmLil{kS)JZ;)5_1D~7-=Y_^5=FfVqi=yr%i`x}3 zpzpTdzlPd93{hNi&@H1ZIn8QQ?u2C&mi^P>7WvWT?K_6T{nPwc$r!X;%(P`zj^q)^ z&G+_L(W6mbLC8ezq*5`HRCqmf|6q#6IFgi%!Ii#xn^xpc@}75#EPSV)l^7Ec*;Uwj zdWpLY$F!Ii<&Y3rK}1$agoL~9W`>)KzfA7YV7@rcS7XQ2Md#HUDBvpTw$XpAs%$!2 z=He@Su<2tcil=S%(Ws%fSi$ZN3XIl-pn9GO&%(ydw^vukF;ueW49S3?gN4A z{MchA?p*;JbL1=5>Ji^xJ0hp{DXqaFI<;zolIazMug%-p2DVunb=OK#g+sfboxVLH uf1?C@;YGG?xNvF=dEXcdrUlyA!T~@B>L>uNGO+}7*Z&h8ex(aH>A=6NUQ{0d literal 0 HcmV?d00001 diff --git a/doc/Eqs/fix_lb_fluid_fluidforce.tex b/doc/Eqs/fix_lb_fluid_fluidforce.tex new file mode 100755 index 0000000000..8433c9264a --- /dev/null +++ b/doc/Eqs/fix_lb_fluid_fluidforce.tex @@ -0,0 +1,14 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ +{\bf F}_{j \alpha} = \gamma \left({\bf v}_n - {\bf u}_f \right) \zeta_{j\alpha} +$$ + + +\end{document} + + + + diff --git a/doc/Eqs/fix_lb_fluid_gammadefault.jpg b/doc/Eqs/fix_lb_fluid_gammadefault.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cd10239c9b366fcd33c079aaa7e0ad1c4ea0e829 GIT binary patch literal 4793 zcmcgwXHXMbw+&4xqJ*mS79oU$YeQ*Lq7XnqLnnZ6DGDJpA#_xfA`l266e&U=p$Gwt zp$j5Ks`MI~mw;D5ib(U)KJI<*&G-Jj`To3pX7-!H`E8P zu&@9SCkt>q1%LxM*x1?G**H!T2M5Qg(`PtOpTs#H9k!~rY-wiAjIlK+VlSavp6 z7S5AhJw5;n8#@aN8`mi|Hr~Gvu&}bR12|3r`DIQET;dcImesX#B8~{jUB2)8>Eqz=F$2K)H?%h3sD}bJLK6SegcI2ZHi}6%q9R7v+(dHZK8)2I zXl-unnWz364bp{_D@4kIcV5Ks74Z#PeBZUWbipHxPL?Z0W~KV0*P=+KJ4 z6V0>}Pnef||Am3_C%;fk>V)XiU}K)iWlhFboWbU3Tdxghc0rw|UW=LkhSMkRrl0T4 z+E1s?-&csZSoToMQYg~ep-+@h*Na;1YBKbG37iX~s|(@Ob~lKd%_2Wx2Ch; z6dvQ`o~Xu6y;vTj=r~i8g4^~1u5ZSkWazb0Ri+DXrGSeErE+AH1v#!u;CbS=M_6vs zbPyW%wY13k4*N!Qo7L)`={*5PrQPBsQLRpjxM5H@qbIDPc~aeEZ{0;wGu&g{Onx^GkXg(tjtlzp;Z+Uy z01#HKYOFzMCv(nEInmvV@rT75hG&ZT6f7vXWvh!P6vZ4zoGvOeER_uVS$FpsK#SL? z44VwJS^6-|C(y(h-RvV{z+mg6sUKO$VKISoU^IjqqYr~7X=_&4v%gFXRFtZ~_RKNw z2fbh0tx;ymrd}|)n^>E1aK2t z)uH52r^G3e>+akcAB@s~cncY%#OBE7f7jp_g64I@{)31swUOvRvPqjaTLDF>%{Gp2 zuD$Zhc|-HoD#D`UWb&P_`9>T<;zDHj7{jQ&!2X(J0I$K^BFu{D;flb`W_wE+V`ED- zEns%LMwWERrhK3{M=@KQkib9yt!tGFqd~knrUiqKL2O~VM0NfeJZ-~Bs1v~GbSaZ3 z1eItEE?Hr%W@#}upiS=F^KU5%&dmqtwI&DOYFkt}RT0Cbge3X{B<0623r9sN8HfFJ z!&q4dl$zfpx8%EfC{Qsj;u-ztQIUCg6=jG>fe6)p4N7q^!(UWOu>}Il^z95>F2t^7 zh4m)p4W&29gy<#l2M$#e!4Mr=LBUks$g>}X_KlFKIoPAAo$p#@%d;jVg#ai{>~GL%e^-4`MIw8pT+jBtl4fk5L3labT?x}hu`_2G zswya0J#DGT&+LzEn@9}&8~59s@y%46i>*&?3J!);PAax;9`*$>R6>arb zpUA=1F<`C!RX|auaanDQm{lY`Pxr7r{O>BLrcNeQsTRsE#JZ{b-CnpW)AJa^@(&K3(G-rV!j2acWyJ>U%{2xI0#x*Kcay5`8zq_lJtxZ{+l{4-iQy%O!fv1Z zG_u6DEeR>d0B3X4i#!G65zW6%BGm$^Qz=4W@3Ae!{s&1jW64I$T+bMF7ci2sZpG2E z@i@z zHln$HpZ@(Aa73;kmFB!mcV;-#4x4!E+T@>$3PgFA>*7bkgjnhnv;8q#{zCRAWN_B1Ri-3is0vy^!0@ zh=_h2y%4c;MLU&#$gA~#zxXM7X34ncvbM(K&ejnee1pbkx>X0s~XcBP(-&bhf1TM4xpji=fLE5YMv~ zgoOzMx=Ab<5R8G#PtaZ;BzZzY@DxGa+vU^$=k5Mi(MHBDxz#c>nX6}L+xWouLE-r$ zw*u8?_kK0-dWVWF_H5wL{l2{7AG13zF013U;{uxME0M$sFs+~^_IsUobsLso$xKuPf!W#! z9x~rsh1{m&G+h*8jm~D@*Z9V#%dL=a3V*Ycp5pvg%Jr31LntJu8rZF; z18QM&4juT4;F_CPfCoU0%mr7NKlXL#&hD^-`=s5^8-Xy>$Zy zOund*n<DCus{E;QQH~;lA{4RY0ju8@a=Qb;6 ztB`82`c(B_iZ62Y>`nrj^}_;8SsF#9fmltecuRC5$WN8TD$#5i9nLp!$vZtrIYx#` zUeRqBRmO`qOpwCe@XtKLb=_j0oJsfhMZ~ZdqRA4EF2nP3pDLc-DKiiYw$3F$*HzNR z<3H)L+Rw~mDQdEQBQ~ZFc0c1HLT}2CKYX+|jD@vrtaV|!MpmX*0!q+^3p7#15aWfM z^}CfHh8=nRsqShP&&)`AB7%WGv(0>CINaOM{w#t%@>{b9Pi{wYnY0H^dHKNf?>&Q- zNV?11&;1fOQ=j9fyNAP#<9=i@Khu>1#r#2$p{7oyHNvcPHz_A~ool|P?s_TVTs zXVqQAL)K6}*0Y>On)6egg1=_FY&V@dEzvxv7HT^E8|LmO<}=w`d_F&Mwg1nM54 zXnJDrQACyA<}2^;>^nFivz-Ncfu~H}8DpTjJt;cudD0bQ*MuUs%5obz0T$-tf9JJ-f-I^3Y*a7Yt2WDnYkTANj7-!hti-(*V5jaPx%YbTE_ zk7m!fFup%)@D{+WLc zN2w`$FP9B($`iuSlABL_ttB55v5-rnzv!oV=R{#r9p2$6Gk1lK1|R&B%jRJmcYaTi z>tAiv?g7;mV-W+so#pJQn2?__Lx5#-%YDNEF_3h?k}bzNh-Q)mMqoO!F-pFLe2qS4r3f%aiJi|}$em zB&v);uI^`HU^n#0_$V+i@&i|}I|r1lDayrvXujW&x$;s>%A)6}d#A@xUF;C=d@BZV?eCMEeZ>-H2I!n^`RMsGykr#@o9^tT?~3WV69wuNUh+ZqOUCnyC(!c4Uj$c*?rdtO8joN$+ua)*FxVyD z%U0;jR~x^;@cM8?TmD8?RUO-UiNuDnW*Mb+_mt$8&Ii%yFuZf4C}h!Szi>to2FUp_ zxi&bCTFUb`Ign`o4s$VCIMGUj!DmQ+vXyfAUp6m{8#u>76e=d;5eh|5N8OfO-nXq< z4c!p-H;GgBh&dgPBLQ7+{PNwd7u2gQ10~t87_5yB7teIJdb#zxJoiY%j@q!25{ zg%BIq$?J%h2pzU^X(j zKk=`#RaVa(Yf+mCv$tC%ukX;VGk9+lU0Bl`yo4V}Shl3T0EPchH~M%sCErlU0nOPp zI@zcD?C|xpyN%$lH+2rkpW)3onNjaZ-F5C^aT1wK0&~a}BgDSd{a#mq3^led6!-6J zoH}3(g1gva;r9lnu?N8*`xSz@QFKgcelWlKX0OSLHVqPSiTe|OT5ss%w@9YbmhI3o z-!gxGlf?Xl_bm>98Xwod+-zXt1KNeO?Vg(H0@xY$a`Erjg^VHRZl7Y!L6|b=&JW|8 zV9QPgxQ>)e?1HbKr;t8JlU?Yw+E;$gq-xvitW$SH;vLB^K+hE-@13)F8uYB58Oqc3 zx_Q&{!X<9`g>dI=$01^@sfa<>jxW)k# z05?g=$jC@<{;O`@yh%<$b&KL3w3L*$spx3$-J_$WqoZd8GSS~>WuT*D=457NX9s~m z^h^)A9&&I2IY1oOZ2-z!0OuRpBqVfz>rMa=Kms8BH^sk6{x@Vd$w?_lZru9Us&p4X zLUx1X#?2dKq~s*GC;|U^-ykKsNk@Kgj(>`hgl59lM?Z-1^VxvVf~T#s4=bMdGKgUSUs5{J-5c%Tp~lG&N>P%n=br z3+~uDAOtuJy){o(&|<}B825k5V_rG%c zz%-%^hUW$)he&5jGOjeRkN4yUxk96>VcE0E={6%83`qGQEJ-t3N9~_^Sb5+_>h04yIjVkX$$o8S{h0Xna&`4V!(eO;N37x(?_1)>* zQ`L}@r{ybKb5z<=uA-u06QgyXgqcF*O71=5NKW6RrI1!_-N9#2(mE5Tzl~-~!;N*? zq^jXjqKPX?P0dXjv`Y0<#ZRJYo3Iy!_P4=oT)C*7ROkuGhrh8p z&l~c!=;7-^qQFHw)t4AQRqrFgEkCnKTL&nbj4^8Lzp|sjE>r!tQx!VLGY?#lKp;VU z_LT~{ruNz3PU_6EbQ%aK$6_~_3iMN{Q z0B?=6YgTxF#6*+R*Y+5;oXOzg#FJXJV!dNA=b+~!WA6IUFk~B--9Hrcrc}Zi+$tc` z=>nu$(D0g56EdXy0cjpv?_O*ln!GW}l^`zSc>@5)QpoX33B;KMMM_nD#=1Ggm?)`3 z@R_fv;u>59-txNu=n7|!6Bj0yDghJUBzhj3ug3Cv9*i_7ABl{1&QuSH9hk?ofrkE+ z(D0@%v*87}D(w#VBgBs%KBwSlF{5;_jKE1{W=kt52GhFSUYGnU#bKRkEn!(iqs+-d z@@rMn_w(-7BbY|m2BdPH&uuI89tMO5en4?3VRsrbczOr(bt9q$GW)(=1{#xhctMuu zj%Tn}52w8&PM>_uVo2<@6q;OOMplj&s5@cdryNM{*5eWC~FeUC3?|GDGt zs|K3^LTFLLJB(Vt!W!1V`;y8(UTfLLTI%Bon>HQG#4Ha|!0cLO%4Og`;JpNpCj#HxXsza{bn;JG3GwbTOrMWUX2wa+Q<)}Zn*+z13Vkix8IlT_XwRc<`K!_IH4=k!VkVbo1< zo#Y=&Tao?gU|xlx&v8gw_lr_Jgh~3?jkYX?sQjiKIYljX^_;6&4=Ml;r2C!oi9HLr zpCtjU^2f$2^6`mZDJ!D`UXuRYJyrG-zJ2Rb&Kz*n<#H%-4YQnAa4!aog;+6K?!sS!>P(u`3L=c=2sN!I>KM<^qGnho`^ax;A&kz&UBD zT}caDb7@rY9$qa9_L4sL7LKfZM1Ne(HtbTyG3=vcP_Flu{EUxx$2DLn9*H$W z&xZO*IByE2uz?iJ_J$@@*wnaD-EGW6YLaA$m3pOCu1WkV%WIt2mg<;17-{6kC*glv zRJSaF$DdAYkwQU(j72aahPgg&1?Ze&!J_A%515AW&cqL6L?Fx)y`&wcL;FL&Xw}%G zG#hHc8r|-|f@BMKlUhm7$L5b9sMDXL4KC+K&m1E%jfQJ)EOv|BrHqP-7;=JV$?(q8 z9hm97lTFU!%0DlTc4%)kd^BL+KdHvgPuDp_UTdb+@^39qjMV*&>EGCkq7K^CnHSzv zjJ;;8AZ3&NHD?EX8%!*kkR z8`*ovEem{+1qU|#2}l>Dwzcgw#jAojeYrhoL(~i;xUC)P zep8ezyJ%owrB$S3^7bwo^vjgna9z-lBeCW?b?vp;D~{e1=BIgzW)U1r$v32Qb133- zS`W(pAY+pYQ&L3`ON`L8{wX8jm(4YSLLj{_LA|hEQ=zkbtY8m~g5h0a~ zexcgPx>&;=Sfih)Q7lc9@Vg#Wu7tb@YyZ$DOA!FD9f%;sY5Ut!`ft5UKgD8r6-WM{ zk9Z|`1$GNpGFr7r199%uIVU8o%f`t{iA(9SPkfDuGCU!TPH(6Zr!Y!fh#`REpdC*I z>E(Urt;67;Em@Xpz_0h$fPMX`nftCu7CA8mX344{bnRx3Fl;2yt%+a?H}#&W#8Qm2dbXWPC zvgvyXLA%b<@F3oz^l4w!SfHHXiGUOF7Q4)MV5}>TRcF@dlr4ZE;o-v-$3!(f+s&6# zJnleneE%kuSEG0x%vbsdRbv{9_jyWQyx6647Ky49FKHnE8Vn~T*_=2T0W3@#KW347 zWqk5@E)L7^Qz)ffL~}G)IuQGKAILNCnRj(z#su!6f63W9X`xmqD|Dak{l1 z*ujy<@(;OSHpzD!&a#+GH)XHJjYSa734|KG$>itv(M6b_uq!o z>*-+IDZzZo zxQ|Ny^6jv;iCkIP(nb22dpO)Hkc5jmb8akGQHhN^9)mZhCphaC&}WQ*EcCiZ0&%YF zld}OEhODJ^h;&+fk>E$MDAVX zb`bBzir2XP+tqrvPTftp4z9}Hy$R(Zh>6-30K~g(h_BM)74#&!RY+$z@Ogz#;Y>&< z{ywT4_IhnM2LPy7xv6r4N6fG5cNhwjL5?zO^avIbg>UY+6x*7p_7_ky2%_S? zIN|IeejYreE=fO~F+Pqgm3T*?5i}so6PJ})A)O|gH)!LE_8t!<{DwG5RhHVqJgPJo zA-)DfY5;HkW7{3oJJM!4p*7J7M|SxseU%%|WmBNF+Kzx_!OcRb>3NLDS>5P{_SzcI zjD~8*5u#nvhRSfNT9Jz1JUAL6@z#G=kW0N=IsBu;6`K*ZZzJ2S(7I~Ks=fA9IN(Q8 z^RS^U2!K}NA?AJ{8Yh3-XA|(gjoFyZKCZMAHuxFKZ|icf)}#MXKIgy?94t$=ZAbUM zV$!aCnS!@9GD{TuD0#dX_mN!T?qD1IH=cicnzR) zMMseC)d-AM>E|`TxKX+ZniDa;Ui%YEdnc{$@97uvX+?QiW@gexD)9dBe$-n95>EBl z&3ACqdQZAPeqX@)5@Uw(td59|gmlrfc0VVtDP^T5ogz6l+`L$beS;iIBZS`3xy6sO zr1kWzyhrgeA!KCaHoNI1Xnf>8;R^0T`PXFW4!GjGuL1aLvO zbL*ZU@j_WaHmPkC&E2zXOj-T{>~i40nxaxiH=;((BbPv4R~j?@b5JP*^WN^8A;qf^ zW+J8eml3q!C+EPl+tjuvGIMPw4>(w8^f7;6t}JX4k052%1HR~WR*aNELeSZRp&_k8 z@97~@%eWg2CeFI$zDa*ee_=NbVuoL_bW?%n_Gr#w=z%IUWhpB{1dLHFkjPn;(IWk=KCg^`M2iYk=q(f+q&4 zjNy2ZGmp=&sS-&DlCODY?mV6Qn{mM@W487kk3P-QzOcfcXi-+8@5M>;%J&4>T$+SE zlZlV4o~Tz{5;y&1!%Zf5?}OOkQcjf9%o?66CRSfLk7y$(0d~-xsVRA|l5bkCJ1w1f z7=7hgeMxRi70}FM=xv^KJtv|i3;X~!$EF#ZzDP2B&U160Hp<<-MGVGmE&IU0VbtQ; zM8tlAh%wi&XxTi*I>B>c+J2bMdY|Z5<&%-#)^nUDvWLdG)a5#;iA;XwX`$ z1zThSu|?c2 zwp@bQF)xsYZ0k zINRTnrLGVrlZ1e`+Vv%Z&5Mo+j1mQksGTk4qs@)P#DjDJwy1%=sRZUUR${ILzu$XU zIx~pVmNSN5lI;BC6doR*@OxQsx?l6&N;{(h|GKd<=-HqU@#SVBnoNZJ0v$5@ZxdCz z>E+b45AZ1!hpMMag;9pWG+9)i8oBIF-Az~*11VpW?p4Xc5>NfU49vley}I7xVr&kg zsJIhC&OB>oE*X>mh4Cw{)xM6!utygO-uiWXbZzUnT`D2DHoTPS4VdGy9L zAiw+-qE2}3Oh#3HVet2~ul#DoEEX@wtbWfFOAy?~5_QxFl{Nb85H&N>294MbBhrXx z-W7J>)?2G0^@?s?)ON*YMO;G*C6~~3t4Ny{Mkdg^Yl17EgM^jO{hq=dJr=_K;W<0K z>6(k*T2X0p&H|Sg5wf_Gi3KoOZIOlvng)f}6HUS9TeD6S4;Z^;d#c1+jrjv6Ie>cW)=oR%{EX8zJ z^2~N%C&Sr3&4eBTK+t#5ZZN6w*ZpdXD&64EK#6w)h}>;nhFVkw_<7J3XivXnAsWB2 z46Cu|Go5f40Q+Ns3n?vX9NRR66q4DJlP@MV&q9_4!?@LLi4^=;Q^MCY*B)?usaHC$ z=;bHPIWr*$McFI5oicxJs+3Mm8-bOI{dN1U7fERKl`rw}Y%7dvHn|P*Vsev#smfQR z4*rT9S`nG7bBWcmU+0R)_dwjYXXmc2bi#ICRPHAxw1%DPV?O|C)~hr?ygxIXPj}b_ zsRPU1UmTX-b>;62WUshl++T+^W)MV{x+b2dJy~zA;Zk_%q{T))KvK_RR&J*d&w5l#- z$0Zl?ACOH#{<;>(y#9;oJ!S70$r3RKrTfihOD!q3R}JS+V}oGy6j4C7n2sSqe-#$L zIHO`lgo62(H@j{Dnty)=*+SI4zWg;)&T|0? zg-LOEg9&;|VNc>4y?L@w&<;gCskN{g!m%@QLNrY}Or`C$zhIFQ-Jp~KvbdP=A)v=F zEVSP$uLgFb`Qh<-UBCOMS?Ry4yJ*vG-Mc=`9s6&VGrlB1nH;;46Kq$i(&*%1g3<#= zfL-VS=Vj~XA%Nui+TyBx3u)UlaUvi#Q82m6{z_ADBh4>1dAPDzrQT;fmb@a!gPIpX z{q-{WpUm+{bQix+l&O=r@xP~E{0**`Q{=r*;pm9?%r>PD8P4MrQE~#N!xhWq4;Zc50Iy+vP9TE|(acL4y z-5hE;OPn&;#W(89p(ipP0?^BFO45HBZ1;az#n0|#ij#E+3!wGg*PA{NAvqC5{`#n| z8Y|!|7Q0=p(2g&I5yr-Ah!ZkD5aSYekGiT7de(7a5iNPWXc58lrlBs4b zqOecmZe78Se31Sbf0OL5d9m=t3*+1TU?9IaEDu~NR4g_5n?fV%?5H`V&Jt12(e=*y zgLru_@4kbnY`^fmaWTu75u&z!8T$}d{3SoQ2nUz5ifpFPAi?8}!*S7W&m)Bl&c*(DH$`EIWuL+hR2Lfbg}J5?6>ZNUCnE{rawDFilL# zFB#Wh@%?LCU)VqcCh3g75*v)jZPJ`(yBJ1R$Ncfdr~yuNqxV^|_G}&y-dM1YNB2&3 zy)9*r&51(+e~?4O7-N|F{aax_XwkY7_Fis55wk44cLk?n1x5QU70=#z8D11+F6=TY z4av$2boYK)Zepm%L`cD6M2P529v3&MivedHbN`p#qjH|j&4l`u%u8xAgpOWW3Z$pY zzMWvAeoPbf-D8YT!}^J-Wwmp!JF7Ra(;E))&RKZ>C2POzlQ0w7nI)~tA}YbAxa#Th zPJYXscnt?Rt?9vVlI`ZkogcrE1@RZExCWw3emO(?WOlc*LKHv2(IdlqqT_+B^!bh5 z$|?ClyDIK}JXYV4FX;Zkz_%7}9W!(-q7*u!03_*BJ zsBY+ib}Hq%o9J=n{bV0kN!1p2Nv(xDnjEAsw_{N~)|vjXas&6>Q@4IY^Id3n{y8`s zg;`vX?w?9jLie9Mm>K5dq-ckE+xbVC-n=ILsM_%Cd9g4C(wTig4k%@8NI^?WvzFum zC?@$vpnwI9op;hw`FOGYCG!&_tF%zB`U)9+E(OgL}|4n?`PS21WCYimrj%{cgB-FJ38+7K`Ifsa^DACr|Tbg}S zt6Oh$;m*J?p}KA;Y+oUf01eP`cGid;oP}m&H6ZLmjn)LSc+_$BkPPL~&xR$I5i4u` zNj2a5d1gq)*h_0VjM;NtIYi$9F7i6ePlOEpf(+xT_j9;1s9{FK3;7Vi7`Sm&HZ(zv zXaDz}&;b=iyry+~LV*SE)OyB635x#H^!OEpEox!O4+-yV(zHom^vSz3RbM=sBKu~- zjglYEe$#iyqs*M`XvY9=JzXKcK~d0v8|pCMKhCRDU{KDB2+c#@*@DfBHH(K-%_c7F zv{*hzJH!;05(Gu~4Zh@|G^DLnk8j9x=Ej6n&^lL^5M~7sYvS`kf44FmbvUaaewUQg4S;Pow->N5&W#}zp$J7ramc! z2~orsM~-7$N$J~&zNMl=+FW;`L$^M~B{~B(Hra3uQ|tS_BJr)iIj-o9dXnM&M~~qu z;IwrhtI4uukOGON&9Y0v)8p+F{SUL zB{XlNr}Ga$)V-7NzTpWL5qcrpzHg|p`FwyeszS@fFVbP*4%S*ik2Jw-a7^qu;@djj zTI7SNP=)9Y$q3VJKWf>+YB-Swt7DI^N?3DeiPT>%bm*BG7FrQgCwpD@>KVz_0~U6{ z9aR^1)yaV{D!hkJ88x~=AkC>LugaoxhX&bs(1hhGe*iF96VGfTnW6^VsMj6e`@2Y} z`#>u7yR=cWS;A{qD}{8`Peg`hORee>RaUvJz@Aus^G;X*)fH<$n`vBicA0 z;=)CpIIYpKjPkL6fdsQ@vA-2ZE9jATwrSO`+mc$nF~Bo&uBLp@192LaHhp1!g0o7C z%_wsaNFJ_li2qV>`kUf^Isa);hiPZ2^?d&~CromWMqFG&F)X$3QPkP|XhE?2I!Wn} zBy>x!M&GL9?}7I|lLIl+=^?&Mcik&2^$&OOQ2<79cl%`cRF9VsZ5i$1CRz>)p@E0C zQ!M^85u;n4g8$gzLBO6E!l@jPtOM}Wj-81(>1W4VBG8-U|0jx^av2m;iCn}*{UGLV zq!~l_G#A$$w0Qdy)DHkR2i+sK0PMj-fX7n1)b_Z2!>za0CbcwJ6q$T`s}6mdp$MCF z?J9enCE)mZ0^sTP(I2aaIZgx2tIwNje_p-{khx8%N=t%w2-299xwQc%lz8~Vxa0O4 zxv`bWMzhjR(j2_Nm)XQJq`sQf429#6<+JIDE19>@E9R;CB@Y=OwujS+wba0V@)?F! zr1IYA-J}#`lP}x&$OIF7u94GBK5_utGce_L_t(b#Z|cI&=n2xlWi0c>J7yF-9srKA z2=1CaQx(fn_AMktjnIxA%gW=cDo#7RvYI4ocTG;~O9vS1M4gSCH&?<-2P=74XY`=y z5y7_fMXlr$P{nQBYGOg1i(=eIzZ0jHJ0*)8z%jf*(9(CI2<2Ru=G z9_@S@DQCOXY_|MrkyvRjUl>2 z+YzWNQ+lVA`xomz1hRF)qd>?coF{Aa{iMozxct}DObuKfKx8oy8ycn(fO~oFu4>Sc z)}Coi758UCK}p4b>m?bSECiOP<5QBqhVubk1RRZ?49YS z{gQFXCy7%jnhTq~oOpM0X+Yh((tSk;DHLZmpph!d&KwI89kfIAlUggV8Fbg#6bwyz z908PeMHBh9xKc0Zt*q5gMVBfkwv*1netLtP<)%r`(phEH=+VcIkQAhdcD%(w5o}XM auTi#){XYQvl?&nk literal 0 HcmV?d00001 diff --git a/doc/Eqs/fix_lb_fluid_navierstokes.tex b/doc/Eqs/fix_lb_fluid_navierstokes.tex new file mode 100755 index 0000000000..41ca4674e9 --- /dev/null +++ b/doc/Eqs/fix_lb_fluid_navierstokes.tex @@ -0,0 +1,16 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ +\partial_t \rho + \partial_{\beta}\left(\rho u_{\beta}\right)= 0 +$$ +$$ +\partial_t\left(\rho u_{\alpha}\right) + \partial_{\beta}\left(\rho u_{\alpha} u_{\beta}\right) = \partial_{\beta}\sigma_{\alpha \beta} + F_{\alpha} + \partial_{\beta}\left(\eta_{\alpha \beta \gamma \nu}\partial_{\gamma} u_{\nu}\right) +$$ + +\end{document} + + + + diff --git a/doc/Eqs/fix_lb_fluid_properties.jpg b/doc/Eqs/fix_lb_fluid_properties.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3d70cd7667461b8f4f8c96c5d271ad2662e88bb5 GIT binary patch literal 3471 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 aPMXYX5pnj&dy|I(od188|2>L4p#K+iwsT4V literal 0 HcmV?d00001 diff --git a/doc/Eqs/fix_lb_fluid_properties.tex b/doc/Eqs/fix_lb_fluid_properties.tex new file mode 100755 index 0000000000..fe1290be12 --- /dev/null +++ b/doc/Eqs/fix_lb_fluid_properties.tex @@ -0,0 +1,17 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ +\rho = \displaystyle\sum\limits_{i} f_i +$$ +$$ +\rho u_{\alpha} = \displaystyle\sum\limits_{i} f_i e_{i\alpha} +$$ + + +\end{document} + + + + diff --git a/doc/Eqs/fix_lb_fluid_stress.jpg b/doc/Eqs/fix_lb_fluid_stress.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8f730e9d70d773ed72f3e8814e22e776908edda0 GIT binary patch literal 2530 zcmbW3c{JOJ7RP^)SUQwOYfVslJBli!v6L#cM29!EwiWvl4N*zdlGfU>42?+brHW$O zu~rqeRTDvLPf4{D4O%2dtZ6NI=AU=Y`}4ieJ?H-Oz2|$s=l*s1ANaGtF{HJfH2?yE z0NcX?_@4kvKoAUpK)`~BO;Au!NLWln_z($E(Ia9|2}wz)1QdE)8ZLAEguE0KDyu9j zub`l$q;y(@Wpp$46H0Z|y)(RDjB;Na)VVVAqQcM=U_vZzHnisaFv zYCH4FSK~dv@uT+xqCS#`@`aVS*s_~F}?khHd!_!X2$*Y7NgFDH^!o` zn+hQVEiLsg4N&4-`@RMflB_u8v2%}YRlVbp*)B@%wRV}C8>+XZ#|v#0#NO1T$V7ls5m7ohH3V-Z%B+m}6X(0;d64M1s+J$w-*B?52Fpc?7cboS z+~?+RWpyp(=L}pOs^N~!X_-jDls9+Rk;6a_mhts0b%L?4L6=i~ZDw3VT^Cqj<-e8b z3KsvBO!vd+E0DUKOJl9yjP!>UcxlU}Nu086s)P(C)%dR+x z5htBZcdrbiwNn+?GP(Doc_<@xK?NyibJuC=T<`T$?_NU2q?5N+`q0bbx7(8wU361% z>DMxUE4WX^X$EnR`7S)vQX|{IFz$rv&~O=h`7dyopLgC-y_8rR*EAE$IU*cByGXV~ zmEDPzxGz<>Us=Kn7~lg#fAN7%&$%9_kbzs9%>4Qk@O$`U}9FYs&J4$Q7Ad3-eVcsQf#tn!2J- zN+T!)_XxL!*OkiM#s@zY4>W95y-V|-n@T^&Iv(ju zLZ0$dbZoBJ_A^m3gVmX!!nzv1jl9`?}q21*+S>gsV2-vb=_-`4W7GU&*EluMSl@bb_VerBF9B7f8{^|lUu+F;;#EZXM%M{*~$my7aTr`VDqX z#uJuO^8tBD&Va=1SB)E$A4cS0E%I3h*<7&!$@lbik4H}A`DFz9r-rv7-7d2wXYf_2 zxd%yJ!0Ik;`b-t)!c0A{^I@8|N_FxOQc$S_%x=kAwxWtRTh8$Kl3x6W`BHwXDq=4<~&cwz&OKzTR(-p0ceF^$UC z6{jVXy||{CN3$sdE?B~#%jnCfptLo6CH#+$=NFm4-^s;j^2JF(%MHcLUJ8**oItu{ z#?g!qEgz_#m(+APw4ut@a#|QZ4U)j93CUU+3#s%v-~BA0Q8KdRX7Kz|{lbaPn}I?5 z2APHT`zS{lRboCB0>4u)! z0OfX@dQbOsmu~SY_)nrAcb<^;$ULFneM?hwa6QX7-JecPFSYH1Z__4~)F}32_Ax~} zz{nBCjSdb?l%k??%E71SR#CGoJ1|z%F!(~Pe-5k70Q#1R3C(KgC}s6hU&=Vjce7d+ zRn9o5=c-nS9R0(n#@;;iF(A)SExJAefF6H~6{y8c=^(?dB8D|d*^@}wXOX@?Y`tJ! zQUz@m4@j&+CI}W7G}McycjM|<4Fyv&7Z%$mw&gg995j2xrwLZ>H;HO!t;5`%-pMZu zBUL8z#LX;L=HWp`eF$l-1mk-zw5*rI=W!B+=a`l#HnHu3xb8}H2H-LA4e?-JsQ5G# zdg8osSDe(F#^^IHCNemw@Qrs@UqB1g3SH^;vJ;tVdFWv04#Uk};j~Q#$s5PpanG&! z`R_JQdr4W17xK&t>z3o6qE{w&489-Ti+5q3Pof8+Ty|!O6;-EmUyNSi1*G*U(Dq zO@$;ItF^I<4AW@f6g6RJdh2B%9vR4O2&y+ zhg|-G_AO3$VAU@VXU1L{)ixY3yUO(-fKj(tdJ0$4OUC^-b*AwwAJfsK}3(f$_lYXi7u?@ zRxiuyEj;p^^E}W0!}H<&@V@Wwo-=3enYlA_?wLF1&Rk)y<^gw}scWeNh=_;)n%4_( zH3d)wkP?%SkPwqz6H-#rn`D&aWY?gkptwazLrqIdLrp_N$H2x&cbA2phK7lYiG`h= zlarH`xmz#suhRyCcGPlnbe{e{vuhaK_D90o#kKvLUOzsq;E7Mb$Q=6M16}K$ z6opdP$lVTIOkpxS4H9D;6J4~ncYxG$UjZ=Wk@@yn8g@r>Mzf87?V7C0Rd;_gp>(k; zksWA9R2=dTqCwzK6pYJzk$z zdTrcK%5+6qm=>0ak*0)kmemBdwFXr(_Z zZ!iXMb3dq3>G50TaB>-3B^XEadNU(DWQYe2rz+x(`PJ)pO)KfMMl}>@zbVNA-8{h~ zQf%Z~D(puH8jV%Y40BRt=YeIyNm=Vej!z$#{aNl~@JZW8%1ZKDroLa*`WbZe(IbtT zvqZzAS(=KS?Cqdp8X5*&9A|VJ2)Z0e)$8HtCtDJxsAn{widnz(t91H$xEkuHiqNpEpK-4hV+Y8$HLh~kBYC;jm{zgp#CKjt5v zyZ8!2Q3kVZn~f$E%42&sj!{bwY#r1R(BR4dSVu;MVQQ`V?(KNkhzg#3d(YxQTP3zy zuRhILm)?)t^;J^u?)bN$9>p+ow$MZZ{%KDhW*^(uYU!(uj)Sk#w0^huqASFnT|}p- zX%jp*VmVjLjqo@liKl7{hTHP`zr!0^_WSiz=reE$vO{eR)l`1$zXQxC9F9ld9dHGH zeG99LG4F3B(@$Ecur+Hh69s=7jdKm1y1lVoxO+k`7FAFeR2O53SJRd3al`hBJN8D* ztQ7WM59VkWH($L(M7Ffc@i>e)a?1R{7x_CcXun8w%C?RE9<}9};9f0;b#A9L2 zb}JV?%xeutUycHgO!O){O;t@z@(!3Ly+;BN#P8Pc&&(OwLawuJ(E1O{h`*1J(Z{nn z?WBg1*Y5=SP8$WTv#t0F&^~tsFnS(%#{~MbTEbI2U?Z-xD>Uk*d3Cb242p54uV2tj zgEEcR%dK6NO*Fog*Uf=PG(Rq{jau)_Ueiwi8+# z2e-+J@_d6WQseX$fMp~^pVDR4UFCZ$3CMMJy_^ztR$Ekl zL|QvvVAZfEI~VJ^sXA@0P=wGwSksgZNQZC)e`2Fdn7a^fLH_NfM`X2 z%k=Blx}4zkcSa_VgWkV|AVt7n0nH!!s3BCR8HHYswjb#(N>2)N=Qc00UV>;kDKH@E z+1B6c@_*Bw+H*qqK`Q)1YR&i}R9>*AKdQ`lo!tdVE9HY^8ZtNC5!P|z*wk_#qBvgA z360xV5@nR`z*&_@nZz+R5t~?o7_inEVH7#6Em_iMKK!%MnTxBxn3R9Qt7p(v4&{Cq zh{-mc0ZW^}=PZ8a&Tz94DV{9Hp9#quDt9!d77F(b)fN((z#l0XE4#U?P49yQ1`Cac zw3PEnEkmgL(icOKLar2fNmhS+qaqU@_XG?4wtAFRr;BVT`6KAM*|uCOAu2PuXCj}V zUt*EtsVm;a)Va@7(bvg_mzNf7gGk3g&+9y5rP;WkhD#Tzv0p*GRjptt4MmIQ;-tVD(QP*#Z~wSM7PEi2 zxdod}(&N%(h~2*3hNbf%jG!tH6sOofW!Vwq_cHcE7dUxO3D#{4r;#5o7-9v(n}1#b zB)r_?r1(!xVz5JG`TG`te+I4qcigxt>(SH6v>sGwSUK?K*Kg|z`Lk73pXVf^&bmNy z@hu4NU)}pROeH^~u$i-C>*l9#F%troALxLEE{H`U*nUM_Lr7M8l$pnJ^(~9oas@X_FR%B5mWC&lq__h2ukRUn1-ZK<@Yb-jbMV0DlIn&%;Sb;hQ8AE3V?2oAAhVnTUEP zTKr6OqeRk><|Cc}&hT=Nisya)Dw1GUl*hJc*e0`p-9z8GnW0L)4wju?1jTlD zTccf9fXkk_BmN20TWm>;$YhtbJN5o8dO{tu^@MAn-GlSIblnbL{*MY==xq9+Ahj(A;vxU4 zFw!!9`wyY7?3KlqLw&jX{W^V5^!ulKI=9S#>XK@B5~RL|#+WlRw0A>C zYe#CBqhSzc)kvd=BhQBs$j)u|mk{t8cHFB0FXX8{Ym86Z`MQ=MIio3_P3VD72Zg6j z%#}#`*;n!ZIOTz9OVb&5NP!oQf;CEq@a=?w*U)}Fo6l*woNvbe#2vUAiWT^~Z{6(TNa z?}Jh*W9lRy{FZtxZ|xpSv@b+tb2?2$@w&^EZb7D$)nhgYr{=HPl_MCRCNK3Uc{+zk zu*&V^Qox{huSH^ST$KLdY@f~B2?l4w&uGMu`u0IOqijB-S8H*8Iy>#n)+)BVDA?N) z3bvN|eVdvHmO9B_OcZ^BvXxO`i?d7c!0(z)KKQ$1&Ar;o1}9kB_JgsamH@LxH98Ko z^J;L+b^dz=1#n&(L=(byc1yCGliyGIGd_Uc>r0UB=&|Ru*1G2$as^<3i#-ZX9b|FlMDx>?P@kR)vAtZjl7g20onn)?*FZReSq3NsBe3XMsvMDlz{kGEy2c=6yrnm&C__b8S}R za$Gj=3cyHr1+Z=vX|tD9y-(E&=Jp7x5KaE2HxuM(oo)&BLm5D~5l3!#vaeVvZ~gDc z{c%_08tPANjWE65)!H`6ng|&cdCE7z(lYe{w@YN!e0h$+SRL^!%raNAD^lordW2F{ znXdpY`)>9d;;&r>&@D}%4tvKey0cg2|K#z1(SSxtBV@$u^)B=8t zg{-){JDT=ywnk0fqsr|C#d-v3aF?@T*XLH~#BIXW8TyD96Ho#?oVNW5vMncTn~;_P zg%^X<3PxNW^^+SDwUm2q>5f{05)U$Y_XPSSV!4VKy?O(>>PJ|s&b-oZJB|9S5A2yt z{Ww`;r}b#{kz_+-@tES+pDMi;sE86U?DB_xDsZq|`_Z zo5pO*CoTE@F`4@CL!O8*LS1b=B_khZ#bKmIk2N-Jir1}N;pW3d(L0l@K#Qt$NmS*% z3v%vRcptTX=zlM9Xk;gR_g_C!NjeyE zuKPJ#s;rdRopEWMc$l~OM9x{B9AnNU38@OoeXE&}p7ca^g4=NlQ*&FK{DF5HEAu@T zjXJM&1Wz0w7*`wUsM?9Ef)u8v?N72b`;%6~yICOTk;!)cgfr<0DS;1VRw+8+x}Q4%?Ie*aeTz8JegCtqJt${ zGjJ% za+Pm#_b1IWonEX9Di&PL6bDuI@ISZh$k222a(`>4fWoxT`lhzx_Enum}>5W>eRf&g+Rkt55v=2f!3pR&Otegb*KI>DI^!dEsg)&3 z7p?%2{*)oa^crb4<*y~2`x1lSR`@0>PVxnz{mpj*bkf_J<3?3ANe&t6n>4Tc9FI7G zB*Ua-xg$PSop)Uz7#07!QJ2~EGv15u#YAFi&tYI^sXCHk6oTh)GjM$yapq(2 zQ<<&bvRU~-55z3KaX=+NJ|fVNW708gBAQb;UnH`o-RQ+}_Ca5uqvK%b0K5H1w>1$) z6!TKK_-vmDV#f=aP6TYh!13YZ2jQx!UThjxlTYfUgI@J6oxuoDv|-V3wRbIIr1uJN z`ktM7o+IR~%K$ZnJl%%(sOT|w?j}WO|9Q|~YjOkRGQn#WRoUQ`~ed2*Pw7;u# zboxg=d0~A|NIC^~$|;Vm^;#~0^!b9?nvIROIp2*!y}6^6Ip6=lRVvLYQ$tIvAJ3m! zR&>we3&*w-qUhq&8Bnc_EtT4H}%0d6b(P{ z%a-;qbZWVLeb3m%JdhZa)qkLlh8EDt<&4ba6)l2bt1^d}_dhTxK86ZPis{pf`)?XD zc!eIV->){C({R5LvJj= zUMz}bwq5FII@@{rvcB!Y&UxId<+}RIuW zt0TsHk3rYX_zI<$a+v>VxhXe)@$aDbyn}q@KFr*U!?=vI{a@Yfw=A5x=a1m(rh9U7 z-aB4@kbhVPcdr25p3Q@s{LK`}HZ?N2s@CzGTq30V9fOAH(2EX?^JiWCs-*A-}Hx^6+~O-#E^LVYVv_Rg}MP` zXVlIWd2$X{WWc)eDEA<7zB7^eGNtNY(heT1y_K_UsDK8 zVmbt3;D=hQhtX0noA)Ol;3tBijnzz}*Zs}g!0&K*ABw5>ZlWKHF_S3`^iA$(qN8Y| z2&D}E4KCIqR{SZ*XHI1ExjRwihObdcOx`QYD}dPIcVCv~&+*lfC1kv<-OMY2&cD6a z`Xgpwp6z{Sh}#jzlJS@M$;ughBay7`N&c@Ov;!wB z3SpoqF6ah_Q=P<)>DtLolM!Gs(LF@j`oj@xLQ}|c%&CA-l!$SSd|z&Wl-KM+L93kO zCuzZY9#F+o_hByJA zifCiHS@*_XcKhzGo14r6b6OV_LsX!>qnP2!4?a>gcQW~^*7>M23E$4c(op1%&=;g7 z&TdgbD}h-54&tpzVJW-#JTF#>F9bqmMb~N4%UStVgD5!*j&r1A&8LehW=$#-L==nuxjIQpf zHbQYe-Y*DaD0Kcr{M(4nwyXWHle#<_Tb@sX3!nHaPrG!C#^WzXIG{!fGQ*^p{`7a}VeQ?&&Af zHG4~Z(f9^hxtM;esQkI*Gxz`CL%+KdSnmq3&)9M(j~1n?7;b%Jj|fX*xr_wtN_me_ z>%JUsG}`$@h~=a&lvH4+F-acSWZ?0NPcx%!UDx7)^6n{I|1*$zD!cmRQBhH)=I^6D uoMyr0RUT!kG-mfnPu4M?##$m?0-0?0L!1G*dBYYj|2y3O9}MHw + + + + + + + +
+ +

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. [1] + +
  • 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
    +      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. 
    +
    + +
+

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 +

+
+
+

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 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 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. [1] 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. [2]. +

+

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 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. For this, +the user has the choice between a trilinear stencil, which provides a support of +8 lattice sites, or the immersed boundary method Peskin stencil, which provides a +support of 64 lattice sites. While 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 fluid mass at the particle location, and dt_collision is a collision time, chosen such that tau/dt_collision = 1 (see Mackay and Denniston [3] 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 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. [2] 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 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 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. [2], 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 cases. These integrators should not be used with the 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 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 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 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, 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 set the default way, the surface area associated with the MD particles 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 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 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 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 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 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 value, and a +positive integer random number seed, a thermal 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. [4] is used; however if LBtype is set equal to 2 both the LB integrator, and thermal LB algorithm described in Ollila et al. [1] 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 +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. [2]. +

+

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 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 +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, +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. [2] . 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 +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 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 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 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. +

+

This fix can only be used if LAMMPS was built with the +"fluid" package. See the Making +LAMMPS section for more info on packages. +

+

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. +

+
+ + + +

[1] (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. +

+ + +

[2] (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. +

+ + +

[3] (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. +

+ + +

[4] (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_fluid.txt b/doc/fix_lb_fluid.txt new file mode 100755 index 0000000000..9cd8645ea3 --- /dev/null +++ b/doc/fix_lb_fluid.txt @@ -0,0 +1,281 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix lb/fluid command :h3 + +[Syntax:] + +fix ID group-ID lb/fluid nevery LBtype viscosity density keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +lb/fluid = style name of this fix command :l +nevery = update the lattice-Boltzmann fluid every this many timesteps :l +LBtype = 1 to use the standard finite difference LB integrator, +2 to use the LB integrator of "Ollila et al."_#Ollila [1] :l +viscosity = the fluid viscosity (units of mass/(time*length)). :l +density = the fluid density. :l + +zero or more keyword/value pairs may be appended :l +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 + 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. :pre +:ule + +[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 :pre + +[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, + +:c,image(Eqs/fix_lb_fluid_navierstokes.jpg) + +with, + +:c,image(Eqs/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 + +:c,image(Eqs/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, + +:c,image(Eqs/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 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."_#Ollila [1] is used. + +Physical variables are then defined in terms of moments of the distribution +functions, + +:c,image(Eqs/fix_lb_fluid_properties.jpg) + +Full details of the lattice-Boltzmann algorithm used can be found in "Mackay et al."_#Mackay [2]. + +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: + +:c,image(Eqs/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. For this, +the user has the choice between a trilinear stencil, which provides a support of +8 lattice sites, or the immersed boundary method Peskin stencil, which provides a +support of 64 lattice sites. While 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 + +:c,image(Eqs/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"_#Mackay2 [3] 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 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."_#Mackay [2] 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 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_lb_viscous.html 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."_#Mackay [2], the built-in LAMMPS integrators may prove to be unstable. Therefore, we have included our own integrators "fix lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html, and "fix lb/pc"_fix_lb_pc.html, to solve for the particle motion in these cases. These integrators should not be used with the "lb/viscous"_fix_lb_viscous.html 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_lb_viscous.html 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 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). + +:line + +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, 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 set the default way, the surface area associated with the MD particles 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 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. + +:line + +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 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 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 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 value, and a +positive integer random number seed, a thermal 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."_#Adhikari [4] is used; however if {LBtype} is set equal to 2 both the LB integrator, and thermal LB algorithm described in "Ollila et al."_#Ollila [1] 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 +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."_#Mackay [2]. + +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 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 +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, +the fluid densities and velocities at each lattice site are printed to the +screen every N timesteps. + +:line + +For further details, as well as descriptions and results of several test runs, +see "Mackay et al."_#Mackay [2] . Please include a citation to this +paper if the lb_fluid fix is used in work contributing to published research. + +:line + +[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"_restart.html; no information about {lb_fluid} is +written to the main LAMMPS "binary restart files"_restart.html. + +None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No global or per-atom quantities are stored +by this fix for access by various "output +commands"_Section_howto.html#4_15. No parameter of this fix can be +used with the {start/stop} keywords of the "run"_run.html command. +This fix is not invoked during "energy minimization"_minimize.html. + +[Restrictions:] + +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_viscous.html, "fix lb/momentum"_fix_lb_momentum.html, +"fix lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html, and/ or "fix lb/pc"_fix_lb_pc.html , 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_lb_viscous.html fix if the force coupling constant is set by default, or either the "lb/viscous"_fix_lb_viscous.html fix or one of the "lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html or "lb/pc"_fix_lb_pc.html integrators, if the user chooses to specifiy their own value for the force coupling constant. + +This fix can only be used if LAMMPS was built with the +"fluid" package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. + +[Related commands:] + +"fix lb/viscous"_fix_lb_viscous.html, "fix lb/momentum"_fix_lb_momentum.html, "fix lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html, +"fix lb/pc"_fix_lb_pc.html + +[Default:] + +By default, the force coupling constant is set according to + +:c,image(Eqs/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. + +:line + +:link(Ollila) +[[1] (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. + +:link(Mackay) +[[2] (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. + +:link(Mackay2) +[[3] (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. + +:link(Adhikari) +[[4] (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 new file mode 100644 index 0000000000..72e85e1e21 --- /dev/null +++ b/doc/fix_lb_momentum.html @@ -0,0 +1,80 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

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 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 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 +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 can only be used if LAMMPS was built with the +"fluid" package. See the Making +LAMMPS section for more info on packages. +

+

Related commands: +

+

fix momentum, fix lb/fluid +

+

Default: +

+

Zeros the total system linear momentum in each dimension. +

+ diff --git a/doc/fix_lb_momentum.txt b/doc/fix_lb_momentum.txt new file mode 100755 index 0000000000..1916a65f3e --- /dev/null +++ b/doc/fix_lb_momentum.txt @@ -0,0 +1,72 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix lb/momentum command :h3 + +[Syntax:] + +fix ID group-ID lb/momentum nevery keyword values ... :pre + +ID, group-ID are documented in the "fix"_fix.html command :ulb,l +lb/momentum = style name of this fix command :l +nevery = adjust the momentum every this many timesteps :l + +zero or more keyword/value pairs may be appended :l +keyword = {linear} + {linear} values = xflag yflag zflag + xflag,yflag,zflag = 0/1 to exclude/include each dimension. :pre + :ule + +[Examples:] + +fix 1 sphere lb/momentum +fix 1 all lb/momentum linear 1 1 0 :pre + +[Description:] + +This fix is based on the "fix momentum"_fix_momentum.html 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 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 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"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No global or per-atom quantities are stored +by this fix for access by various "output +commands"_Section_howto.html#4_15. No parameter of this fix can be +used with the {start/stop} keywords of the "run"_run.html command. +This fix is not invoked during "energy minimization"_minimize.html. + +[Restrictions:] + +Can only be used if a lattice-Boltzmann fluid has been created via the +"fix lb/fluid"_fix_lb_fluid.html command, and must come after this command. + +This fix can only be used if LAMMPS was built with the +"fluid" package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. + +[Related commands:] + +"fix momentum"_fix_momentum.html, "fix lb/fluid"_fix_lb_fluid.html + +[Default:] + +Zeros the total system linear momentum in each dimension. diff --git a/doc/fix_lb_pc.html b/doc/fix_lb_pc.html new file mode 100644 index 0000000000..380d372858 --- /dev/null +++ b/doc/fix_lb_pc.html @@ -0,0 +1,65 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

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. [1]. 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: +

+

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 can only be used if LAMMPS was built with the +"fluid" package. See the Making +LAMMPS section for more info on packages. +

+

Related commands: +

+

fix lb/fluid fix lb/rigid/pc/sphere +

+

Default: None. +

+
+ + + +

[1] (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_pc.txt b/doc/fix_lb_pc.txt new file mode 100755 index 0000000000..aa37939929 --- /dev/null +++ b/doc/fix_lb_pc.txt @@ -0,0 +1,58 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix lb/pc command :h3 + +[Syntax:] + +fix ID group-ID lb/pc :pre + +ID, group-ID are documented in the "fix"_fix.html command :ulb,l +lb/pc = style name of this fix command :l +:ule + +[Examples:] + +fix 1 all lb/pc :pre + +[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."_#Mackay [1]. This integration algorithm should only be used if a user-specified value for the force-coupling constant used in "fix lb/fluid"_fix_lb_fluid.html 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"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No global or per-atom quantities are stored +by this fix for access by various "output +commands"_Section_howto.html#4_15. No parameter of this fix can be +used with the {start/stop} keywords of the "run"_run.html command. +This fix is not invoked during "energy minimization"_minimize.html. + +[Restrictions:] + +Can only be used if a lattice-Boltzmann fluid has been created via the +"fix lb/fluid"_fix_lb_fluid.html command, and must come after this command. + + This fix can only be used if LAMMPS was built with the +"fluid" package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. + +[Related commands:] + +"fix lb/fluid"_fix_lb_fluid.html "fix lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html + +[Default:] None. + +:line + +:link(Mackay) +[[1] (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 new file mode 100644 index 0000000000..973c31983c --- /dev/null +++ b/doc/fix_lb_rigid_pc_sphere.html @@ -0,0 +1,148 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

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
    +    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 +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. [1] 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 hydrodynamic force due to the +presence of the lattice-Boltzmann fluid. 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 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 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 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. +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: +

+

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 integration fix cannot be used if the force coupling constant is set by default. +

+

This fix can only be used if LAMMPS was built with the +"fluid" package. See the Making +LAMMPS section for more info on packages. +

+

Related commands: +

+

fix lb/fluid, fix lb/pc +

+

Default: +

+

The defaults are force * on on on, and torque * on on on. +

+
+ + + +

[1] (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.txt b/doc/fix_lb_rigid_pc_sphere.txt new file mode 100755 index 0000000000..a0a697b7ef --- /dev/null +++ b/doc/fix_lb_rigid_pc_sphere.txt @@ -0,0 +1,138 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix lb/rigid/pc/sphere command :h3 + +[Syntax:] + +fix ID group-ID lb/rigid/pc/sphere bodystyle args keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +lb/rigid/pc/sphere = style name of this fix command :l +bodystyle = {single} or {molecule} or {group} :l + {single} args = none + {molecule} args = none + {group} args = N groupID1 groupID2 ... + N = # of groups + +zero or more keyword/value pairs may be appended :l +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 + 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 :pre + :ule + +[Examples:] + +fix 1 spheres lb/rigid/pc/sphere +fix 1 all lb/rigid/pc/sphere force 1 0 0 innerNodes ForceAtoms :pre + +[Description:] + +This fix is based on the "fix rigid"_fix_rigid.html 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."_#Mackay [1] 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). + +:line + +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 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 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. + +:line + +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"_fix_rigid.html +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"_restart.html. + +Similar to the "fix_rigid"_fix_rigid.html command: +" The rigid fix computes a global scalar which can be +accessed by various "output commands"_Section_howto.html#howto_15. +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"_Section_howto.html#howto_15. +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"_run.html command. These fixes are not invoked during +"energy minimization"_minimize.html. " + + +[Restrictions:] + +Can only be used if a lattice-Boltzmann fluid has been created via the +"fix lb/fluid"_fix_lb_fluid.html command, and must come after this command. +Should only be used if the force coupling constant used in "fix lb/fluid"_fix_lb_fluid.html has been set by the user; this integration fix cannot be used if the force coupling constant is set by default. + +This fix can only be used if LAMMPS was built with the +"fluid" package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. + +[Related commands:] + +"fix lb/fluid"_fix_lb_fluid.html, "fix lb/pc"_fix_lb_pc.html + +[Default:] + +The defaults are force * on on on, and torque * on on on. + +:line + +:link(Mackay) +[[1] (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 new file mode 100644 index 0000000000..e151859331 --- /dev/null +++ b/doc/fix_lb_viscous.html @@ -0,0 +1,94 @@ + +
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +
+ + + + + + +
+ +

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 of the +built in LAMMPS integrators; it should not be used with the +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. [1] . 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 +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 +be used with damped dynamics minimizers that allow for +non-conservative forces. See the min_style command +for details." +

+

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 should not be used if either the fix lb/pc or +fix lb/rigid/pc/sphere integrator is used. +

+

This fix can only be used if LAMMPS was built with the +"fluid" package. See the Making +LAMMPS section for more info on packages. +

+

Related commands: +

+

fix lb/fluid, fix lb/pc, fix lb/rigid/pc/sphere +

+

Default: none +

+
+ + + +

[1] (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.txt b/doc/fix_lb_viscous.txt new file mode 100755 index 0000000000..2571d913cc --- /dev/null +++ b/doc/fix_lb_viscous.txt @@ -0,0 +1,87 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix lb/viscous command :h3 + +[Syntax:] + +fix ID group-ID lb/viscous :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +lb/viscous = style name of this fix command :pre +:ule + +[Examples:] + +fix 1 flow lb/viscous + +[Description:] + +This fix is similar to the "fix viscous"_fix_viscous.html 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"_fix_lb_fluid.html 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"_fix_lb_pc.html or "fix lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html 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. + +:line + +For further details, as well as descriptions and results of several test runs, +see "Mackay et al."_#Mackay [1] . Please include a citation to this +paper if this fix is used in work contributing to published research. + +:line + +[Restart, fix_modify, output, run start/stop, minimize info:] + +As described in the "fix viscous"_fix_viscous.html documentation: + +"No information about this fix is written to "binary restart +files"_restart.html. None of the "fix_modify"_fix_modify.html options +are relevant to this fix. No global or per-atom quantities are stored +by this fix for access by various "output +commands"_Section_howto.html#howto_15. No parameter of this fix can +be used with the {start/stop} keywords of the "run"_run.html command. + +The forces due to this fix are imposed during an energy minimization, +invoked by the "minimize"_minimize.html command. This fix should only +be used with damped dynamics minimizers that allow for +non-conservative forces. See the "min_style"_min_style.html command +for details." + +[Restrictions:] + +Can only be used if a lattice-Boltzmann fluid has been created via the +"fix lb/fluid"_fix_lb_fluid.html command, and must come after this command. + +This fix should not be used if either the "fix lb/pc"_fix_lb_pc.html or +"fix lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html integrator is used. + + This fix can only be used if LAMMPS was built with the +"fluid" package. See the "Making +LAMMPS"_Section_start.html#2_3 section for more info on packages. + + +[Related commands:] + +"fix lb/fluid"_fix_lb_fluid.html, "fix lb/pc"_fix_lb_pc.html, "fix lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html + +[Default:] none + +:line + +:link(Mackay) +[[1] (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/minimize.txt b/doc/minimize.txt index 7524377290..286c4baac9 100644 --- a/doc/minimize.txt +++ b/doc/minimize.txt @@ -61,7 +61,8 @@ Optimization (Procedure 3.1 on p 41). The "minimization styles"_min_style.html {quickmin} and {fire} perform damped dynamics using an Euler integration step. Thus they require a "timestep"_timestep.html be defined, typically the same value used for -"running dynamics"_run.html with the system. +"running dynamics"_run.html with the system, though it may be more +efficient to use a larger timestep. The objective function being minimized is the total potential energy of the system as a function of the N atom coordinates: @@ -124,7 +125,7 @@ freedom, such as from the "fix box/relax"_fix_box_relax.html 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 and +information about the energy, force, final line search, and iteration counts. An example is as follows: Minimization stats: diff --git a/doc/units.txt b/doc/units.txt index 2e0a991b7c..faf498d226 100644 --- a/doc/units.txt +++ b/doc/units.txt @@ -12,7 +12,7 @@ units command :h3 units style :pre -style = {lj} or {real} or {metal} or {si} or {cgs} or {electron} :ul +style = {lj} or {real} or {metal} or {si} or {cgs} or {electron} or {micro} or {nano} :ul [Examples:] @@ -142,6 +142,40 @@ charge = multiple of electron charge (+1.0 is a proton) dipole moment = Debye electric field = volts/cm :ul +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 +dipole = picocoulomb-micrometer +electric field = volt/micrometer +density = picograms/micrometer^dim :ul + +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 :ul + The units command also sets the timestep size and neighbor skin distance to default values for each style: @@ -150,7 +184,9 @@ 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. :ul +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. :ul [Restrictions:]
LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands +