AbstractCardiacCell Class Reference

#include <AbstractCardiacCell.hpp>

Inheritance diagram for AbstractCardiacCell:

Inheritance graph
[legend]
Collaboration diagram for AbstractCardiacCell:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 AbstractCardiacCell (AbstractIvpOdeSolver *pOdeSolver, unsigned numberOfStateVariables, unsigned voltageIndex, AbstractStimulusFunction *intracellularStimulus)
virtual void Init ()
virtual OdeSolution Compute (double tStart, double tEnd)
virtual void ComputeExceptVoltage (double tStart, double tEnd)
virtual double GetIIonic ()=0
void SetVoltage (double voltage)
double GetVoltage ()
unsigned GetVoltageIndex ()
void SetStimulusFunction (AbstractStimulusFunction *stimulus)
double GetStimulus (double time)
void SetIntracellularStimulusFunction (AbstractStimulusFunction *stimulus)
double GetIntracellularStimulus (double time)
virtual double GetIntracellularCalciumConcentration ()
virtual void VerifyStateVariables ()
virtual void SetState (CellModelState state)
virtual void SetSlowValues (const std::vector< double > &rSlowValues)
virtual void GetSlowValues (std::vector< double > &rSlowValues)
virtual bool IsFastOnly ()
virtual void AdjustOutOfRangeSlowValues (std::vector< double > &rSlowValues)
virtual unsigned GetNumSlowValues ()

Protected Attributes

unsigned mVoltageIndex
AbstractIvpOdeSolvermpOdeSolver
double mDt
AbstractStimulusFunctionmpIntracellularStimulus
bool mSetVoltageDerivativeToZero


Detailed Description

This is the base class for cardiac cell models.

Definition at line 50 of file AbstractCardiacCell.hpp.


Member Function Documentation

void AbstractCardiacCell::Init (  )  [virtual]

Initialise the cell: set our state variables to the initial conditions, set model parameters to their default values.

Initialise the cell: set our state variables to the initial conditions (done here), set model parameters to their default values (done by subclasses).

Reimplemented in BackwardEulerLuoRudyIModel1991.

Definition at line 59 of file AbstractCardiacCell.cpp.

Referenced by BackwardEulerFoxModel2002Modified::BackwardEulerFoxModel2002Modified(), FitzHughNagumo1961OdeSystem::FitzHughNagumo1961OdeSystem(), HodgkinHuxleySquidAxon1952OriginalOdeSystem::HodgkinHuxleySquidAxon1952OriginalOdeSystem(), BackwardEulerLuoRudyIModel1991::Init(), LuoRudyIModel1991OdeSystem::LuoRudyIModel1991OdeSystem(), and TenTusscher2006OdeSystem::TenTusscher2006OdeSystem().

OdeSolution AbstractCardiacCell::Compute ( double  tStart,
double  tEnd 
) [virtual]

Simulates this cell's behaviour between the time interval [tStart, tEnd], with timestep dt.

Simulates this cell's behaviour between the time interval [tStart, tEnd], with timestep mDt.

Reimplemented in AbstractBackwardEulerCardiacCell< SIZE >, AbstractBackwardEulerCardiacCell< 12 >, AbstractBackwardEulerCardiacCell< 1 >, and AbstractBackwardEulerCardiacCell< 3 >.

Definition at line 69 of file AbstractCardiacCell.cpp.

References mpOdeSolver, and AbstractIvpOdeSolver::Solve().

void AbstractCardiacCell::ComputeExceptVoltage ( double  tStart,
double  tEnd 
) [virtual]

Simulates this cell's behaviour between the time interval [tStart, tEnd], with timestep dt, but does not update the voltage.

Simulates this cell's behaviour between the time interval [tStart, tEnd], with timestep mDt, but does not update the voltage.

Reimplemented in AbstractBackwardEulerCardiacCell< SIZE >, FakeBathCell, AbstractBackwardEulerCardiacCell< 12 >, AbstractBackwardEulerCardiacCell< 1 >, and AbstractBackwardEulerCardiacCell< 3 >.

Definition at line 79 of file AbstractCardiacCell.cpp.

References mpOdeSolver, AbstractIvpOdeSolver::SolveAndUpdateStateVariable(), and VerifyStateVariables().

virtual double AbstractCardiacCell::GetIIonic (  )  [pure virtual]

double AbstractCardiacCell::GetIntracellularCalciumConcentration (  )  [virtual]

[Ca_i] is needed for mechanics, so we explcitly have a Get method (rather than use a get by name type method, to avoid inefficiency when using different cells types of cells). This method by defaults throws an exception, so should be implemented in the concrete class if IntracellularCalciumConcentration is one of the state variables

Reimplemented in BackwardEulerLuoRudyIModel1991, and LuoRudyIModel1991OdeSystem.

Definition at line 128 of file AbstractCardiacCell.cpp.

virtual void AbstractCardiacCell::VerifyStateVariables (  )  [inline, virtual]

Empty method which can be over-ridden in concrete cell class which should go through the current state vector and go range checking on the values (eg check that concentrations are positive and gating variables are between zero and one). This method is called in the ComputeExceptVoltage method.

Reimplemented in BackwardEulerLuoRudyIModel1991, DiFrancescoNoble1985OdeSystem, LuoRudyIModel1991OdeSystem, and TenTusscher2006OdeSystem.

Definition at line 125 of file AbstractCardiacCell.hpp.

Referenced by AbstractBackwardEulerCardiacCell< SIZE >::Compute(), ComputeExceptVoltage(), and AbstractBackwardEulerCardiacCell< SIZE >::ComputeExceptVoltage().

void AbstractCardiacCell::SetState ( CellModelState  state  )  [virtual]

Pure method for setting the state of this model. This should (i) set the state (ii) initialise the cell (iii) SET mNumberOfStateVariables CORRECTLY (as this would not have been known in the constructor

Definition at line 137 of file AbstractCardiacCell.cpp.

void AbstractCardiacCell::SetSlowValues ( const std::vector< double > &  rSlowValues  )  [virtual]

Pure method, for setting the slow variables. Should only be valid in fast mode)

Definition at line 142 of file AbstractCardiacCell.cpp.

void AbstractCardiacCell::GetSlowValues ( std::vector< double > &  rSlowValues  )  [virtual]

Pure method, for getting the slow variables. Should only valid in slow mode.

Definition at line 147 of file AbstractCardiacCell.cpp.

bool AbstractCardiacCell::IsFastOnly (  )  [virtual]

Get whether this cell is a fast or slow version

Definition at line 152 of file AbstractCardiacCell.cpp.

unsigned AbstractCardiacCell::GetNumSlowValues (  )  [virtual]

Pure method for getting the number of slow variables for the cell model (irrespective of whether in fast or slow mode

Definition at line 157 of file AbstractCardiacCell.cpp.


Member Data Documentation

unsigned AbstractCardiacCell::mVoltageIndex [protected]

The index of the voltage within our state variable vector

Definition at line 54 of file AbstractCardiacCell.hpp.

Referenced by HodgkinHuxleySquidAxon1952OriginalOdeSystem::GetIIonic(), and FitzHughNagumo1961OdeSystem::GetIIonic().

Pointer to the solver used to simulate currents for this cell.

Definition at line 55 of file AbstractCardiacCell.hpp.

Referenced by Compute(), and ComputeExceptVoltage().


The documentation for this class was generated from the following files:

Generated on Wed Mar 18 12:52:00 2009 for Chaste by  doxygen 1.5.5