Hello everyone,
Sorry to bother you, but I need some clarification regarding the svFSI input file. Below is the input file I created, following the instructions in the svFSImaster.
#----------------------------------------------------------------
# General simulation parameters
Continue previous simulation: 0
Number of spatial dimensions: 3
Number of time steps: 1028
Time step size: 0.001
Spectral radius of infinite time step: 0.50
Searched file name to trigger stop: STOP_SIM
Save results to VTK format: 1
Name prefix of saved VTK files: result
Increment in saving VTK files: 10
Start saving after time step: 1
Increment in saving restart files: 50
Convert BIN to VTK format: 0
Verbose: 1
Warning: 0
Debug: 0
#----------------------------------------------------------------
# Mesh data
Add mesh: lumen {
Mesh file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/lumen_mesh/mesh-complete.mesh.vtu
Add face: lumen_wall {
Face file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/lumen_mesh/mesh-surfaces/wall.vtp
}
Add face: lumen_inlet {
Face file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/lumen_mesh/mesh-surfaces/inlet.vtp
}
Add face: lumen_outlet_1 {
Face file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/lumen_mesh/mesh-surfaces/outlet_1.vtp
}
Add face: lumen_outlet_2 {
Face file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/lumen_mesh/mesh-surfaces/outlet_2.vtp
}
Add face: lumen_outlet_3 {
Face file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/lumen_mesh/mesh-surfaces/outlet_3.vtp
}
Add face: lumen_outlet_4 {
Face file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/lumen_mesh/mesh-surfaces/outlet_4.vtp
}
Initial velocities file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/result_100.vtu
Initial pressures file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/result_100.vtu
Domain: 1
}
Add mesh: wall {
Mesh file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/solid_mesh/mesh-complete.mesh.vtu
Add face: wall_inlet {
Face file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/solid_mesh/mesh-surfaces/inlet.vtp
}
Add face: wall_outlet_1 {
Face file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/solid_mesh/mesh-surfaces/outlet_1.vtp
}
Add face: wall_outlet_2 {
Face file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/solid_mesh/mesh-surfaces/outlet_2.vtp
}
Add face: wall_outlet_3 {
Face file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/solid_mesh/mesh-surfaces/outlet_3.vtp
}
Add face: wall_outlet_4 {
Face file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/solid_mesh/mesh-surfaces/outlet_4.vtp
}
Add face: wall_inner {
Face file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/solid_mesh/walls_combined_connected_region_1.vtp
}
Fiber direction file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/solid_mesh/f1_Long.vtu
Fiber direction file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/solid_mesh/f1_Sheet.vtu
Fiber direction file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/solid_mesh/f2_Long.vtu
Fiber direction file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/mesh/solid_mesh/f2_Sheet.vtu
Prestress file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/result_020.vtu
Initial displacements file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/result_020.vtu
Domain: 2
}
#----------------------------------------------------------------
# Projections
Add projection: wall_inner {
Project from face: lumen_wall
Projection tolerance: 1e-6
}
#----------------------------------------------------------------
# Equations
Add equation: FSI {
Coupled: 1
Min iterations: 3
Max iterations: 20
Tolerance: 1e-3
Domain: 1 {
Equation: fluid
Density: 0.00106
Viscosity: Constant {Value: 0.004}
Backflow stabilization coefficient: 0.2
}
Domain: 2 {
Equation: struct
Density: 2e-3
Elasticity modulus: 2e6
Poisson ratio: 0.5
Constitutive model: HGO {
a4: 419000
b4: 12.2
a6: 419000
b6: 12.2
kappa: 0.29
}
Dilational penalty model: Quad
Penalty parameter: 1.0e8
}
Output: Spatial {
Velocity: t
Pressure: t
Displacement: t
WSS: t
}
Output: Alias {
Displacement: FS_Displacement
}
LS type: GMRES {
Preconditioner: FSILS
Max iterations: 100
Tolerance: 1D-4
Krylov space dimension: 100
}
Initialize RCR from flow: t
Add BC: lumen_wall {
Type: Dir
Value: 0.0
}
Add BC: lumen_inlet {
Type: Dir
Time dependence: General
BCT file path: /global-scratch/bulk_pool/iianniruberto/Docker/AORTA-013/bct.vtp
}
Add BC: lumen_outlet_1 {
Type: Neu
Time dependence: RCR
RCR values: "0.06847, 0.529, 3.315"
Distal pressure: 0.0
}
Add BC: lumen_outlet_2 {
Type: Neu
Time dependence: RCR
RCR values: "0.1632, 0.1167, 15.17"
Distal pressure: 0.0
}
Add BC: lumen_outlet_3 {
Type: Neu
Time dependence: RCR
RCR values: "0.004672, 1.028, 1.694"
Distal pressure: 0.0
}
Add BC: lumen_outlet_4 {
Type: Neu
Time dependence: RCR
RCR values: "0.0181, 13.11, 0.1257"
Distal pressure: 0.0
}
Add BC: wall_inlet {
Type: Dir
Value: 0.0
}
Add BC: wall_outlet_1 {
Type: Dir
Value: 0.0
}
Add BC: wall_outlet_2 {
Type: Dir
Value: 0.0
}
Add BC: wall_outlet_3 {
Type: Dir
Value: 0.0
}
Add BC: wall_outlet_4 {
Type: Dir
Value: 0.0
}
}
Add equation: mesh {
Coupled: 1
Min iterations: 2
Max iterations: 5
Tolerance: 1e-4
Poisson ratio: 0.3
LS type: CG {
Preconditioner: FSILS
Tolerance: 1e-4
}
Output: Spatial {
Displacement: t
}
Add BC: lumen_inlet {
Type: Dir
Value: 0.0
}
Add BC: lumen_outlet_1 {
Type: Dir
Value: 0.0
}
Add BC: lumen_outlet_2 {
Type: Dir
Value: 0.0
}
Add BC: lumen_outlet_3 {
Type: Dir
Value: 0.0
}
Add BC: lumen_outlet_4 {
Type: Dir
Value: 0.0
}
}
1. Are the pressure and prestress initialized automatically in the simulation when the path for the files is indicateed, or do I need to add specific commands in the "Add Equation {}" section?
2. The svFSImaster mentions that when using the FSI equation, a mesh equation is always required. Does this mesh equation govern the motion of the structural domain? In my simulation, which involves FSI of the aorta, I do not see the motion of the structural domain. How does this work exactly?
Thanks in advance!
Ione
FSI input file clarification
- David Codoni
- Posts: 6
- Joined: Thu Sep 26, 2024 3:09 pm
Re: FSI input file clarification
Hello Ione,
1. Values of pressure are initialized automatically in the simulation, and the prestress values are imposed from the file. There is no need to add any specific commands in the Add Equation {} section.
2. In an FSI simulation using the Arbitrary Lagrangian Eulerian (ALE) method, the mesh equation is used to move the fluid mesh, not the solid mesh. Specifically, we solve the fluid problem (to obtain velocity and pressure) and the structural problem (to obtain displacements). The solid mesh moves according to the structural solution. However, to ensure consistent movement of the fluid mesh relative to the solid mesh, the mesh equation is employed which typically solves a linear elastodynamics problem.
Let me know if you have any further questions or need additional clarification.
Best,
David
1. Values of pressure are initialized automatically in the simulation, and the prestress values are imposed from the file. There is no need to add any specific commands in the Add Equation {} section.
2. In an FSI simulation using the Arbitrary Lagrangian Eulerian (ALE) method, the mesh equation is used to move the fluid mesh, not the solid mesh. Specifically, we solve the fluid problem (to obtain velocity and pressure) and the structural problem (to obtain displacements). The solid mesh moves according to the structural solution. However, to ensure consistent movement of the fluid mesh relative to the solid mesh, the mesh equation is employed which typically solves a linear elastodynamics problem.
Let me know if you have any further questions or need additional clarification.
Best,
David
- Ione Ianniruberto
- Posts: 8
- Joined: Thu Jun 13, 2024 5:43 am
Re: FSI input file clarification
Thanks for your answer!
So, is there any way to actually investigated the solid wall deformation in the simulation?
Thanks again,
Ione
So, is there any way to actually investigated the solid wall deformation in the simulation?
Thanks again,
Ione
- David Codoni
- Posts: 6
- Joined: Thu Sep 26, 2024 3:09 pm
Re: FSI input file clarification
Hello Ione,
If you want to visualize the wall deformation, you can follow these steps:
1. Load the .vtu files in paraview.
2. Click on the icon "Warp by vector" (It should be the 9th icon on one of the top bars).
3. You can use the scale factor in the properties section to scale up the deformation.
Please let me know if this answer your question.
Best,
David
If you want to visualize the wall deformation, you can follow these steps:
1. Load the .vtu files in paraview.
2. Click on the icon "Warp by vector" (It should be the 9th icon on one of the top bars).
3. You can use the scale factor in the properties section to scale up the deformation.
Please let me know if this answer your question.
Best,
David