This ‘README’ provides on overview of the content of my sandbox.

# Blood Flow Modeling

## 1D blood flow examples with 2nd-order hydrostatic reconstruction

• Inviscid wave propagation in an artery:
• Inviscid tourniquet:
• Inviscid analytic solution by O. Delestre:
• Thacker solution - Oscillations in an aneurysm:
• Steady solution in a stenosis:
• Inviscid wave propagation in a tapered artery:

## Code

• myembed.h: modified embed.h
• csm1: volume fraction from the previous timestep, used to track emerged and submerged cells in case of a moving embedded boundary;
• flag emerged: used to indicate if emerged cells have been updated and should be used when extrapolating or restricting/refining on trees;
• modified bilinear_embed to avoid the use of values in emerged cells (csm1=0) when the emerged cells have not yet been updated (flag emerged=false);
• should we also modify restriction_average for the multigrid solver?
• 2D/3D interpolation of cell centered field on embedded boundary: embed_interpolate
• 2D/3D force computation on embedded boundaries: embed_force;
• 2D/3D torque computation on embedded boundaries: embed_torque;
• Neumann to Dirichlet boundary condition on embedded boundary (reverse engineering of the dirichlet_gradient): neumann_scalar;
• extrapolation of a cut-cell cell-centered value: embed_extrapolation. Only linear polynomial extrapolation is used to avoid unphysical extrapolated values;
• small cell treatment in update_tracer: accounts for (i) a non-zero face-velocity uf boundary conditions on the embedded boundary and (ii) the variation of the volume of the cut-cell in case of a moving embedded boundary. See Colella et al., 2006, Schneiders et al., 2013 and Miller and Trebotich, 2012).
• myembed-tree-moving.h: modified embed-tree.h
• modification of restriction_embed_linear and refine_embed_linear to avoid the use of values in emerged cells (csm1=0) when the emerged cells have not yet been updated (flag emerged=false);
• correction of error on boundary index when using embed_gradient.
• mypoisson.h: modified poisson.h
• in project, the r.h.s. \nabla \cdot u_f now takes into account non-zero face-velocity uf boundary conditions on embedded boundary.
• myembed-moving.h: functions and hooks to the centered.h events to account for moving embedded boundaries:
• solid rigid body velocity Dirichlet boundary condition: \displaystyle \mathbf{u} = \mathbf{u_p} + \omega_p \times \mathbf{r}.
• moving body Neumann boundary condition: \displaystyle \frac{\partial p}{\partial n} = -\rho_f \frac{\mathrm{D} \mathbf{u}}{\mathrm{D}t} \cdot \mathbf{n} = -\rho_f \left( \frac{\mathrm{d} \mathbf{u_p}}{\mathrm{d}t} + \frac{\mathrm{d} \mathbf{\omega_p}}{\mathrm{d}t} \times \mathbf{r} + \mathbf{\omega_p} \times \mathbf{\omega_p} \times \mathbf{r} \right) \cdot \mathbf{n}.
• modified embed_gradient to account for both the acceration a and solid rigid body acceleration when performing restriction operations in pathological situations;
• hook the the event stability to account for solid body velocity when computing the timestep;
• hook to the event advection_term to update solid (cs=0) and emerged (csm1=0) cells, using the function embed_extrapolate.

## Test cases

#### Poisson equation

• Poisson equation on a 2D complex domain with Dirichlet boundary conditions:
• Poisson equation on a 2D complex domain with Neumann boundary conditions:
• Poisson equation on a 3D complex domain with Dirichlet boundary conditions:
• Poisson equation on a 3D complex domain with Neumann boundary conditions:

#### Heat equation

Note that in the following examples, only 3 points have been used to obtain spatial convergence orders. This is done to speedup computations on the wiki. However, similar orders of convergence are obtained using 4 points.

• Heat equation in a 3D sphere with time-dependent Dirichlet boundary conditions:
• Heat equation in a 3D sphere with time-dependent Neumann boundary conditions:
• Heat equation in a shrinking 3D sphere with time-dependent Dirichlet boundary conditions - effect of submerged cells:
• Heat equation in a shrinking 3D sphere with time-dependent Neumann boundary conditions - effect of submerged cells:
• Heat equation in a expanding 3D sphere with time-dependent Dirichlet boundary conditions - effect of emerged cells:
• Heat equation in a expanding 3D sphere with time-dependent Neumann boundary conditions - effect of emerged cells:

#### Stokes equations

• Advection-diffusion around a cylinder at Pe=100 with imposed face-velocity uf:
• Advection-diffusion around a sphere at Pe=50 with imposed face-velocity uf:
• Advection-diffusion around a cylinder at Re = 40 with Dirichlet boundary conditions for the tracer:
• Advection-diffusion around a cylinder at Re = 1 with Neumann boundary conditions for the tracer:
• Advection-diffusion around a sphere at Re = 40 with Dirichlet boundary conditions for the tracer:

#### Test cases for moving embedded boundaries with passive scalar

• Translating cylinder at Re=40 and Pe=100:
• single projection and passive scalar on the bottom half ot the domain and Dirichlet boundary conditions f=0: moving_scalar1x.c
• double projection and passive scalar with Dirichlet boundary conditions f=1: moving_scalar1y.c
• Translating cylinder at Re=400: test Strouhal number St of the Bénard–von Kármán Vortex Street
• single projection and passive scalar with Pe=100 and Neumann boundary conditions \nabla f \cdot n = 1: moving_scalar2x.c
• double projection and passive scalar with Pe = 1 and Neumann boundary conditions \nabla f \cdot n = 1: moving_scalar2y.c

## References

 [schneiders2013] L. Schneiders, D. Hartmann, M. Meinke, and W. Schroder. An accurate moving boundary formulation in cut-cell methods. Journal of Computational Physics, 235:786–809, 2013. [miller2012] G. Miller and D. Trebotich. An embedded boundary method for the navier–stokes equations on a time-dependent domain. Communications in Applied Mathematics and Computational Science, 7:1–31, 2012. [colella2006] Phillip Colella, Daniel Graves, Benjamin Keen, and Modiano David. A cartesian grid embedded boundary method for hyperbolic conservation laws. Journal of Computational Physics, 211(1):347–366, 2006. [ http ] [guilmineau2002] E. Guilmineau and P. Queutey. A numerical simulation of vortex shedding from an oscillating circular cylinder. Journal of Fluids and Structures, 16:773–794, 2002. [dutsch1998] H. Dutsch, F. Durst, S. Becker, and H. Lienhart. Low-reynolds-number flow around an oscillating circular cylinder at low keulegan-carpenter numbers. Journal of Fluid Mechanics, 360:249–271, 1998. [okajima1982] A. Okajima. Strouhal numbers of rectangular cylinders. Journal of Fluid Mechanics, 123:379–398, 1982. [faxen1946] O.H. Faxen. Forces exerted on a rigid cylinder in a viscous fluid between two parallel fixed planes. Proc. R. Swed. Acad. Eng. Sci., 187:1–13, 1946.