#include <AbstractBackwardEulerCardiacCell.hpp>
Inherits AbstractCardiacCell.
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 |
Specialization for the case where there are no non-linear ODEs in the model.
Definition at line 332 of file AbstractBackwardEulerCardiacCell.hpp.
AbstractBackwardEulerCardiacCell< 0u >::AbstractBackwardEulerCardiacCell | ( | unsigned | numberOfStateVariables, | |
unsigned | voltageIndex, | |||
boost::shared_ptr< AbstractStimulusFunction > | pIntracellularStimulus | |||
) | [inline] |
Standard constructor for a cell.
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.
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.
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) |
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.
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.
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.
time | ||
rY | ||
rDY |
Implements AbstractOdeSystem.
Definition at line 506 of file AbstractBackwardEulerCardiacCell.hpp.
References NEVER_REACHED.
void AbstractBackwardEulerCardiacCell< 0u >::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the member variables.
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.
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.
time | start of this timestep |
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractCardiacCell.
Definition at line 336 of file AbstractBackwardEulerCardiacCell.hpp.