|
| 1 | +## Input file for fluid simulations |
| 2 | + |
| 3 | +In this example, the abdominal aortic aneurysm (AAA) model is used as the fluid domain to perform the hemodynamics simulation, as shown in the figure below. |
| 4 | + |
| 5 | +<br> |
| 6 | +<figure> |
| 7 | + <img src="/documentation/multi_physics/user-guide/hemodynamics/imgs/AAA_geometry.png" style="float: left; width: 20%; margin-right: 1%; margin-bottom: 0.5em;"> |
| 8 | + <p style="clear: both;"> |
| 9 | +</figure> |
| 10 | +<br> |
| 11 | + |
| 12 | +An XML input file is needed to run the simulation. The setup of the input file is introduced in the following tutorial. |
| 13 | + |
| 14 | +The mesh files, including the lumen of the AAA, inlet and outlet surfaces, and wall surfaces, are first added to the input file to specify the computational domain. |
| 15 | + |
| 16 | +``` |
| 17 | +<Add_mesh name="lumen" > |
| 18 | + <Mesh_file_path> mesh/lumen-mesh-complete/mesh-complete.mesh.vtu </Mesh_file_path> |
| 19 | + <Add_face name="lumen_inlet"> |
| 20 | + <Face_file_path> mesh/lumen-mesh-complete/mesh-surfaces/Inlet.vtp </Face_file_path> |
| 21 | + </Add_face> |
| 22 | + <Add_face name="lumen_outlet1"> |
| 23 | + <Face_file_path> mesh/lumen-mesh-complete/mesh-surfaces/Outlet_1.vtp </Face_file_path> |
| 24 | + </Add_face> |
| 25 | + <Add_face name="lumen_outlet2"> |
| 26 | + <Face_file_path> mesh/lumen-mesh-complete/mesh-surfaces/Outlet_2.vtp </Face_file_path> |
| 27 | + </Add_face> |
| 28 | + <Add_face name="lumen_wall"> |
| 29 | + <Face_file_path> mesh/lumen-mesh-complete/mesh-surfaces/lumen_wall.vtp </Face_file_path> |
| 30 | + </Add_face> |
| 31 | + <Domain> 0 </Domain> |
| 32 | +</Add_mesh> |
| 33 | +
|
| 34 | +``` |
| 35 | + |
| 36 | +In the equation section, the fluid equation is employed for computational hemodynamics to solve the Navier-Stokes equations. The setup of equation parameters can be found in the equation section. In this example, the Newtonian fluid with a constant viscosity of 0.04 is used to model the blood. Multiple quantities, including velocity, pressure, traction, etc, are contained in the output section. |
| 37 | + |
| 38 | +``` |
| 39 | +<Add_equation type="fluid" > |
| 40 | + <Coupled> true </Coupled> |
| 41 | + <Min_iterations> 3 </Min_iterations> |
| 42 | + <Max_iterations> 5</Max_iterations> |
| 43 | + <Tolerance> 1e-11 </Tolerance> |
| 44 | + <Backflow_stabilization_coefficient> 0.2 </Backflow_stabilization_coefficient> |
| 45 | +
|
| 46 | + <Density> 1.06 </Density> |
| 47 | + <Viscosity model="Constant" > |
| 48 | + <Value> 0.04 </Value> |
| 49 | + </Viscosity> |
| 50 | +
|
| 51 | + <Output type="Spatial" > |
| 52 | + <Velocity> true </Velocity> |
| 53 | + <Pressure> true </Pressure> |
| 54 | + <Traction> true </Traction> |
| 55 | + <Vorticity> true</Vorticity> |
| 56 | + <Divergence> true</Divergence> |
| 57 | + <WSS> true </WSS> |
| 58 | + </Output> |
| 59 | +``` |
| 60 | + |
| 61 | +The Navier-Stokes linear solver based on the partitioned method for fluid equations is selected for this example, with both the linear algebra type and preconditioner specified as “fsils”. A comprehensive introduction of the parameters in the linear solver can be found in the linear solver subsection. |
| 62 | + |
| 63 | +``` |
| 64 | + <LS type="NS" > |
| 65 | + <Linear_algebra type="fsils" > |
| 66 | + <Preconditioner> fsils </Preconditioner> |
| 67 | + </Linear_algebra> |
| 68 | + <Max_iterations> 15 </Max_iterations> |
| 69 | + <NS_GM_max_iterations> 10 </NS_GM_max_iterations> |
| 70 | + <NS_CG_max_iterations> 300 </NS_CG_max_iterations> |
| 71 | + <Tolerance> 1e-3 </Tolerance> |
| 72 | + <NS_GM_tolerance> 1e-3 </NS_GM_tolerance> |
| 73 | + <NS_CG_tolerance> 1e-3 </NS_CG_tolerance> |
| 74 | + <Absolute_tolerance> 1e-17 </Absolute_tolerance> |
| 75 | + <Krylov_space_dimension> 250 </Krylov_space_dimension> |
| 76 | + </LS> |
| 77 | +``` |
| 78 | + |
| 79 | +Notably, boundary conditions need to be defined on the surfaces of the AAA mesh. Dirichlet boundary conditions are imposed on the lumen inlet and wall surface, and Neumann boundary conditions are specified for the lumen outlets. |
| 80 | + |
| 81 | +``` |
| 82 | + <Add_BC name="lumen_inlet" > |
| 83 | + <Type> Dir </Type> |
| 84 | + <Value> -62.79 </Value> |
| 85 | + </Add_BC> |
| 86 | +
|
| 87 | + <Add_BC name="lumen_outlet1" > |
| 88 | + <Type> Neu </Type> |
| 89 | + <Time_dependence> Resistance </Time_dependence> |
| 90 | + <Value> 381.8 </Value> |
| 91 | + </Add_BC> |
| 92 | +
|
| 93 | + <Add_BC name="lumen_outlet2" > |
| 94 | + <Type> Neu </Type> |
| 95 | + <Time_dependence> Resistance </Time_dependence> |
| 96 | + <Value> 381.8 </Value> |
| 97 | + </Add_BC> |
| 98 | +
|
| 99 | + <Add_BC name="lumen_wall" > |
| 100 | + <Type> Dir </Type> |
| 101 | + <Time_dependence> Steady </Time_dependence> |
| 102 | + <Value> 0.0 </Value> |
| 103 | + </Add_BC> |
| 104 | +
|
| 105 | +</Add_equation> |
| 106 | +``` |
| 107 | + |
1 | 108 | ## Prescribed Wall Motion |
2 | 109 |
|
3 | 110 | In this section, we discuss how to set up a simulation with prescribed wall motion. For example, one may wish to extract the motion of the walls of the ventricle from CT/MR scans, and reconstruct the flow fields by solving the Navier-Stokes equations. This is accomplished by computing the displacement trajectory of the endocardial surface and prescribed it as the boundary condition. This must be done offline by the user for their specific problem. This is typically done for a small subset of the total times, and displacements between the specified times are prescribed by using a piece-wise linear interpolant. Some researchers refer to this method as the one-way coupled fluid-structure interaction modeling. But since only fluid equation is solved here, we categorize it as flow simulation. |
@@ -102,8 +209,7 @@ For example, |
102 | 209 |
|
103 | 210 | Note that in this example, we wish the mesh motion to be periodic in time, and thus the final displacement is zero. |
104 | 211 |
|
105 | | - |
106 | | -<h3> Input file </h3> |
| 212 | +<!-- <h3> Input file </h3> |
107 | 213 |
|
108 | 214 | To set up the input file, set the equation to be FSI to allow the mesh to move under the ALE framework, even though there is not necessarily a structure. For the moving wall, add the motion file when specifying the wall boundary condition, and turn on the option “Impose on state variable integral”. |
109 | 215 |
|
@@ -161,4 +267,4 @@ Under the mesh equation, we similarly add the motion file. |
161 | 267 | } |
162 | 268 | ``` |
163 | 269 |
|
164 | | -Follow this [instruction](svfsi.html#app_restart_after_remesh) if you need to restart your simulation after stoppage. |
| 270 | +Follow this [instruction](svfsi.html#app_restart_after_remesh) if you need to restart your simulation after stoppage. --> |
0 commit comments