Idealised Ventricle Inflation: idealisedVentricle
Tutorial Aims
- Demonstrate the simulation of large-strain incompressible hyperelastic inflation of an idealised left ventricle.
- Show two solution approaches available in solids4foam:
- PETSc SNES (default), as used in [1].
- Block-coupled pressure-displacement (foam-extend), as used in [2].
Case Overview
The case models the quasi-static inflation of an idealised, axisymmetric left ventricle under an internal endocardial pressure that ramps linearly from 0 to 10 kPa over a unit pseudo-time. The myocardium is described with a nearly-incompressible Guccione passive law; for the pressure-displacement approach, an isotropic Guccione form is used (cf = ct = cfs = 1).
Two solution approaches are provided:
petsc(default): solved with thenonLinearGeometryTotalLagrangianTotalDisplacementsolid model and the PETSc SNES nonlinear solver. The mesh is generated withblockMeshand rotationally extruded withextrudeMeshto produce a full-revolution ventricle.pressureDisplacement: solved with the foam-extendcoupledPressureDisplacementSolidblock-coupled solid model on a symmetric (one-quarter) tetrahedral mesh imported from a Fluent.mshfile.
Running the Case
The tutorial case is located at solids4foam/tutorials/solids/hyperelasticity/idealisedVentricle. The case can be run using the included Allrun script:
./Allrun
The default option uses the PETSc SNES approach. The script also supports the pressure-displacement solution option:
./Allrun petsc
./Allrun pressureDisplacement
The default petsc case requires OpenFOAM.com with PETSc enabled. The pressureDisplacement option is foam-extend-only.
The default approach can also be run in parallel using:
./Allrun parallel