From 42926d75823c81af89ad494f75c33310f28fa9a5 Mon Sep 17 00:00:00 2001 From: Philipp Holl Date: Tue, 28 May 2024 10:21:54 +0200 Subject: [PATCH] [doc] Check-in mesh examples --- README.md | 10 +- docs/figures/examples/mesh/Build_Mesh.png | Bin 0 -> 33850 bytes docs/figures/examples/mesh/FVM_Fluid.png | Bin 0 -> 97391 bytes docs/figures/examples/mesh/FVM_Heat.png | Bin 0 -> 60143 bytes examples/mesh/Build_Mesh.ipynb | 772 ++++ examples/mesh/FVM_Fluid.ipynb | 4800 +++++++++++++++++++++ examples/mesh/FVM_Heat.ipynb | 1215 ++++++ 7 files changed, 6791 insertions(+), 6 deletions(-) create mode 100644 docs/figures/examples/mesh/Build_Mesh.png create mode 100644 docs/figures/examples/mesh/FVM_Fluid.png create mode 100644 docs/figures/examples/mesh/FVM_Heat.png create mode 100644 examples/mesh/Build_Mesh.ipynb create mode 100644 examples/mesh/FVM_Fluid.ipynb create mode 100644 examples/mesh/FVM_Heat.ipynb diff --git a/README.md b/README.md index 692eacec2..23dfc5a0f 100644 --- a/README.md +++ b/README.md @@ -76,20 +76,18 @@ making it easy to build end-to-end differentiable functions involving both learn ### Mesh -Meshes are new in ΦFlow 3.0. We are working on the demos! - - - - - + + + +
FVM fluid Heat flow Mesh construction
diff --git a/docs/figures/examples/mesh/Build_Mesh.png b/docs/figures/examples/mesh/Build_Mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..012ddf91d2077ed464e232b18b237b3275ae7481 GIT binary patch literal 33850 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 literal 0 HcmV?d00001 diff --git a/docs/figures/examples/mesh/FVM_Fluid.png b/docs/figures/examples/mesh/FVM_Fluid.png new file mode 100644 index 0000000000000000000000000000000000000000..9ca4fb3f79f8c759cc24fd9a2dd1a8bfa98b724e GIT binary patch literal 97391 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�Z0KPNa$ij93EPYuRI7^cke9l;=RfkOTW1+{vq> z#f6%ju+y|5(N^e?;^Oaq*i~v^jp??@AKRxz~|K^Hx z8TlD6zK{JdU*;|c#+ql~l1x*k-qC5=#>gEJyh}KOcvG_fqek<&hzn^cQWEN#6Zec) ztev@>i;~)MgeD8!-#r!07fe=~-vo8CMC{+MrpbRk3O}kWZv^E?@7g?H>4>miyDXE} z)x0DmtfswPHcPvc)lCPzHbeX-MQ)1|R_MD1KAbL|;0E2BJuhwet3q;X69NxAnFflW z>HUTU`6J-|7H`GLAL4K~B^nenCIp?R0t<%!ME1Lf?{+-*-GpZvjqTi@7BM~7^nNJ! zdg*mSCil6kAou;*3Gv!s5mH*RBlGU;yi{4=erS6SsA+!Qc>ma1a@uv@sqganZY7~} zZ2jstFO&Vy*?ZOEYQVWq6*SvF7c?%Ob2}OEV_Po9T&n@Qoq!F_n}0g_7jNUQ%g1iZaFiQH zpN_oNH1*$i{#&(P%#ifFp`yxM9?2*qbKDmubkH@&Pu~dGt0ld7_TCLV40RCp8XA4R zm{AMR;PH0vMvo)A3;d&EzOR8q|K6|OZ`ooP46%a8g!~LsiD%m?~OCUA`nyo zLp1S?V#t&uxgs|XYib=hOYJ%Yx)`Pl|2;sn3^U-PE)xJE32LD!e6An{Wc8xaT zn|V}Cx>nZL2m*r(6Jr12%0nn8@8X9tAqio3(eib9t46_Y5b|J&%nOut)fyo!x^Yxs z2pM0keA$=G$%;&~|MR31?kn-25j0TdS}fhE!?JAdfa?3|Ei)fFe`Zqkfd8&_sr44$ z{#@l?=1zM;TG0^*VYjOt6xG;4_zl5;y#GO0jvX_Z$^Wz17O*_6unSkizPcNUVc_Z2 z-uYsEe&@=MTYN()!12*dd?t`1-LhFuVpq6fm}Le0O`^R%IZ4!TxX?xOJRKdsM@F5Y zkAJ*W^rhdcRKgQm8Prl2FInjoT=qc$ISr2Qn2Cb4uYdlRT`-aa85jbG7}0%9iiEUp z8FLjJM&+REC=bdMIoqK!0!qWYB_|R8ur|!&$oZSc*D_>D#{z*d7|1uYC0P{D7fKdV z#%;z5GBW~?C})xxd-kal_k}RiQC~&7I5Wfk!xmdpP~i5BAU-`L+j%z@*fS*0W?)BQ(z zrN8--b3XrdUg~5?5_EYW9o|2Fd-{}?;e5uPj?T<}uY+^LuEOjZvoq+j&7K4LGYGl9 zl6@QwNUW_3AV|($6qFwlcNAq1>MFyB7a`hzmD6fft?jUj{=HG#1(1zP7@3j^{h)%c z;k*AEC`*NxEt4Ngd{dbm7n4nhAD#0Wl)4j*`UlZQO)erIf9Ts^>-(EBv$1Iqg3p#6 z7VTM$Hz&?llefj|mU`&dZce!#oZKQfLbkEE zBPc$Q@2b{_W%T#=Rxa7%PCn{bkfL0Xf=ke3(Pw6D@@`*;e}P4s$PDilOnF2cX>=vr z{_@-mHA)jpF(`OnFUi&3CpAjG^~W2!@C`3hqZk+}nrO^x@=Ea?{PjO#b~AGP8|`j2 zgmT^gfXfu*qPchcrHvweN>@$XJFNF1{K~o$KgfeZhD#?#BQTmvq*^Em`}RCP_C$It z$bL*-9_6L_tgg=@}2$fT_2pQkhSRR?VN>+2T4^G=Yf<1-O#3G9; zReI*ZPp-i%cc{Vyzry$NBF#)E2J{Ysa?`0Uv{h}>8E}Vd;ajCP_+r~fgS8N@^m>do z2jtF7O~M3+L78RMxTOEm1X*L-W$DRMd#e?ax2wOqxBCx+ z5#A(#j!ZZHYFNih|^Eb#FOuq1fP;i)ljaEcyb;v4??rlw#|u@6(_# zlur-w3kS?KatKq+l7#Wk82FT!xqw?2w}*esr#-?t2dJJ017)N!)iT2Vm&Ss@ftYu* zrP;u^Y!T>gX!eazf??ZmB>VbHjpBe3@$^8$T8GbIARuJ+5cqi>!VDEj$&Yg@XfJn= zTk6>SY-CSipdEk?bEw7C9-P$THguTxcsLyBcL?{_Bfjk!-qMx~td?6eL7m5p4LZdz3cflnDl=>jlNmxcHr!t!m^)u(Yu?F~)V-f7v zEi3V2$r`s%9QY~(lfD=|c05Zh{mP+H;YFQEyygel&(u_fs@d4=^Y6{0!r9b)(q=6w$s3}5X0x@sxR^#d z%j!HHO4}q{pKBWPiATUR=lZ;f3jEvKFS49LhPvx0s z3c+l!MZat;G>VLZc!CMO*n;$6#lv&W; zS`CJ#^oTkA+-Xvf3@#~}Kg==ZrlTocJ{%vxYYF{7&&{szM&<1>cteYA?JpOyB?mTSXPr%*C&psM02mXZ$o?iBBxourZ}-o#cJlSxlpDiQ z^a@#Lvh$_fSgwO#lm6{CNU=^vV-ZL(zVMrUSd?TdkR-$CKf^yo2bC0h>wiAc&p$36 zUF*+}hA#SdixH)K**Zi0mP^({s{U5HzHFC4ALaZIc{`-abY{f1%}9$SE=%Z)Pv4V- zV6A(JJD}rVP&WKSsV*@cd)p9JmE!9Vp>u2TU@M$gEZV2ghv6Q~e`zp%LRw3$9K0vs zFS%&BU!O$3ca(l`8BU{Qmy4-k9mL|TjJ^mVF_tHZJbY2 zkxG)?^CS5Iy#F-ljfxkRQVi%u>C;6z}%Pt8rwLsCJXw0qbiHx ze$-y&+@O?GQI}Evik+zVmCOF&?64KDlh7Q2Yxz7iSxmAS-eHV{v*y>~c>c>z{2mK3 zP9cb|2Mt7LhPea^5<1%{pz`(wT?+^u=6@8y^76jfjrsYCY$9$QPXi6Rh4$ROzB;{Ow>o9yxzRfVzu? z{0D7I8yYR`s{C!dGX#7EScbJa?c?Uz!QUea4pLBCD?8Vw=~!C}=XW&M>W0dVyN04^ zE7)40>j10{jq2FH%8M&rMx^_VCMe>UFG>a6gj>Bf&B|1k9_L{EUz*sb&a-m+_ zpzqdf6D~q_BLbU~ip3jVC>}|~SFCv>uzeDEir~aH1)`4jaOx4g-=z7UL#$E^>YiFX z$>+E&V;Gn(K`Ygr3tg&x$MJl>XhiCxWW~Z2WGpBR3-9&CavA1^>t7A+Yw1`VZ2LPs z3Z*(IT=?r7ek_5&xG+pf*$cu_J#jD+BvmlK;PDL(vweGvEJ{2sNXNPIa}q1*Q)Ch` z#1^zZNcvNFqEqxEf5QFHU2X!$dj$%OnWhvfXU4-QSVNS}2|f|=s5#{)%QfEc^Ph{9 zRq>Ss@L`i>EYWk?Kio)@8$2hFH@?!xw+5VFUN>D2d@zw)XH`QDIO$C?YC8A!=02*6 zNu%|QVAlhqU`+#0WbpU*^(UEI%(?UpjcZp-e1k&c4kRXr zj@oR~V>qD$i4vEU1=^XZ+j`UpM5hXlhN$pOno;#0T9KG&1T<>GtzJ{m0?*jmWAt5R z{QFszq3|m4|0uS7sLbhg{iSKvU({7u$;VNronB*}+cdEh(7KGn$Pws7a^m%AyI}*} z%5#(XZ!vt#)}mT7dLNDGWw&}d<~w%bk+d|GhV(}^OjDYU-b3smrI=VwD=gTJxlnw#DFx39 zC(KK7nv8r1a4I(-3dxFos(T0{uVWE;`prW2It8_T|y*d;S@I|J|0F+Y{l2X$(?P8+P@H!nE`HqZ!{-0NQQhFTW-zLXKn+As1#} z#dA&O){WQqr3#zOtNw%Dk+Kp*Q&Qb}**CO(AbBYcJ1VZIs;r#6b!R#=HhW~>jaJTG zIlU_NOk?}*CQN>IZFZSq5iq63dX!7bf;=-yMw31XCw8h=i{_++mUN;+ibo(&XNHYy zT0qBADU8d(g%E~LikHXwZFrh6h5G#>Ie?F0Q)RohrGWlMifdvLsdl@|c&EGXgIPDb zEdDUY8O)j96}^e3*Wz*#spxP@U#J)O?~Ds?ejcB)Zg@2xpu3J9f&TeF!W7nCwEh+` z=AxammufsvY3S;UTj6bjoYdmp!}kZ`^n?%lkrZ@5%@cK(NYU-LHS$;T1rJ@tPNgIY za~ShaZ(GNNR`1ebXNTxyuBBv@m%i1JCb7fmwTi|4!_SU8aYoT{mwdH!={OR4KadB= z{>1MjGo^~+PYtqBT0ZGBsJEI-$TJ$h_zt8ej&};34Tl=QO(T65%oD;@J6?tdV!&*f z6#{4^k$BF)r#su58PE3TqkefpM*y38$PcvG8Ls;CVF`f$T5q_wvL}eUL)(V$C!2}%N#rv*&A)a6#(nB z3V){YB@}rQ1s4T*_%r2YY|HnfsiHoG zlay6@V3JhmSccM$y-3E@IjFx&|$l^?dc2I9TrHa?g$r0gA(PsRaMzN>UsW!M&P4V zG*0`7lvLtiXhs(RsKgm;A<*dwsuvyuAKxjGUwL6fy!~z?rFI`N`F@HwDYQWkpq!rzL~DRyFQr zB7^p_#VLM(vi}S64l&5wHoT-wIU$TpRn{lye~vgPzfQ~>CiE@GZfAB!JKN;wr+sA< zt{a=X6Oxh;eM<{BZJ?wE$4}mH#>|cYyBzNqD+VmgGrGONTDNIT@GR67N_S!CCgc*e z>n^}W=PNXINul!lyJCqwNTY+Z&WBcFY**{60fnYx*Do{=0`r%P(t<}yb)1yjac`l0!+`O+m<2}BlQ3CHhrQ~gwI-W;k!B|m z|32+_@XP(B7}Nlye=!KF#z%JJ{a0iv$4R^KTgrcILL6+O^+6_o7jGoI>WETbX2L4> zp!FZ+y0v{9Yvp>iQ%8jMP}e5AuUi?ogWIas&im9oPL%+ps z$B+I;DtAR9)j)O?*y;7~o^$Wi#c$B2J`XwXjXY8C(*B<}w&;U#C$s_J7b9y30nE{U zOy{3#IICFln(igh7fy2q>s$98+!h*+mWx}St@T$(B-!-KV}X8j*jhgd*aVl$=DFSI ze;i_F)EbGYJ5R`x^JHz1sB=-cW?uXB+deN;r#3QNdMjJ9?g=#fXZ$GFoeO7Cr@v= z*?yn-N~d>haxOs(lZK?7t>RNbOw!ukeE4-N$^Pe;$iAE?_NCkzXBQvu-Cw5ySZr+P z{H`-iqX{M8z)j#=+DM~a)G0WiXL#i-jNZYS#-Huc3UPmXASqa|X;uOCx+>snp2-4+ zv!0*D4zUF(RKkR6Y`UO5E9j>u=qm*EpkyD^CQcaa9Xvue3<{REQ?#3kCZ(&|%00TQ z!ZH5h8r|jg#6|o^v8NEqpa^85_h0{59ps-Kl{iTTXt#ncaX|=O^Rk;7pz{D}SLQ!j z(mDVNrEvSML$ex=wbpoOq7rT{LWa{FKG!S^Q(k1WvSGOI2FL)f&vWNT^A(Q4c8k@^ zP=s_IlUD#~UE(FFkW^-4|0Kurk;#NKY+d??maIU!`%57|Xz+^gZ2U{XJcB%AXtE}o9}O58l7 zXPKMlGInMF5&y1*`R)kqDzi&0>5kDeMhhF}U5@K2eK(;E1u5TzM;YU4T~PNn>1AU9 zyzKPqnPl_S;Z3?h_yvJ8`Sf;NbqxH>Zx$1qae`(6C|IGT?@Bszb#y%ha16b7mnTz7cf6_>kHpq;Dqu{BVP zbAbgTqVmF+w2jZLukm|Qa-&8c#}c35W$26Z@R2w$?F3~{3W;}n2!IX7FvJZ%79AJD z_3m;OatjG7khYoEmEK9&!^2Pcgj=dXWh?TS=!{L-f4&rwqj^bNO#H93yItBN+#*Pl zS)yxLXDPO;_3C=!=ODxy4SDz)AeLWZ(vpMq$QXp`XU}BuD*5anaixA9GV6G-0|naZ zE}miMWjte&U3?-Fh7RMFR!N0hU5^AFCkc9jpCE{rpM-GO*qnrg%(L#uoz-Xjc8jV+ ziH`2UOfYI6=zR*vQrL}7ohU?&Vh zLX0Gvo)fp3*SjnT?M>e&Ylh*6IGj1s`@qS^m(C70c6u$|h9>RnwiP;poZ>1`6$(CF zF{rC+-STfK6`fH!>}q@<{qYLKmm^Iar^=OsH(R=j8r}0@ju$N3VyK2dfF^wZqeQ&b z_|k)ekjP-9Z8%y{6uJM%>CUW1st#UP1-EhHmGg-wELNfo`k&Dk=aLb0*EN`yEkyot zS%}GoPXujhhMZrAligGIk>AiX-U$1|bt{Z*aEP2m8T{k(q&}6@P7j$fmiVx)5Isin9hR z(gOi0Dtda$fYrN)XRsu7nuGWBhYe-&bzyUAKjnyFYR^bn@;lNl`)3T}KN7U{Ueji) z_4mM4msNJ?o$MY{c9`J~P@5E1>d%tH=UJ0O#Lv81_2KW2A038vx(%Z%txtHDWwv3B zjaB>VvK2L}o4m+PI#5Yws}$!l$&t3c(JOI+p~0e61kRv736FtajuhwCpOPk{H)g}@ z*7EY@?kbP0sw$qD9UmU3JjjtoDjiMTCM#K2RTIW$6Qj>xG-nF8-XpSP35Oa0LR8hsAaH|W@_l_5O><;VC-sbT; zt;B&YZ#KIWumDWHksS%D((TWE5$SR}4Ff`7(g&{~;sKDzqJd0I!-*EKj}CKy(%XQB zghn4NVQ|RH*TH=dz{HRa_g@0U81|>E1TfGW%00HmJ!tt1aA09#Ah@FB%C9FPI|dN_ ziTxu9YyiTx1_LuaclYP~a?Z!3o!^gTl-r4B1YJjbF#&h|iFS}Cy+Ewu z>M&Ur)_3&hyCvVVYc+*CGX9E&gpJSev{B8w)CK)^l^!uX`tZIyu4RlSc2Iox(3vmf zpH?dUW4&1~ot++2ymWZc%bAw8#=K>*YmHvV0!V#ln{}bVyMi3Y=pkC0*`#d-q�R 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 literal 0 HcmV?d00001 diff --git a/examples/mesh/Build_Mesh.ipynb b/examples/mesh/Build_Mesh.ipynb new file mode 100644 index 000000000..7cda48b6d --- /dev/null +++ b/examples/mesh/Build_Mesh.ipynb @@ -0,0 +1,772 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Building Meshes\n", + "\n", + "[![Google Collab Book](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/tum-pbs/PhiFlow/blob/develop/examples/mesh/Build_Mesh.ipynb)\n", + "\n", + "Meshes can be loaded directly from `.su2` files using [`geom.load_su2`](https://tum-pbs.github.io/PhiFlow/phi/geom/#phi.geom.load_su2) or `.msh` files using [`geom.load_gmsh`](https://tum-pbs.github.io/PhiFlow/phi/geom/#phi.geom.load_gmsh).\n", + "However, ΦFlow allows you to easily build simple meshes for a given domain and obstacle configuration." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install --quiet phiflow\n", + "from phi.flow import *\n", + "# from phi.flow import * # If JAX is not installed. You can use phi.torch or phi.tf as well.\n", + "from tqdm.notebook import trange" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\ProgramData\\Anaconda3\\envs\\phiflow2\\lib\\site-packages\\phiml\\backend\\_backend.py:1632: RuntimeWarning: invalid value encountered in power\n", + " return base ** exp\n" + ] + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "domain = Box(x=2, y=1)\n", + "sphere_x = math.sin(math.linspace(0, 1.5, batch(time=30))) * .5\n", + "sphere = Sphere(x=sphere_x, y=.5, radius=.3)\n", + "box = Box(x=(1, 3), y=(-1, .5))\n", + "mesh = geom.build_mesh(domain, x=30, y=10, obstacles=union(sphere, box))\n", + "plot(mesh, animate='time')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "phiflow2", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/mesh/FVM_Fluid.ipynb b/examples/mesh/FVM_Fluid.ipynb new file mode 100644 index 000000000..5a47b640a --- /dev/null +++ b/examples/mesh/FVM_Fluid.ipynb @@ -0,0 +1,4800 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# FVM Fluid\n", + "\n", + "[![Google Collab Book](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/tum-pbs/PhiFlow/blob/develop/examples/mesh/FVM_Fluid.ipynb)\n", + "\n", + "This example shows how to run a fluid simulation on an unstructured mesh." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install --quiet phiflow\n", + "from phi.torch.flow import *\n", + "# from phi.flow import * # If JAX is not installed. You can use phi.torch or phi.tf as well.\n", + "from tqdm.notebook import trange" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "obstacle = Box(x=.5, y=.5)\n", + "vert_x = concat([\n", + " math.linspace(0, .4, spatial(x=20))[:-1],\n", + " math.linspace(.4, .6, spatial(x=20))[:-1],\n", + " math.linspace(.6, 1, spatial(x=20)),\n", + " ], 'x')\n", + "vert_y = math.linspace(0, 1, spatial(y=31))\n", + "mesh = geom.build_mesh(x=vert_x, y=vert_y, obstacles=obstacle)\n", + "plot(mesh)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "@jit_compile_linear\n", + "def momentum_eq(u, u_prev, dt, diffusivity=0.01):\n", + " diffusion_term = dt * diffuse.differential(u, diffusivity, correct_skew=False)\n", + " advection_term = dt * advect.differential(u, u_prev, order=1)\n", + " return u + advection_term + diffusion_term\n", + "\n", + "@jit_compile\n", + "def implicit_time_step(v, dt):\n", + " v = math.solve_linear(momentum_eq, v, Solve(x0=v), u_prev=v, dt=-dt)\n", + " v, p = fluid.make_incompressible(v)\n", + " return v" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "boundary = {'x-': vec(x=.1, y=0), 'obstacle': 0, 'y': 0, 'x+': ZERO_GRADIENT}\n", + "velocity = Field(mesh, tensor(vec(x=0, y=0)), boundary)\n", + "v_trj = math.iterate(implicit_time_step, batch(time=100), velocity, dt=0.001, range=trange)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\phd\\phiflow2\\phiml\\phiml\\backend\\torch\\_torch_backend.py:693: UserWarning: index_reduce() is in beta and the API may change at any time. (Triggered internally at C:\\actions-runner\\_work\\pytorch\\pytorch\\builder\\windows\\pytorch\\aten\\src\\ATen\\native\\cuda\\Indexing.cu:1191.)\n", + " result = torch.index_reduce(base_grid, 1, indices[0], values, 'a'+mode)\n" + ] + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "v_trj_grid = v_trj.at(geom.UniformGrid(x=64, y=64, bounds=Box(x=1, y=1)), keep_boundary=True)\n", + "plot(v_trj.as_points(), v_trj_grid, animate='time')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "phiflow2", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/mesh/FVM_Heat.ipynb b/examples/mesh/FVM_Heat.ipynb new file mode 100644 index 000000000..5b9043d34 --- /dev/null +++ b/examples/mesh/FVM_Heat.ipynb @@ -0,0 +1,1215 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Moving Obstacles\n", + "\n", + "[![Google Collab Book](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/tum-pbs/PhiFlow/blob/develop/examples/mesh/FVM_Heat.ipynb)\n", + "\n", + "This example runs a heat diffusion simulation on an unstructured mesh." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# %pip install --quiet phiflow\n", + "from phi.torch.flow import *\n", + "# from phi.flow import * # If JAX is not installed. You can use phi.torch or phi.tf as well.\n", + "from tqdm.notebook import trange" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "valid = union(\n", + " Box(x=(0, .4), y=(.45, .55)),\n", + " Box(x=(.3, .7), y=(0, .1)),\n", + " Box(x=(.3, .7), y=(.9, 1)),\n", + " Box(x=(.3, .4), y=1),\n", + " Box(x=(.6, .7), y=1),\n", + " Box(x=(.6, 1), y=(.45, .55)),\n", + ")\n", + "mesh = geom.build_mesh(Box(x=1, y=1), x=100, y=100, obstacles=~valid)\n", + "plot(valid, mesh)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "@jit_compile\n", + "def step(t, dt, conductivity=1.):\n", + " return diffuse.implicit(t, conductivity, dt, correct_skew=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "80df473c48424eb0bc0fc0bc6e685ca9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/100 [00:00\n", + " \n", + " Your browser does not support the video tag.\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "plot(t_trj, animate='time', frame_time=50)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "phiflow2", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}