AbstractBackwardEulerCardiacCell< 0u > Class Template Reference

#include <AbstractBackwardEulerCardiacCell.hpp>

Inherits AbstractCardiacCell.

Collaboration diagram for AbstractBackwardEulerCardiacCell< 0u >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AbstractBackwardEulerCardiacCell (unsigned numberOfStateVariables, unsigned voltageIndex, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus)
virtual ~AbstractBackwardEulerCardiacCell ()
OdeSolution Compute (double tStart, double tEnd, double tSamp=0.0)
void ComputeExceptVoltage (double tStart, double tEnd)
void SolveAndUpdateState (double tStart, double tEnd)

Protected Member Functions

virtual void ComputeOneStepExceptVoltage (double tStart)=0
virtual void UpdateTransmembranePotential (double time)=0

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
void EvaluateYDerivatives (double time, const std::vector< double > &rY, std::vector< double > &rDY)

Friends

class boost::serialization::access

Detailed Description

template<>
class AbstractBackwardEulerCardiacCell< 0u >

Specialization for the case where there are no non-linear ODEs in the model.

Definition at line 332 of file AbstractBackwardEulerCardiacCell.hpp.


Constructor & Destructor Documentation

AbstractBackwardEulerCardiacCell< 0u >::AbstractBackwardEulerCardiacCell ( unsigned  numberOfStateVariables,
unsigned  voltageIndex,
boost::shared_ptr< AbstractStimulusFunction pIntracellularStimulus 
) [inline]

Standard constructor for a cell.

Parameters:
numberOfStateVariables the size of the ODE system
voltageIndex the index of the variable representing the transmembrane potential within the state variable vector
pIntracellularStimulus the intracellular stimulus function

Definition at line 359 of file AbstractBackwardEulerCardiacCell.hpp.

virtual AbstractBackwardEulerCardiacCell< 0u >::~AbstractBackwardEulerCardiacCell (  )  [inline, virtual]

Virtual destructor

Definition at line 369 of file AbstractBackwardEulerCardiacCell.hpp.


Member Function Documentation

OdeSolution AbstractBackwardEulerCardiacCell< 0u >::Compute ( double  tStart,
double  tEnd,
double  tSamp = 0.0 
) [inline, virtual]

Simulates this cell's behaviour between the time interval [tStart, tEnd], with timestep mDt. Uses a forward Euler step to update the transmembrane potential at each timestep.

The length of the time interval must be a multiple of the timestep.

Parameters:
tStart beginning of the time interval to simulate
tEnd end of the time interval to simulate
tSamp sampling interval for returned results (defaults to mDt)
Returns:
the values of each state variable, at intervals of tSamp.

Reimplemented from AbstractCardiacCell.

Definition at line 384 of file AbstractBackwardEulerCardiacCell.hpp.

References AbstractBackwardEulerCardiacCell< SIZE >::ComputeOneStepExceptVoltage(), AbstractCardiacCell::mDt, AbstractUntemplatedParameterisedSystem::mpSystemInfo, OdeSolution::rGetSolutions(), AbstractParameterisedSystem< std::vector< double > >::rGetStateVariables(), OdeSolution::rGetTimes(), OdeSolution::SetNumberOfTimeSteps(), OdeSolution::SetOdeSystemInformation(), AbstractBackwardEulerCardiacCell< SIZE >::UpdateTransmembranePotential(), and AbstractParameterisedSystem< std::vector< double > >::VerifyStateVariables().

void AbstractBackwardEulerCardiacCell< 0u >::ComputeExceptVoltage ( double  tStart,
double  tEnd 
) [inline, virtual]

Simulates this cell's behaviour between the time interval [tStart, tEnd], with timestep mDt. The transmembrane potential is kept fixed throughout.

The length of the time interval must be a multiple of the timestep.

Parameters:
tStart beginning of the time interval to simulate
tEnd end of the time interval to simulate

Reimplemented from AbstractCardiacCell.

Definition at line 444 of file AbstractBackwardEulerCardiacCell.hpp.

References AbstractBackwardEulerCardiacCell< SIZE >::ComputeOneStepExceptVoltage(), AbstractCardiacCell::mDt, and AbstractParameterisedSystem< std::vector< double > >::VerifyStateVariables().

virtual void AbstractBackwardEulerCardiacCell< 0u >::ComputeOneStepExceptVoltage ( double  tStart  )  [protected, pure virtual]

Compute the values of all state variables, except the voltage, using backward Euler, for one timestep from tStart.

Note:
This method must be provided by subclasses.
Parameters:
tStart start of this timestep
void AbstractBackwardEulerCardiacCell< 0u >::EvaluateYDerivatives ( double  time,
const std::vector< double > &  rY,
std::vector< double > &  rDY 
) [inline, private, virtual]

This function should never be called - the cell class incorporates its own solver.

Parameters:
time 
rY 
rDY 

Implements AbstractOdeSystem.

Definition at line 506 of file AbstractBackwardEulerCardiacCell.hpp.

References NEVER_REACHED.

template<class Archive >
void AbstractBackwardEulerCardiacCell< 0u >::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]

Archive the member variables.

Parameters:
archive 
version 

Reimplemented from AbstractCardiacCell.

Definition at line 344 of file AbstractBackwardEulerCardiacCell.hpp.

void AbstractBackwardEulerCardiacCell< 0u >::SolveAndUpdateState ( double  tStart,
double  tEnd 
) [inline, virtual]

Simulate this cell's behaviour between the time interval [tStart, tEnd], with timestemp mDt, updating the internal state variable values.

Parameters:
tStart beginning of the time interval to simulate
tEnd end of the time interval to simulate

Reimplemented from AbstractCardiacCell.

Definition at line 476 of file AbstractBackwardEulerCardiacCell.hpp.

References TimeStepper::AdvanceOneTimeStep(), AbstractBackwardEulerCardiacCell< SIZE >::ComputeOneStepExceptVoltage(), TimeStepper::GetTime(), TimeStepper::IsTimeAtEnd(), AbstractCardiacCell::mDt, AbstractBackwardEulerCardiacCell< SIZE >::UpdateTransmembranePotential(), and AbstractParameterisedSystem< std::vector< double > >::VerifyStateVariables().

virtual void AbstractBackwardEulerCardiacCell< 0u >::UpdateTransmembranePotential ( double  time  )  [protected, pure virtual]

Perform a forward Euler step to update the transmembrane potential.

Note:
This method must be provided by subclasses.
Parameters:
time start of this timestep

Friends And Related Function Documentation

friend class boost::serialization::access [friend]

Needed for serialization.

Reimplemented from AbstractCardiacCell.

Definition at line 336 of file AbstractBackwardEulerCardiacCell.hpp.


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

Generated by  doxygen 1.6.2