Sunteți pe pagina 1din 14

1.

1 Basics of the Fluid-Structure Interaction problem in Deep Vein:


The blood flow inside the veins is in continuous interaction with living tissues that brings about the
importance of material stress analysis parallel to CFD. Therefore, the most significant aspect of
project is to develop and couple CFD analysis of blood flow to living tissues stress and deformation
analysis using open source numerical solvers. The idea behind the FSI problem is that the flow
deforms an elastic structure, which by deforming influences the flow around it. The FSI simulation
approaches can be divided in two different methods: monolithic and partitioned approaches.

1-The simultaneous or monolithic approach, where the interaction of the fluid and the structure
at the mutual interface is treated synchronously, through a unified mathematical model and a
unified discretization method. The system of equations is solved iteratively, which guarantees
unconditional stability. In general, monolithic schemes are accurate and stable, but computationally
expensive. The monolithic approach is ideal for strong coupling between the fluid and the solid.

2-The partitioned approach, where there is a separate mathematical model for the fluid and the
solid. The fluid and the solid continua are solved independently and they communicate through
their common interface. The coupling is achieved by enforcing the kinematic and dynamic
conditions via the boundary conditions at the interface. The solving process is sequential and
progressed from solid to fluid in each time step as it can be seen in Figure 1.1. In principle,
partitioned schemes are less accurate and stable than monolithic, but they are computationally
efficient. The partitioned method is used for either weak or strong (more accurate) coupling
between the fluid and the solid.

Figure 1.1: The Partitioned Approach with Implicit (Strong) Coupling


There are two types of Strong Coupling Schemes: Aitken and IQN-LS. Both of them give numerically
stable solutions. However, according to our previous tests on flow induced oscillation flexible beam
benchmark, IQN-LS method performs almost twice as better than Aitken’s relaxation as shown in fig 1.2.

Figure 1.2: FSI coupling methods on flow induced oscillating flexible


beam benchmark.

In FSI package provided by OpenFOAM and foam-extend, the solver used for the strong coupling
between the fluid and the solid with the explicit partitioned approach is called fsiFoam. The FSI package
can be found in the extend-bazaar and it can be compiled independently. The scope of this part of the
project can be defined in two steps: First, we will try to implement a recently developed solver called
nonNewtonianConssistenIcoFlow compatible with foam-extend.3.1 and validate with open access
experimental results. Second, the complex non-Newtonian nature of blood motivates us to develop a
two-phase Euler-Euler solver which can solve the deformation of solid phase (elastic or hyperelastic) as
well.
1.2 Geometry Preparation for the FSI Analysis in Deep Veins:

The Fluid-Structure Interaction (FSI) multiphysics interface combines fluid flow with solid mechanics to
capture the interaction between the fluid and the solid structure. A Solid Mechanics interface and a Single-
Phase Flow interface model the solid and the fluid, respectively. As it was mentioned before, foam-extend-
3-1 presents the portioned fsiFoam solver where the fluid and solid domains should be generated
individually in two different parts. Therefore, considering the Fluid-Solid Interaction in deep veins, the
geometry contains 2 main parts: Venous valves (solid) geometry with solid interface and vessels wall with
fluid interface. The same concept is true for meshing process, respectively. Fig 1.3 shows the initial
position of deep vein geometry containing venous valve. The actual venous valves, however, are sharply
touched together at the beginning which separates the upper and lower fluid domains inside the vein
passage. This phenomenon blocks the blood flow and provides the vacuum like effect inside the vessel.
When it comes to simulate this concept using CFD methods, it is almost impossible to connect two
separated fluid domains. In order to overcome this problem, our solution is simple. Instead of being
required to use two separated fluid domains, we can consider a very thick gap between two parallel valves
at the beginning through generating a single fluid domain. The gap is small enough (~ 0.3mm) to hinder
the blood flow toward the upper side.

Figure 1.3. Deep vein geometry containing venous valve for fluid and solid domains respectively.

Regarding our previous reports about the single phase CFD analysis in deep veins using OpenFOAM
solver, the finite volume domain can be divide in to half size using symmetry boundary conditions.
Therefore, the grid size would be shorten respectively and simulation could be much faster. The
symmetry boundary condition, however, have many disadvantages when it comes to implement FSI
approach. First, symmetry boundary condition is just an assumption, and would be suitable for simple
CFD analysis where the solution have a fast convergence. But FSI method is not that simple, so having
many assumptions could affect our results in a negative way. Second, symmetry boundary condition
causes many errors when the case is running in parallel, but the FSI approach is very time consuming,
thus we need to simulate our case in parallel using multicore system. Considering this, we need to
ignore the symmetry BC and use a full 3D vein and venous geometry as figure 1.3. Beyond that all the
implemented geometrical details and dimensions are same for the previous single-phase CFD case
provided in the previous section of this report.

1.3 Grid Generation for the FSI Analysis in Deep Veins:

As it was mentioned before through fsiFoam solver, we need to generate meshes for fluid and solid
domain individually. Then they can be merged together through the middle interface. Before the grid
generation we had to consider a few important subjects. First, The FSI approach is very sensitive to data
transfer through the middle interface, thus mesh resolution and quality should be precise enough in
order to guarantee a fast and precise data transfer, simultaneously. Second, as the partitioned FSI
approaches are using two different solvers for CFD and material stress analysis, grid size should be
chosen carefully to catch the surfaces precisely and perform faster convergence as well. Considering
this, a full hexahedral domain sound to be playing a very crucial role in order to have both fast and
accurate convergence. Ansys ICEM CFD is used for full hexahedral grid generation using multiple block
structures concept. Figure 1.4 shows the fluid and solid grids in two different zones.

Figure 1.3. Deep vein geometry containing venous valve for fluid and solid domains respectively.

The mesh generation process begins with multiple block structure associated to surfaces and curves.
Then we must define the node size over the associated edges and curves. In order to refuse possible
interpolation errors caused by the data transfer loop between the fluid to solid solvers and vice versa,
the surface meshes on both solid and fluid interfaces should exactly matched together. This can be
solved if we produce block structures on both side in a single ICEM project and save them in different
mesh files. Using the following instructions, we have generated a very accurate mesh with high aspect
ratio and skewness qualities. Table 1.1 shows the grid size for both fluid and solid domains. The grid
density above the valve leaves should be high enough where we are planning to evaluate shear stress
and flow behavior simultaneously.

Fluid Domain 590,000


Solid Domain 6,000
Interface 1800
Table 1.1. Grid size

1.4 Fluid-Structure Interaction Problem in Deep Vein:

The blood flow inside the veins is in continuous interaction with living tissues that brings about the
importance of material stress analysis parallel to CFD. Opensource foam-extend-3.1 provides the FSI
toolkit by fsiFoam solver. It is s a partitioned, strongly coupled FSI solver. The partitioned method is to
separately solve the governing equations of the flow and the structure, with two independent solvers.
The general fsiFoam algorithm is to:

1. Move fluid and solid mesh

2. Solve fluid equations

3. Solve solid equations

4. Compute residual

Iterate 1-4 until residual is smaller than the specified tolerance. The exchanged variables are pressure,
and viscous force in the fluid. In the structure, displacement increment and velocity are exchanged.

5. Increment time

The case directory has a fluid and solid folder, as well as the files makeLinks, makeSerialLinks and
removeLinks. The folder, fluid, contains the files required for the fluid computation. Similarly does the
folder, solid, contain the files for the solid computation. Since the case is run from the fluid directory the
solid directory has to be linked to fluid directory. This is done by running the files makeLinks or
makeSerialLinks, for parallel or serial computation respectively. Running the file removeLinks will remove
the links between the directories. Fig 1.4 shows our deep vein FSI case in foam-extend-3.1.
Figure 1.3. Deep vein FSI case in foam-extend-3.1.

Considering the flow region (CFD part), finite volume method (FVM) is be used to solve the transport
equation. Plus due to the nonNewtonian nature of blood flow, we needed to choose a suitable
nonNewtonian flow solver as well. nonNewtonianIcoFlow for transient, incompressible, laminar and
nonNewtonian flow solver compatible with foam-extent-3.1-fsi would be implemented. The flow and
nonnewtonian fluid properties would be defined by flowProperties and transportProperties inside the
fluid/constant folder as the following:

object flowProperties; object transportProperties;


// * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *//
flowModel nonNewtonianIcoFlow
nonNewtonianIcoFlow; transportModel Casson;
{
nCorrectors 3; rho rho [1 -3 0 0 0 0 0] 1060; //blood density
nNonOrthogonalCorrectors 1;
} CassonCoeffs
consistentNonNewtonianIcoFlow
{
{
nCorrectors 3;
nNonOrthogonalCorrectors 1;
} m m [ 0 2 -1 0 0 0 0 ] 3.934986e-6;

tau0 tau0 [ 0 2 -2 0 0 0 0 ] 2.9032e-6;

nuMax nuMax [ 0 2 -1 0 0 0 0 ] 13.3333e-6;

nuMin nuMin [ 0 2 -1 0 0 0 0 ] 3.9047e-6;

}
Considering the solid region (material stress part), finite volume method (FVM) is use as well. Solid
equations are defined using St. Venant-Kirchhoff stress model in order to model the deformation of
nonlinear elastic material. The stressFoam solver in foam-extend-3.1 has been implemented in order to
model a transient Updated Lagrangian formulation for non-linear materials as the following:

stressModel unsTotalLagrangianStress; rheology //material properties


unsTotalLagrangianStressCoeffs {
{ type linearElastic;
nCorrectors 1000; rho rho [1 -3 0 0 0 0 0] 1060; //Density
convergenceTolerance 1e-7; E E [1 -1 -2 0 0 0 0] 2e5; // Young’s modulus
relConvergenceTolerance 1e-3; nu nu [0 0 0 0 0 0 0] 0.49 //Poisson’s ratio.
nonLinear yes; }
debug no;
moveMesh yes;
}
Similar to fluid and solid solvers, boundary conditions for two different zones needed to be defined
separately inside 0 folder in deepVeinFsi case. Thus fluid domain demands boundary demands Velocity,
pressure and pointMotionU as the followings:

object U; object p;
// * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * *
dimensions [0 1 -1 0 0 0 0]; dimensions [0 2 -2 0 0 0 0];
internalField uniform (0 0 0); internalField uniform 0;
{ {
interface interface
{ {
type movingWallVelocity; type extrapolatedPressure;
value uniform (0 0 0); value uniform 0;
} }
inlet inlet
{ {
type timeVaryingUniformFixedValue; type zeroGradient;
fileName "$FOAM_CASE/Book22"; }
outOfBounds clamp; outlet
} {
outlet Type fixedValue;
{ value uniform 0
type zeroGradient; }
} veins
veins {
{ type extrapolatedPressure;
Type fixedValue; value uniform 0;
value uniform (0 0 0) }
} }
}
object pointMotionU;
// * * * * * * * * * * * * * * * * * * * * *//
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
{
interface
{
type fixedValue;
value uniform (0 0 0);
}
inlet
{
type fixedValue;
value uniform (0 0 0);
}
outlet
{
type fixedValue;
value uniform (0 0 0);
}
veins
{
type fixedValue;
value uniform (0 0 0);
}
}
Using timeVaryingUniformFixedValue inlet velocity boundary condition would enable us to use a time
varying velocity profile for inlet patch. The actual velocity profile through inlet in deep vein can be
implemented using womerseley velocity profile. But in this section would try a sinusoidal velocity profile
with 0.2 m/s amplitude and 0.5 s periodicity. Fig1.5. illustrates our inlet velocity respectively.

Figure 1.4. Inlet velocity profile

For the solid phase, the boundary conditions are displacement D and poinD. The venous valves are being
deformed simultaneously that are fixed to bottom wall.

object D; object pointD;


// * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * *//
dimensions [0 1 0 0 0 0 0]; dimensions [0 1 0 0 0 0 0];
internalField uniform (0 0 0); internalField uniform (0 0 0);
{ {
interface interface
{ {
type tractionDisplacement; type calculated;
traction uniform ( 0 0 0 ); value uniform (0 0 0);
pressure uniform 0; }
value uniform (0 0 0); bottom
} {
Bottom type fixedValue;
{ value uniform (0 0 0);
type fixedDisplacement; }
value uniform (0 0 0); .
} .
} }
1.5 Results and Discussion

The very beginning of our deep vein FSI simulation would be the most crucial steps for a few reasons.
First, having a bunch of very small sized grids at the gap between venous valves obligates us to keep time
step very small in order to get a suitable currant number value (~ 0.2). This makes us to set time step equal
to 1e-5s. After a while as the valves get an appropriate distance we will increase time step simultaneously.
That is why our FSI simulation is very slow at the beginning. Second, having very accurate convergence at
the beginning would guarantee the FSI to continue successfully until the end. Our current simulation time
is 0.02 s running in 18 cores system using simple algorithm for domain decomposition. Fig 1.4 and 1.5
shows valves displacements and tension for different instances. As the flow start attacking toward the
valves, the static pressure over the walls increases. The presences of static pressure gradient, depresses
the down side of the valves and increases the stress and tension level. The maximum value of material
tension has found around the stationery bottom wall. The maximum material displacement, however,
appears at the head of the valves. As it was mentioned before, this is very beginning of our FSI simulation,
but we would expect an enormous increase in both tension and displacement value.

Fig 1.6 illustrates the velocity change over time where we use a sinusoidal velocity profile at the inlet
patch. The initial velocity is zero that would get increased to 0.2 m/s. As it was expected, the flow velocity
gets its maximum value when it reaches to gap region, but the opening is not high enough to let the it
move forward. The valves head is in continuous interaction with flow having high velocity field that means
continuous viscosity, and constantly, friction increase. As the velocity inside and around the gap increases,
so does the displacement of material side as well.

Fig 1.7 shows the pressure gradient inside the flow region from inlet toward the outlet patch. The outlet
pressure is fixed to zero. However, the slightly closed venous valves keep the pressure value almost equal
to zero above the valves and hinders the extra flow leakage. Therefore, flow needs to left up the valves
first to reach a wide entrance toward the upside region.
t = 0.005s t = 0.015s

t = 0.0175s t = 0.02s
t = 0.005s t = 0.01s

t = 0.02s
t = 0.005s t = 0.015s

t = 0.0175s t = 0.02s
t = 0.005s t = 0.015s t = 0.0175s t = 0.02s

S-ar putea să vă placă și