Fluidstructure interaction in a tube (nonsymmetric external constraints)
This is an extension of the symmetric case. Now, we include a different constraint on the top part of the tube. Additionally, we use a timedependent velocity profile for the inlet.
1. Introduction
Blood flow and blood vessel walls mechanically deform each other. We study this fluidstructure interaction in a simplified geometry : a tube. The tube is a simplified model for a part of either an artery or a vein. The inside of the tube represents blood, and its wall has a certain thickness to represent the vessel wall.
More specifically, we use this simple test to study the variability of the external constraints. This corresponds to the reaction of the surrounding tissues to the deformation of the blood vessel wall. These tissues may be softer or stiffer in certain parts of the body.
2. Geometry
The tube geometry is adapted from the Feel++ wavepressure3D FSI example. // TODO link It consists in a cylinder (the fluid domain) with an external layer (the solid domain). The surface between the two domains is the fluidstructure interface.
2.1. Dimensions
We changed the scale and the length/diam ratio as follows :
internal radius 
\(0.01mm\) 
external radius 
\(0.012mm\) 
length 
\(0.3mm\) 
This makes the tube reasonably close to the dorsal aorta (radius \(~0.01mm\)).
2.2. Physical measures and units
We use the following physical input expressed in \(mm, g, s\)
/ / I will include this a csv later
For the fluid:
Notation 
Quantity 
Value 
Units (mm, g, s) 
\(\boldsymbol{u}_f\) 
fluid velocity 
\( 1 \) 
\( mm \cdot s^{1} \) 
\(\rho_f\) 
fluid density 
\( 1 \times 10^{3} \) 
\( g \cdot mm^{3}\) 
\(\mu_f\) 
dynamic viscosity 
\( 2.2 \times 10^{3} \) 
\( g \cdot mm^{1} \cdot s^{1}\) 
And for the solid:
Notation 
Quantity 
Value 
Units (mm, g, s) 
\(E_s\) 
Young modulus 
\( 3 \times 10^3 \) 
\( g.mm^{1}.s^{2} \) 
\(\nu_s\) 
Poisson’s ratio 
\( 0.3 \) 
dimensionless 
\(\rho_s\) 
solid density 
\( 1.2 \times 10^{3} \) 
\( g.mm^{3} \) 
The Poisson’s ratio used here is lower than it should be. We should try with 0.45 later. 
3. DirichletNeumann FSI coupling
3.2. Boundary conditions
We use the following boundary conditions for the fluid:

Dirichlet condition at the inlet : a timedependent function matching the cardiac cycle of the DMSO profile

Neumann condition at the outlet : free outlet
And for the solid:

Dirichlet condition at the "inlet ring" : the displacement is 0

Dirichlet condition at the "outlet ring" : the displacement is 0

Robin condition at the exterior surface to model the surrounding tissue constraint :

for z>0, the external tissues are stiff, the coefficient is high

for z<0, the external tissues are soft, the coefficient is low

We used the following coefficients :
Coefficient 
Value 
Stiff 
\( 10^6 \) 
Soft 
\( 10^2 \) 
We obtain a maximum displacement of \( ~8 \times 10^{4} mm \) which is close to \( 5\% \) of the tube diameter, which is our goal. Further tuning is required though.
3.3. Solvers settings
3.3.1. DirichletNeumann FSI coupling scheme
We start with a DirichletNeumann semiimplicit scheme, using the following settings:
Name 
Value 
tolerance 
\( 1 \times 10^{5} \) (default) 
maximum fixedpoint iterations 
\( 1000 \) (default) 
Solver performance
Fluid preconditioner
We compare the convergence speed of two preconditioning strategies:
We limit the simulation to 10 time steps.
The comparison scripts used can be found here.

Performance table (8 cores on atlas node)
Name 
GASM (first) 
GAMG (second) 
Number of KSP iterations 
\( ~40 \) 
\( ~20 \) 
Assembling time (fluid) 
\( ~1.5 s \) 
\( ~1.4 s \) 
Solving time (fluid) 
\( ~12 s \) 
\( ~0.75 s \) 
One FSI iteration time 
\( ~160 s \) 
\( ~50 s \) 
Full simulation time 
\( ~32 min \) 
\( ~11 min \) 
Scaling
With GASM, the solver failed to converge with 24 cores. With GAMG, we successfully scaled to 24 cores.

GAMG scaling
Number of cores 
8 
24 
Number of KSP iterations 
\( ~20 \) 
\( ~22 \) 
Assembling time (fluid) 
\( ~1.4 s \) 
\( ~0.4 s \) 
Solving time (fluid) 
\( ~0.75 s \) 
\( ~0.40 s \) 
One FSI iteration time 
\( ~50 s \) 
\( ~20 s \) 
Full simulation time 
\( ~11 min \) 
\( ~4 min \) 
4. RobinRobin FSI coupling scheme
4.2. Settings
To try to accelerate our simulation, we keep our GAMG preconditioning strategy and try to switch to a RobinRobin semiimplicit coupling scheme.
We use the following settings:
Name 
Value 
\( \gamma \) 
\( 2500 \) (default) 
\( \gamma_0 \) 
\( 1 \) (default) 
\( \alpha \) 
\( 1 \) (default) 
maximum fixedpoint iterations 
\( 3 \) 
This does not work correctly because the FSI convergence is too slow.