This test case focuses on second-order immersed boundary methods applied to the Poisson equation with flower-shaped immersed boundaries.
This test case focuses on second-order immersed boundary methods applied to the Poisson equation with flower-shaped immersed boundaries.
This test case suite focuses on the second-order immersed boundary methods applied to the Poisson equation with Dirichlet boundary condition. The objectives of this test case are:
For more details, see [1] and [2].
The global boundaries are defined by the box:
\begin{align} [-1, +1]^2 &\quad\text{in 2D,}\\ [-1, +1]^3 &\quad\text{in 3D.} \end{align}
The immersed boundary is flower-shaped as represented next figure, and defined by the parametrization:
\begin{align} \phi \rightarrow (0.02\sqrt{5}, 0.02\sqrt(5)^T + (0.5 + 0.2 sin (R\phi))\mathbf{e_r} \quad \forall \theta \in [0, 2\pi] &\quad\text{in 2D,}\\ (x^2+y^2+z^2=r^2) - ((x \pm r)^2 + y^2 + z^2)=r_f^2) - (x^2 + (y \pm r)^2 + z^2=r_f^2) - (x^2 + y^2 + (z\pm r)^2=r_f^2) &\quad\text{in 3D, where r_f=r/2.} \end{align}
The inner domain is outside the shape.
The following figure shows the temperature field and the flower-shaped immersed domain in 2D.
The following figure shows the temperature field mapped on the isosurface of the zero-distance function of the 3D flower-shaped immersed domain.
A trigonometric solution is studied. The source term and the boundary conditions are chosen from the following solution:
\begin{align} T(x,y,z) = sin(\pi x) cos(2\times \pi y) &\quad\text{in 2D,}\\ T(x,y,z) = sin(\pi x) cos(2\times \pi y) cos(2\times \pi z) &\quad\text{in 3D.} \end{align}
in the inner domain. The source term is then
\begin{align} S(x,y,z) = -5 \pi^2 sin(\pi x) cos(2 \pi y) &\quad\text{in 2D,}\\ S(x,y,z) = -9 \pi^2 sin(\pi x) cos(2 \pi y) cos(2\times \pi z) &\quad\text{in 3D.} & \end{align}
The global boundary conditions are chosen as follows:
| Boundary | Condition | Value |
|---|---|---|
| left | Dirichlet | \( T = 0 \) |
| right | Dirichlet | \( T = 0 \) |
| bottom | Neumann | \( \partial_{\mathrm n}T = 0 \) |
| top | Neumann | \( \partial_{\mathrm n}T = 0 \) |
| back | Neumann | \( \partial_{\mathrm n}T = 0 \) |
| front | Neumann | \( \partial_{\mathrm n}T = 0 \) |
The immersed boundary Dirichlet condition are given by the trigonometric solutions.
Square grids are used.
| Label |
|---|
flower_sinus_2D.nts |
sphere6_sinus_3D.nts |
The following common setting are used:
Second-order accuracy is observed regardless of the IBM used (except the volume penalization one that is only fisrt order).
Direct method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 40×40 | 0.010382159768622896 | n/a | 0.007353166737498385 | n/a | 0.012243695462294535 | n/a |
| 80×80 | 0.002485721481546915 | 2.062 | 0.0017407523517702279 | 2.079 | 0.003400911321187694 | 1.848 |
| 160×160 | 0.0006290534926285257 | 1.982 | 0.00044223457340507175 | 1.977 | 0.000946715447878943 | 1.845 |
| 320×320 | 0.00015657175047993082 | 2.006 | 0.00010940966845600196 | 2.015 | 0.00023385960032318298 | 2.017 |
Linear method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 40×40 | 0.011615434935111604 | n/a | 0.008494135917934185 | n/a | 0.02413078418766057 | n/a |
| 80×80 | 0.002874372505893045 | 2.015 | 0.002077233229680608 | 2.032 | 0.0060836226626515 | 1.988 |
| 160×160 | 0.0007346533976850386 | 1.968 | 0.0005346048813906322 | 1.958 | 0.0015849716056456353 | 1.940 |
| 320×320 | 0.00019043751899794397 | 1.948 | 0.00014081028524399254 | 1.925 | 0.00047737514503620737 | 1.731 |
LGS method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 40×40 | 0.010613763459557977 | n/a | 0.007488289478944289 | n/a | 0.012283552825729793 | n/a |
| 80×80 | 0.0025192383361042053 | 2.075 | 0.0017537796132653819 | 2.094 | 0.0030623895247239297 | 2.004 |
| 160×160 | 0.0006370589060714494 | 1.983 | 0.0004453870502506688 | 1.977 | 0.0008988397102784873 | 1.769 |
| 320×320 | 0.00015818074939795825 | 2.010 | 0.00010998042129822066 | 2.018 | 0.00022143237221317058 | 2.021 |
LIS method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 40×40 | 0.010636089706704658 | n/a | 0.007501577018872526 | n/a | 0.012278231182752286 | n/a |
| 80×80 | 0.002527479087896519 | 2.073 | 0.0017589069409005016 | 2.093 | 0.003035316642566954 | 2.016 |
| 160×160 | 0.0006389435804169586 | 1.984 | 0.0004462174889005859 | 1.979 | 0.0008496767674746053 | 1.837 |
| 320×320 | 0.00015878878566372634 | 2.009 | 0.00011035299840478839 | 2.016 | 0.00022009373441078672 | 1.949 |
Q method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 40×40 | 0.009514921357128668 | n/a | 0.006641876214807318 | n/a | 0.015200331117321442 | n/a |
| 80×80 | 0.002376016009908403 | 2.002 | 0.0016549450237361575 | 2.005 | 0.0037107526012221115 | 2.034 |
| 160×160 | 0.0005961384268197554 | 1.995 | 0.0004148758298680987 | 1.996 | 0.0010166987670573446 | 1.868 |
| 320×320 | 0.0001499521927323731 | 1.991 | 0.00010443749100635369 | 1.990 | 0.00029759893532799175 | 1.772 |
QO method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 40×40 | 0.0095102099370316 | n/a | 0.006637963607814744 | n/a | 0.015200898342261904 | n/a |
| 80×80 | 0.0023751812054347778 | 2.001 | 0.0016542804522660267 | 2.005 | 0.003704876875731733 | 2.037 |
| 160×160 | 0.0005959465817310061 | 1.995 | 0.00041471885385714884 | 1.996 | 0.001015651875369672 | 1.867 |
| 320×320 | 0.000149910175631964 | 1.991 | 0.00010440415660007945 | 1.990 | 0.00029759935097140033 | 1.771 |
QGS method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 40×40 | 0.00901871971138663 | n/a | 0.006213913466743513 | n/a | 0.008320275098507302 | n/a |
| 80×80 | 0.0022230793077932347 | 2.020 | 0.0015370137651529818 | 2.015 | 0.002470768140306334 | 1.752 |
| 160×160 | 0.0005575910236984012 | 1.995 | 0.00038473378574649543 | 1.998 | 0.0007514637996037798 | 1.717 |
| 320×320 | 0.00013736713990723874 | 2.021 | 9.451585402282266e-05 | 2.025 | 0.0001732368669186135 | 2.117 |
QGSO method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 40×40 | 0.009014725894602671 | n/a | 0.006210844392356418 | n/a | 0.008319900328710661 | n/a |
| 80×80 | 0.002222325562549749 | 2.020 | 0.001536497558636247 | 2.015 | 0.0024695339797905502 | 1.752 |
| 160×160 | 0.0005574217051541412 | 1.995 | 0.00038461377783611346 | 1.998 | 0.0007515810435708703 | 1.716 |
| 320×320 | 0.00013733091201680088 | 2.021 | 9.44915980870854e-05 | 2.025 | 0.0001732366211448788 | 2.117 |
QIS method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 40×40 | 0.008868231198472656 | n/a | 0.006107703517977893 | n/a | 0.008331126149572432 | n/a |
| 80×80 | 0.0021797976063784655 | 2.024 | 0.001510935780416645 | 2.015 | 0.0020166518315175574 | 2.047 |
| 160×160 | 0.0005450854684979009 | 2.000 | 0.00037636499468866885 | 2.005 | 0.0005605451713657228 | 1.847 |
| 320×320 | 0.0001339208124446688 | 2.025 | 9.242005827090916e-05 | 2.026 | 0.0001608484462453097 | 1.801 |
QISS1 method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 40×40 | 0.010382159768623025 | n/a | 0.007353166737498444 | n/a | 0.012243695462294313 | n/a |
| 80×80 | 0.0024857214815461673 | 2.062 | 0.0017407523517697888 | 2.079 | 0.003400911321187583 | 1.848 |
| 160×160 | 0.0006290415905712212 | 1.982 | 0.00044223287668653595 | 1.977 | 0.0009467154415244705 | 1.845 |
| 320×320 | 0.0001565717504854494 | 2.006 | 0.00010940966845948416 | 2.015 | 0.00023385960032318298 | 2.017 |
QISS1P3 method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 40×40 | 0.007041580518529886 | n/a | 0.005342061379365422 | n/a | 0.00899006179897821 | n/a |
| 80×80 | 0.0017842081972230008 | 1.981 | 0.0013498408606690679 | 1.985 | 0.0022855124003658966 | 1.976 |
| 160×160 | 0.00044942063410977214 | 1.989 | 0.0003390984474031629 | 1.993 | 0.0013408613899511534 | 0.769 |
| 320×320 | 0.00011285013360274934 | 1.994 | 8.49320413804135e-05 | 1.997 | 0.00014335355381078774 | 3.226 |
| 640×640 | 2.828965321957408e-05 | 1.996 | 2.1264977081482812e-05 | 1.998 | 3.5864566322318936e-05 | 1.999 |
LGSP3 method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 40×40 | 0.009519487523919427 | n/a | 0.0067197085370243265 | n/a | 0.01851760976561312 | n/a |
| 80×80 | 0.0023841131724082042 | 1.997 | 0.0016653593189984797 | 2.013 | 0.004530134493496707 | 2.031 |
| 160×160 | 0.0006130742115801825 | 1.959 | 0.0004303497526787066 | 1.952 | 0.0011960010010085842 | 1.921 |
| 320×320 | 0.00015892894996284544 | 1.948 | 0.00011382373798071934 | 1.919 | 0.0003918649150661535 | 1.610 |
| 640×640 | 3.8554524015091366e-05 | 2.043 | 2.6994695199321087e-05 | 2.076 | 0.0001321051454794553 | 1.569 |
VOLUME PENALIZATION method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 20×20 | 0.1423517275256972 | n/a | 0.13457673412764698 | n/a | 0.3463818132133143 | n/a |
| 40×40 | 0.05086705036850881 | 1.485 | 0.04365649591792538 | 1.624 | 0.11864388079782373 | 1.546 |
| 80×80 | 0.022268013554225887 | 1.192 | 0.019496305658366717 | 1.163 | 0.06774546049852681 | 0.808 |
| 160×160 | 0.012123104585662885 | 0.877 | 0.010269191309689703 | 0.925 | 0.03678209779122199 | 0.881 |
Direct method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 16×16×16 | 0.002530207803768791 | n/a | 0.003733806511973472 | n/a | 0.014717502590773535 | n/a |
| 32×32×32 | 0.0006572926338986642 | 1.945 | 0.0009643207556546832 | 1.953 | 0.005709020961563116 | 1.366 |
| 64×64×64 | 0.00016561935601120702 | 1.989 | 0.00024165628655621659 | 1.997 | 0.0015339800512155222 | 1.896 |
| 128×128×128 | 4.1708089561245926e-05 | 1.989 | 6.089729974985724e-05 | 1.989 | 0.00038998327954020695 | 1.976 |
Linear method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 16×16×16 | 0.002998151122443975 | n/a | 0.004344507049945625 | n/a | 0.015372675355382559 | n/a |
| 32×32×32 | 0.0007760167929225879 | 1.950 | 0.0011032211607128663 | 1.977 | 0.006081335961378609 | 1.338 |
| 64×64×64 | 0.00021220469451200852 | 1.871 | 0.00029748650250597516 | 1.891 | 0.0015224266925817041 | 1.998 |
| 128×128×128 | 5.238225738317134e-05 | 2.018 | 7.34889507721573e-05 | 2.017 | 0.00037937521947750685 | 2.005 |
LGS method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 16×16×16 | 0.0030618960018274867 | n/a | 0.004426410858609621 | n/a | 0.01537267474292936 | n/a |
| 32×32×32 | 0.0007760442297105378 | 1.980 | 0.0010917127018378403 | 2.020 | 0.00536361121548512 | 1.519 |
| 64×64×64 | 0.00021048441166218152 | 1.882 | 0.0002934510516660949 | 1.895 | 0.0015220920554638515 | 1.817 |
| 128×128×128 | 5.2515142637114835e-05 | 2.003 | 7.32361190094301e-05 | 2.002 | 0.000375996389903932 | 2.017 |
LIS method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 16×16×16 | 0.0030618960018274867 | n/a | 0.004426410858609621 | n/a | 0.01537267474292936 | n/a |
| 32×32×32 | 0.0007830927238077406 | 1.967 | 0.001100594886892528 | 2.008 | 0.005357472218672887 | 1.521 |
| 64×64×64 | 0.00021314995973990865 | 1.877 | 0.00029698259457119094 | 1.890 | 0.0015222424285000029 | 1.815 |
| 128×128×128 | 5.293386831882026e-05 | 2.010 | 7.376969235673956e-05 | 2.009 | 0.0003719320602803 | 2.033 |
Q method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 16×16×16 | 0.002544121596646575 | n/a | 0.0037373296876410216 | n/a | 0.011561598235916848 | n/a |
| 32×32×32 | 0.0006661378964774928 | 1.933 | 0.0009755616996504988 | 1.938 | 0.004223717992182352 | 1.453 |
| 64×64×64 | 0.00016619058552379788 | 2.003 | 0.00024225240871216888 | 2.010 | 0.0010069523021716265 | 2.069 |
| 128×128×128 | 4.1520792301227795e-05 | 2.001 | 6.054194327995673e-05 | 2.001 | 0.000307075726406536 | 1.713 |
QO method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 16×16×16 | 0.0025445500423156454 | n/a | 0.003737823472207631 | n/a | 0.011554241366261708 | n/a |
| 32×32×32 | 0.0006659191042271541 | 1.934 | 0.0009753089238174323 | 1.938 | 0.004223925903712233 | 1.452 |
| 64×64×64 | 0.00016615818042739684 | 2.003 | 0.00024221558973953192 | 2.010 | 0.0010067035451161166 | 2.069 |
| 128×128×128 | 4.151662956003155e-05 | 2.001 | 6.053677413596293e-05 | 2.000 | 0.0003070798818106679 | 1.713 |
QGS method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 16×16×16 | 0.002544121596646575 | n/a | 0.0037373296876410216 | n/a | 0.011561598235916848 | n/a |
| 32×32×32 | 0.0006647141739076339 | 1.936 | 0.0009702299262975187 | 1.946 | 0.003962371841081724 | 1.545 |
| 64×64×64 | 0.0001660843181364729 | 2.001 | 0.00024212344755499376 | 2.003 | 0.0010352210820258057 | 1.936 |
| 128×128×128 | 4.140589733191384e-05 | 2.004 | 6.037272080539582e-05 | 2.004 | 0.00031957223105405497 | 1.696 |
QGSO method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 16×16×16 | 0.0025445500423156454 | n/a | 0.003737823472207631 | n/a | 0.011554241366261708 | n/a |
| 32×32×32 | 0.0006644957069418157 | 1.937 | 0.0009699777136939204 | 1.946 | 0.003962421039037767 | 1.544 |
| 64×64×64 | 0.0001660524268214208 | 2.001 | 0.00024208726915003547 | 2.002 | 0.0010350363354507675 | 1.937 |
| 128×128×128 | 4.140186734511885e-05 | 2.004 | 6.036786865976097e-05 | 2.004 | 0.00031957791968051374 | 1.695 |
QIS method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 16×16×16 | 0.002544121596646575 | n/a | 0.0037373296876410216 | n/a | 0.011561598235916848 | n/a |
| 32×32×32 | 0.0006637656779331995 | 1.938 | 0.0009685862225868512 | 1.948 | 0.0038100624914474412 | 1.601 |
| 64×64×64 | 0.00016576666976389278 | 2.002 | 0.00024170269431509085 | 2.003 | 0.0009816815477917684 | 1.956 |
| 128×128×128 | 4.126214650815817e-05 | 2.006 | 6.018138707808345e-05 | 2.006 | 0.000301636729495236 | 1.702 |
QISS1 method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 16×16×16 | 0.0025961584611331003 | n/a | 0.003829932361667098 | n/a | 0.01471672541694602 | n/a |
| 32×32×32 | 0.00067497029512167 | 1.943 | 0.000989766745164492 | 1.952 | 0.0056133313436673715 | 1.391 |
| 64×64×64 | 0.000170351580835294 | 1.986 | 0.0002481066081926968 | 1.996 | 0.00151163675444288 | 1.893 |
| 128×128×128 | 4.31595494354186e-05 | 1.981 | 6.286766855923313e-05 | 1.981 | 0.00038589492926466296 | 1.970 |
VOLUME PENALIZATION method:
| Mesh | Temperature L1 error | order | Temperature L2 error | order | Temperature Linf error | order |
|---|---|---|---|---|---|---|
| 16×16×16 | 0.012364887047713448 | n/a | 0.016465244524214943 | n/a | 0.06632454724188042 | n/a |
| 32×32×32 | 0.008934858153927734 | 0.469 | 0.011364784275953985 | 0.535 | 0.07136614432590843 | -0.106 |
| 64×64×64 | 0.005111332788139465 | 0.806 | 0.006299093573720937 | 0.851 | 0.02839942993900557 | 1.329 |
| 128×128×128 | 0.002586323353924102 | 0.983 | 0.0032173568057359448 | 0.969 | 0.018854617226945425 | 0.591 |
[1] J. Picot, S. Glockner, Discretization stencil reduction of direct forcing immersed boundary methods on rectangular cells: the Ghost Node Shifting Method, Journal of Computational Physics, 364, pp18-48, 2018.
[2] A. M. D. Jost and S. Glockner, Direct forcing immersed boundary methods: Improvements to the Ghost Node Method, Journal of Computational Physics, volume 438, 110371, 2021.