#include <AbstractContractionModel.hpp>
Inherited by AbstractAlgebraicContractionModel, and AbstractOdeBasedContractionModel.
Public Member Functions | |
AbstractContractionModel () | |
virtual | ~AbstractContractionModel () |
virtual bool | IsStretchDependent ()=0 |
virtual bool | IsStretchRateDependent ()=0 |
virtual void | SetInputParameters (ContractionModelInputParameters &rInputParameters)=0 |
virtual void | SetStretchAndStretchRate (double stretch, double stretchRate)=0 |
void | SetStretch (double stretch) |
virtual void | RunDoNotUpdate (double startTime, double endTime, double timeStep)=0 |
virtual void | RunAndUpdate (double startTime, double endTime, double timeStep)=0 |
virtual void | UpdateStateVariables ()=0 |
virtual double | GetActiveTension ()=0 |
virtual double | GetNextActiveTension ()=0 |
General interface for contraction models (models on the cell level determining the active tension (actually a stress) induced in a cell in response to electrical activity or mechanical deformation).
Definition at line 60 of file AbstractContractionModel.hpp.
AbstractContractionModel::AbstractContractionModel | ( | ) | [inline] |
Constructor does nothing.
Definition at line 66 of file AbstractContractionModel.hpp.
Referenced by AbstractAlgebraicContractionModel::AbstractAlgebraicContractionModel().
virtual AbstractContractionModel::~AbstractContractionModel | ( | ) | [inline, virtual] |
Abstract destructor does nothing.
Definition at line 73 of file AbstractContractionModel.hpp.
virtual double AbstractContractionModel::GetActiveTension | ( | ) | [pure virtual] |
DO NOT call inbetween RunDoNotUpdate() and UpdateStateVariables() as the old state variables but the next time would then be used in calculating Ta. Instead, use GetNextActiveTension(), or call UpdateStateVariables() and then this.
Implemented in ConstantActiveTension, FakeBathContractionModel, Kerchoffs2003ContractionModel, Nash2004ContractionModel, NhsContractionModel, and NonPhysiologicalContractionModel.
Referenced by ExplicitCardiacMechanicsSolver< ELASTICITY_SOLVER, DIM >::GetActiveTensionAndTensionDerivs().
virtual double AbstractContractionModel::GetNextActiveTension | ( | ) | [pure virtual] |
Implemented in AbstractAlgebraicContractionModel, Kerchoffs2003ContractionModel, Nash2004ContractionModel, NhsContractionModel, and NhsModelWithBackwardSolver.
Referenced by ImplicitCardiacMechanicsSolver< ELASTICITY_SOLVER, DIM >::GetActiveTensionAndTensionDerivs().
virtual bool AbstractContractionModel::IsStretchDependent | ( | ) | [pure virtual] |
Implemented in ConstantActiveTension, FakeBathContractionModel, Kerchoffs2003ContractionModel, Nash2004ContractionModel, NhsContractionModel, and NonPhysiologicalContractionModel.
virtual bool AbstractContractionModel::IsStretchRateDependent | ( | ) | [pure virtual] |
Implemented in ConstantActiveTension, FakeBathContractionModel, Kerchoffs2003ContractionModel, Nash2004ContractionModel, NhsContractionModel, and NonPhysiologicalContractionModel.
Referenced by SetStretch().
virtual void AbstractContractionModel::RunAndUpdate | ( | double | startTime, | |
double | endTime, | |||
double | timeStep | |||
) | [pure virtual] |
Run the contraction (ie if an ODE system) between the given times, and update the state variables. For use in the explicit electromechanics algorithm
startTime | start time | |
endTime | end time | |
timeStep | timestep to use in ODE solving. |
Implemented in AbstractAlgebraicContractionModel, AbstractOdeBasedContractionModel, and NhsModelWithBackwardSolver.
Referenced by ExplicitCardiacMechanicsSolver< ELASTICITY_SOLVER, DIM >::Solve().
virtual void AbstractContractionModel::RunDoNotUpdate | ( | double | startTime, | |
double | endTime, | |||
double | timeStep | |||
) | [pure virtual] |
Run the contraction (ie if an ODE system) between the given times. This should NOT update any state variables. Call UpdateStateVariables() afterwards to update. For use in the implicit electromechanics algorithm
startTime | start time | |
endTime | end time | |
timeStep | timestep to use in ODE solving. |
Implemented in AbstractAlgebraicContractionModel, AbstractOdeBasedContractionModel, and NhsModelWithBackwardSolver.
Referenced by ImplicitCardiacMechanicsSolver< ELASTICITY_SOLVER, DIM >::GetActiveTensionAndTensionDerivs().
virtual void AbstractContractionModel::SetInputParameters | ( | ContractionModelInputParameters & | rInputParameters | ) | [pure virtual] |
Set any input parameters (excl stretch and stretch rate). (Pure, to be implemented in the concrete class).
rInputParameters | contains various parameters: voltage, intracellular calcium concentration |
Implemented in ConstantActiveTension, FakeBathContractionModel, Kerchoffs2003ContractionModel, Nash2004ContractionModel, NhsContractionModel, and NonPhysiologicalContractionModel.
void AbstractContractionModel::SetStretch | ( | double | stretch | ) | [inline] |
Safe setting of stretch-only, for stretch-rate independent models ONLY.
stretch | Stretch in fibre direction |
Definition at line 105 of file AbstractContractionModel.hpp.
References IsStretchRateDependent(), and SetStretchAndStretchRate().
virtual void AbstractContractionModel::SetStretchAndStretchRate | ( | double | stretch, | |
double | stretchRate | |||
) | [pure virtual] |
Set the stretch and stretch rate. (Pure, to be implemented in the concrete class).
stretch | fibre stretch (dimensionless) | |
stretchRate | fibre stretch rate (1/ms) |
Implemented in ConstantActiveTension, FakeBathContractionModel, Kerchoffs2003ContractionModel, Nash2004ContractionModel, NhsContractionModel, and NonPhysiologicalContractionModel.
Referenced by ImplicitCardiacMechanicsSolver< ELASTICITY_SOLVER, DIM >::GetActiveTensionAndTensionDerivs(), SetStretch(), and ExplicitCardiacMechanicsSolver< ELASTICITY_SOLVER, DIM >::Solve().
virtual void AbstractContractionModel::UpdateStateVariables | ( | ) | [pure virtual] |
After calling RunDoNotUpdate, which ran but should not have updated the state variables, the state variables are updated if this is called.
Implemented in AbstractAlgebraicContractionModel, and AbstractOdeBasedContractionModel.
Referenced by ImplicitCardiacMechanicsSolver< ELASTICITY_SOLVER, DIM >::Solve().