Rodin::Heart namespace

Namespace Rodin::Heart.

Directory src/Rodin/Heart

Module for reduced-order (0D) cardiac models.

Provides lumped-parameter ventricular models used to calibrate and validate the 3D constitutive laws of the Solid module. The main component is the CCMLC2014 0D ventricular model: a cardiac-cycle stepper driven by a reduced Holzapfel-type passive energy (reduced invariants with first and second derivatives) coupled to an active contraction law.

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.

Classes

template<class Scalar>
struct CCMLC2014PassiveLaw
Default passive stress law for the CCMLC2014 reduced model.
template<class Scalar>
class HolzapfelReducedLaw
Passive-energy evaluator based on reduced invariants.
template<class Scalar>
struct PassiveEnergyDerivatives
Bundle of gradient and Hessian for passive-energy derivatives.
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 ReducedInvariants
Reduced invariants used by the passive-energy law.

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 Rodin::Heart::CCMLC2014T = CCMLC2014::Solver::StepperT<PassiveEnergyLaw, PassiveLaw>

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.