Heart module
Cardiac models and their coupled state evolution.
const auto report = model.step(dt);
CCMLC2014T advances a reduced ventricular model through a cardiac cycle. HolzapfelReducedLaw and CCMLC2014PassiveLaw supply its reduced passive energy and stress response. The module supports cardiac-cycle studies and constitutive parameter calibration before larger three-dimensional simulations.
0D models integrate ordinary differential equations over a heartbeat and are orders of magnitude cheaper than 3D simulations; parameters should round-trip between the 0D cycle and the corresponding 3D laws before debugging full simulations.
Representative use
The reduced ventricular model advances a configured state with a nonlinear time step:
using Model = Heart::CCMLC2014T<>; Model::Input input; Model model(input); const auto report = model.step(dt);
Material, loading and initialization parameters in input must be chosen for the intended experiment before advancing the model.
Classes
-
template<class Scalar>class HolzapfelReducedLaw
- Passive-energy evaluator based on reduced invariants.
-
template<class Scalar>struct ReducedInvariants
- Reduced invariants used by the passive-energy law.
-
template<class Scalar>struct ReducedInvariantGradient
- First derivatives of passive-energy density with respect to reduced invariants.
-
template<class Scalar>struct ReducedInvariantHessian
- Second derivatives of passive-energy density with respect to reduced invariants.
-
template<class Scalar>struct PassiveEnergyDerivatives
- Bundle of gradient and Hessian for passive-energy derivatives.
-
template<class Scalar>struct CCMLC2014PassiveLaw
- Default passive stress law for the CCMLC2014 reduced model.
Typedefs
-
template<class PassiveEnergyLaw = HolzapfelReducedLaw<Real>, class PassiveLaw = CCMLC2014PassiveLaw<Real>>using CCMLC2014T = CCMLC2014::
Solver:: StepperT<PassiveEnergyLaw, PassiveLaw> - Default CCMLC2014 0D ventricular model type.
Typedef documentation
template<class PassiveEnergyLaw = HolzapfelReducedLaw<Real>, class PassiveLaw = CCMLC2014PassiveLaw<Real>>
using CCMLC2014T = CCMLC2014:: Solver:: StepperT<PassiveEnergyLaw, PassiveLaw>
Defined in Rodin/Heart/ForwardDecls.h
Default CCMLC2014 0D ventricular model type.
| Template parameters | |
|---|---|
| PassiveEnergyLaw | Reduced passive energy law. |
| PassiveLaw | Passive stress operator from the reduced invariants. |
The default template arguments are declared here, and only here — an alias template cannot be redeclared elsewhere with defaults.