This test case solves the Poiseuille flow with immersed boundary conditions.
This test case solves the Poiseuille flow with immersed boundary conditions.
This test case suite focuses on the second-order immersed boundary methods applied to the incompressible Navier-Stokes 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 intevales:
\begin{align} [0, 2] &\quad\text{in the flow direction,} & [-1, +1] &\quad\text{otherwise.} \end{align}
The immersed boundary is either a flat channel or a cylinder (not treated so far):
\begin{align} y = \pm h &\quad\text{(flatchannel),} & x^2 + y^2 = h^2 &\quad\text{(cylinder),} \end{align}
where \(h = \frac{1}{2} \frac{262144}{177147} \), which is half the wolf interval of the Pythagorean scale. This has been chosed to avoid the boundary to match any grid.
The velocity has the following parabolic shape: solution:
\begin{align} u(y) = \hat{u} \left(1 - \frac{y^2}{h^2}\right) &\quad\text{(flatchannel),} & u(r) = \hat{u} \left(1 - \frac{r^2}{h^2}\right) &\quad\text{(cylinder).} \end{align}
The flow is pushed by the navier source term, which should be equal to:
\begin{align} f_x = 2 \frac{\mu\hat{u}}{h^2} &\quad\text{(flatchannel),} & f_y = 4 \frac{\mu\hat{u}}{h^2} &\quad\text{(cylinder),} \end{align}
where \( \mu \) is the dynamic viscosity of the fluid. Using the navier source term yields a constant pressure gradient, which allows the domain to be periodic in the flow direction.
The average velocity is computed from the integral:
\begin{align} V \bar{u} = \int_{-h}^{+h}{u(y)\mathrm{d}y} = 2 h \hat{u} \int_0^1 {(1 - z^2) \mathrm{d}z} &\quad\text{(flatchannel),} \\ V \bar{u} = \int_{0}^{2\pi}\int_{0}^{+h}{u(r)r\mathrm{d}r\mathrm{d}\theta} = 2 \pi h^2 \hat{u} \int_0^1 {(1 - z^2) z \mathrm{d}z} &\quad\text{(cylinder),} \end{align}
giving:
\begin{align} \bar{u} = \frac{2}{3}\hat{u} &\quad\text{(flatchannel),} & \bar{u} = \frac{1}{2}\hat{u} &\quad\text{(cylinder).} \end{align}
In the actual test case, the dynamic viscosity of the fluid is set to match a given Reynolds number, which is defined by:
\begin{align} \mathit{Re} = \frac {2h \times \bar{u}} {\mu} \end{align}
We choose to set \(\bar{u}\) and \(\mu\) as follows:
\begin{align} \bar{u} &= \frac {1} {2h} & \mu = \frac {1} {\mathit{Re}} \end{align}
Values are given in the table below.
| Geometry | \( \bar{u} \) |
|---|---|
| flatchannel | \( \tfrac{59049}{131072} = 0.45050811767578125\ldots \) |
| cylinder | \( \tfrac{177147}{524288} = 0.33788108825683594\ldots \) |
and \( \mathit{Re} = 20\).
The following common settings are used:
Velocity errors and pressure \(L^2\) error show a second-order limiting behavior, while pressure \(L_\infty\) error show a limiting behavior between 1.5 and 2.
Direct
| Mesh | Velocity L1 error | order | Velocity L2 error | order | Velocity Linf error | order | Pressure L1 error | order | Pressure L2 error | order | Pressure Linf error | order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 20×20 | 0.05270009229508642 | n/a | 0.029774892943298048 | n/a | 0.02979918828191397 | n/a | 0.08371826403250907 | n/a | 0.06227244620088994 | n/a | 0.11982979072503541 | n/a |
| 40×40 | 0.012411033985466223 | 2.086 | 0.006948353359337286 | 2.099 | 0.007728497257455225 | 1.947 | 0.020386872969755852 | 2.038 | 0.014799064758676709 | 2.073 | 0.03138706695860538 | 1.933 |
| 80×80 | 0.00323814713572379 | 1.938 | 0.001802675947358788 | 1.947 | 0.0019286508605681485 | 2.003 | 0.005966030307143693 | 1.773 | 0.004283405365244087 | 1.789 | 0.012300211461270472 | 1.351 |
| 160×160 | 0.0008023379002303047 | 2.013 | 0.00044783136332388247 | 2.009 | 0.0004619905365337573 | 2.062 | 0.0015015093832701394 | 1.990 | 0.0010986920794422727 | 1.963 | 0.005611819837253673 | 1.132 |
Linear
| Mesh | Velocity L1 error | order | Velocity L2 error | order | Velocity Linf error | order | Pressure L1 error | order | Pressure L2 error | order | Pressure Linf error | order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 20×20 | 0.06482457588961568 | n/a | 0.037356577161486965 | n/a | 0.06731343557486727 | n/a | 0.07741552084488161 | n/a | 0.06980344871362482 | n/a | 0.12542430184538222 | n/a |
| 40×40 | 0.016613319351544923 | 1.964 | 0.00985937260684884 | 1.922 | 0.017408597526763627 | 1.951 | 0.02237926524669858 | 1.790 | 0.020127331576449116 | 1.794 | 0.050675474706367574 | 1.307 |
| 80×80 | 0.004504902911414919 | 1.883 | 0.0025315385727960366 | 1.961 | 0.0043857053639653806 | 1.989 | 0.010874739800558027 | 1.041 | 0.007808536419449842 | 1.366 | 0.025348211598308357 | 0.999 |
| 160×160 | 0.0010605643096097718 | 2.087 | 0.0005995106253329054 | 2.078 | 0.001097395324387768 | 1.999 | 0.002680683517235237 | 2.020 | 0.00194527373415673 | 2.005 | 0.005208202868149936 | 2.283 |
LGS
| Mesh | Velocity L1 error | order | Velocity L2 error | order | Velocity Linf error | order | Pressure L1 error | order | Pressure L2 error | order | Pressure Linf error | order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 20×20 | 0.05382527244907745 | n/a | 0.030287990652740692 | n/a | 0.02997894922617972 | n/a | 0.08683306127071988 | n/a | 0.06439819519322483 | n/a | 0.12186089843871883 | n/a |
| 40×40 | 0.012634056886718373 | 2.091 | 0.007074169680670298 | 2.098 | 0.007916064972680992 | 1.921 | 0.021587302908959972 | 2.008 | 0.015638386795382694 | 2.042 | 0.032917627248945536 | 1.888 |
| 80×80 | 0.0032711559672135033 | 1.949 | 0.0018215547868255166 | 1.957 | 0.0019647604528806872 | 2.010 | 0.006169418510733906 | 1.807 | 0.004430453092171552 | 1.820 | 0.012983587662725338 | 1.342 |
| 160×160 | 0.0008096416484076865 | 2.014 | 0.000452366651513424 | 2.010 | 0.00047507345904762577 | 2.048 | 0.0015493197346734726 | 1.993 | 0.0011322595899753971 | 1.968 | 0.005579876438810416 | 1.218 |
LIS
| Mesh | Velocity L1 error | order | Velocity L2 error | order | Velocity Linf error | order | Pressure L1 error | order | Pressure L2 error | order | Pressure Linf error | order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 20×20 | 0.05385389606746297 | n/a | 0.030319936831729823 | n/a | 0.029733939786157126 | n/a | 0.08676312210840181 | n/a | 0.06429186006954875 | n/a | 0.12138424913379575 | n/a |
| 40×40 | 0.012748740567615557 | 2.079 | 0.007141147800969571 | 2.086 | 0.00806035778721248 | 1.883 | 0.021973314021904153 | 1.981 | 0.015928598383612474 | 2.013 | 0.03556822694945705 | 1.771 |
| 80×80 | 0.0033006903055519876 | 1.950 | 0.0018386693313723341 | 1.957 | 0.002003110021105481 | 2.009 | 0.006320981573926354 | 1.798 | 0.004537169738851249 | 1.812 | 0.014247415843120947 | 1.320 |
| 160×160 | 0.0008121841359176234 | 2.023 | 0.00045468697879093 | 2.016 | 0.0004872933032785687 | 2.039 | 0.0015648387424484504 | 2.014 | 0.0011391219683095676 | 1.994 | 0.004440394342886567 | 1.682 |
Q
| Mesh | Velocity L1 error | order | Velocity L2 error | order | Velocity Linf error | order | Pressure L1 error | order | Pressure L2 error | order | Pressure Linf error | order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 20×20 | 0.05224468511521704 | n/a | 0.029958970737931204 | n/a | 0.049816724958424596 | n/a | 0.07156071476218151 | n/a | 0.05698485159760314 | n/a | 0.12035411577764554 | n/a |
| 40×40 | 0.013109446966161061 | 1.995 | 0.007276207393553354 | 2.042 | 0.012082183161878236 | 2.044 | 0.012179075523347333 | 2.555 | 0.012174175782841471 | 2.227 | 0.0351372017790057 | 1.776 |
| 80×80 | 0.003837420189889581 | 1.772 | 0.0021817806559658744 | 1.738 | 0.003019957018883559 | 2.000 | 0.007195966258691036 | 0.759 | 0.005422724916079778 | 1.167 | 0.01770721828104982 | 0.989 |
QGS
| Mesh | Velocity L1 error | order | Velocity L2 error | order | Velocity Linf error | order | Pressure L1 error | order | Pressure L2 error | order | Pressure Linf error | order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 20×20 | 0.048682849684619035 | n/a | 0.02767816161710693 | n/a | 0.032485609938977644 | n/a | 0.05663355057434309 | n/a | 0.04572409373515861 | n/a | 0.10977011394925773 | n/a |
| 40×40 | 0.011202189264120636 | 2.120 | 0.006193874593197813 | 2.160 | 0.006699085682877581 | 2.278 | 0.009430112586382558 | 2.586 | 0.007667532246180057 | 2.576 | 0.020809103713967048 | 2.399 |
| 80×80 | 0.0031566420455928093 | 1.827 | 0.0017590782669031548 | 1.816 | 0.0019650731891998063 | 1.769 | 0.004388165601259698 | 1.104 | 0.003211606701204337 | 1.255 | 0.009394162190362376 | 1.147 |
| 160×160 | 0.0007577379845984029 | 2.059 | 0.0004200677564264471 | 2.066 | 0.0004373645634714318 | 2.168 | 0.0010660787018279896 | 2.041 | 0.0008157507422324713 | 1.977 | 0.0030584649899583205 | 1.619 |
QIS
| Mesh | Velocity L1 error | order | Velocity L2 error | order | Velocity Linf error | order | Pressure L1 error | order | Pressure L2 error | order | Pressure Linf error | order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 20×20 | 0.05011754592367867 | n/a | 0.02863006219680653 | n/a | 0.03367981066941761 | n/a | 0.056019447314914296 | n/a | 0.04678053809729675 | n/a | 0.11263389597080531 | n/a |
| 40×40 | 0.01117332096589729 | 2.165 | 0.00613941236288884 | 2.221 | 0.006737017557861047 | 2.322 | 0.00906304590034595 | 2.628 | 0.007350896890872159 | 2.670 | 0.0201544662561588 | 2.482 |
| 80×80 | 0.003110939266274319 | 1.845 | 0.001722607406276905 | 1.834 | 0.0019371216308767814 | 1.798 | 0.0038343739223206342 | 1.241 | 0.0028334003134005714 | 1.375 | 0.008070710141589998 | 1.320 |
| 160×160 | 0.0007406022133274162 | 2.071 | 0.000409352038212465 | 2.073 | 0.0004273355314918792 | 2.180 | 0.0009332289453220675 | 2.039 | 0.0007352277981699719 | 1.946 | 0.0025862628593291692 | 1.642 |
QISS1
| Mesh | Velocity L1 error | order | Velocity L2 error | order | Velocity Linf error | order | Pressure L1 error | order | Pressure L2 error | order | Pressure Linf error | order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 20×20 | 0.05270009229508629 | n/a | 0.029774892943297875 | n/a | 0.029799188281913747 | n/a | 0.08371826403254023 | n/a | 0.062272446200916265 | n/a | 0.11982979072508781 | n/a |
| 40×40 | 0.012411033985466188 | 2.086 | 0.0069483533593372995 | 2.099 | 0.007728497257455336 | 1.947 | 0.020386872968579293 | 2.038 | 0.01479906475789101 | 2.073 | 0.03138706695765281 | 1.933 |
| 80×80 | 0.003238147135723599 | 1.938 | 0.0018026759473586881 | 1.947 | 0.0019286508605681485 | 2.003 | 0.005966030307135308 | 1.773 | 0.004283405365238609 | 1.789 | 0.012300211461274468 | 1.351 |
| 160×160 | 0.0008023378973876549 | 2.013 | 0.0004478313579448087 | 2.009 | 0.0004619905261575852 | 2.062 | 0.0015015514384990962 | 1.990 | 0.0010987242150504754 | 1.963 | 0.005611885903512359 | 1.132 |
Second-order convergence is obtained for pressure with the L2 error norm. It should be noted that the first-order convergence for the \(L∞\) norm of pressure is expected as it is also encountered for the canonical validation case of 2D channel Poiseuille flow without immersed boundaries. Also as expected, the LIS and QIS methods are more accurate than the L method and the L∞ error norm of pressure has a slightly better order of convergence.
As the analytical solution is parabolic, the used of QISS1 with third-order Lagrange interpolations (p=3) yields error fields with values close to machine epsilon whilst maintaining a stencil size of 2 as the L method.
Linear
| Mesh | Velocity L1 error | order | Velocity L2 error | order | Velocity Linf error | order | Pressure L1 error | order | Pressure L2 error | order | Pressure Linf error | order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 16×16×16 | 0.010337386766712848 | n/a | 0.005657007393059307 | n/a | 0.006428902652152874 | n/a | 0.008805495521884449 | n/a | 0.006020993385041923 | n/a | 0.01108876484035437 | n/a |
| 32×32×32 | 0.0024916611945808693 | 2.053 | 0.0014352360432396119 | 1.979 | 0.002546293554459112 | 1.336 | 0.0021833984031973197 | 2.012 | 0.0015566628515310558 | 1.952 | 0.006218550865204342 | 0.834 |
| 64×64×64 | 0.0006931981221093784 | 1.846 | 0.00039042182068771246 | 1.878 | 0.0007957172525748868 | 1.678 | 0.0006180878339082197 | 1.821 | 0.0004579762142514126 | 1.765 | 0.003516024618832575 | 0.823 |
LIS
| Mesh | Velocity L1 error | order | Velocity L2 error | order | Velocity Linf error | order | Pressure L1 error | order | Pressure L2 error | order | Pressure Linf error | order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 16×16×16 | 0.008676246062052978 | n/a | 0.004734634567195655 | n/a | 0.006114451773218135 | n/a | 0.007390249953530459 | n/a | 0.005072826416071411 | n/a | 0.010224860446700429 | n/a |
| 32×32×32 | 0.0018911785004843728 | 2.198 | 0.0010543271804403505 | 2.167 | 0.001798528830088672 | 1.765 | 0.0016667851078954422 | 2.149 | 0.0011900775044682427 | 2.092 | 0.004882407614013928 | 1.066 |
| 64×64×64 | 0.0004952284961289842 | 1.933 | 0.0002666318422913067 | 1.983 | 0.0004614460158981386 | 1.963 | 0.0004425526793380094 | 1.913 | 0.0003263767585142331 | 1.866 | 0.002441597814446611 | 1.000 |
QIS
| Mesh | Velocity L1 error | order | Velocity L2 error | order | Velocity Linf error | order | Pressure L1 error | order | Pressure L2 error | order | Pressure Linf error | order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 16×16×16 | 0.004903861652830974 | n/a | 0.002813885379504828 | n/a | 0.004503557234462954 | n/a | 0.003995228007342633 | n/a | 0.0027815397710551147 | n/a | 0.00685432195525415 | n/a |
| 32×32×32 | 0.001109368096433153 | 2.144 | 0.0006256407600960024 | 2.169 | 0.001082908522228962 | 2.056 | 0.0009582823486652074 | 2.060 | 0.000685726791334464 | 2.020 | 0.0032873392118683564 | 1.060 |
| 64×64×64 | 0.00029851197389575804 | 1.894 | 0.00016128648005764277 | 1.956 | 0.0002789810518378814 | 1.957 | 0.0002617345438629307 | 1.872 | 0.00019357443284158615 | 1.825 | 0.0016487843625357657 | 0.996 |
QISS1P3
| Mesh | Velocity L1 error | order | Velocity L2 error | order | Velocity Linf error | order | Pressure L1 error | order | Pressure L2 error | order | Pressure Linf error | order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 16×16×16 | 4.183202951107421e-11 | n/a | 2.7435545131984187e-11 | n/a | 7.872003049413934e-11 | n/a | 1.77051719172689e-11 | n/a | 1.1964099720613176e-11 | n/a | 2.754091399381764e-11 | n/a |
| 32×32×32 | 2.6100136619687503e-11 | 0.681 | 1.5894194323673115e-11 | 0.788 | 4.7954968919335084e-11 | 0.715 | 8.369435737565587e-11 | -2.241 | 4.620983945424045e-11 | -1.949 | 8.486936153850877e-11 | -1.624 |
| 64×64×64 | 2.2466659715245315e-11 | 0.216 | 1.542234976989625e-11 | 0.043 | 4.3143058943698217e-10 | -3.169 | 2.8362573223258807e-10 | -1.761 | 1.5312400022022985e-10 | -1.728 | 1.2615800626392115e-09 | -3.894 |
[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.