#include <AbstractGeneralizedRushLarsenCardiacCell.hpp>
Inherits AbstractCardiacCell.

Public Member Functions | |
| AbstractGeneralizedRushLarsenCardiacCell (unsigned numberOfStateVariables, unsigned voltageIndex, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus) | |
| virtual | ~AbstractGeneralizedRushLarsenCardiacCell () |
| 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 time)=0 |
| virtual void | UpdateTransmembranePotential (double time)=0 |
Protected Attributes | |
| std::vector< double > | mPartialF |
| std::vector< double > | mEvalF |
| std::vector< double > | mYInit |
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 |
This is the base class for cardiac cells solved using the GRL methods (GRL1 and GRL2). Modified from AbstractRushLarsenCardiacCell.hpp
Definition at line 59 of file AbstractGeneralizedRushLarsenCardiacCell.hpp.
| AbstractGeneralizedRushLarsenCardiacCell::AbstractGeneralizedRushLarsenCardiacCell | ( | unsigned | numberOfStateVariables, | |
| unsigned | voltageIndex, | |||
| boost::shared_ptr< AbstractStimulusFunction > | pIntracellularStimulus | |||
| ) |
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 |
Some notes for future reference:
Definition at line 53 of file AbstractGeneralizedRushLarsenCardiacCell.cpp.
| AbstractGeneralizedRushLarsenCardiacCell::~AbstractGeneralizedRushLarsenCardiacCell | ( | ) | [virtual] |
Virtual destructor
Definition at line 66 of file AbstractGeneralizedRushLarsenCardiacCell.cpp.
| OdeSolution AbstractGeneralizedRushLarsenCardiacCell::Compute | ( | double | tStart, | |
| double | tEnd, | |||
| double | tSamp = 0.0 | |||
| ) | [virtual] |
Simulates this cell's behaviour between the time interval [tStart, tEnd], with timestep mDt.
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 69 of file AbstractGeneralizedRushLarsenCardiacCell.cpp.
References ComputeOneStepExceptVoltage(), AbstractCardiacCell::mDt, AbstractUntemplatedParameterisedSystem::mpSystemInfo, OdeSolution::rGetSolutions(), AbstractParameterisedSystem< std::vector< double > >::rGetStateVariables(), OdeSolution::rGetTimes(), OdeSolution::SetNumberOfTimeSteps(), OdeSolution::SetOdeSystemInformation(), UpdateTransmembranePotential(), and AbstractParameterisedSystem< std::vector< double > >::VerifyStateVariables().
| void AbstractGeneralizedRushLarsenCardiacCell::ComputeExceptVoltage | ( | double | tStart, | |
| double | tEnd | |||
| ) | [virtual] |
Simulates this cell's behaviour between the time interval [tStart, tEnd], with timestep mDt. The transmembrane potential is kept fixed throughout, but the other state variables are updated.
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 109 of file AbstractGeneralizedRushLarsenCardiacCell.cpp.
References TimeStepper::AdvanceOneTimeStep(), ComputeOneStepExceptVoltage(), TimeStepper::GetTime(), TimeStepper::IsTimeAtEnd(), AbstractCardiacCell::mDt, AbstractCardiacCellInterface::SetVoltageDerivativeToZero(), and AbstractParameterisedSystem< std::vector< double > >::VerifyStateVariables().
| virtual void AbstractGeneralizedRushLarsenCardiacCell::ComputeOneStepExceptVoltage | ( | double | time | ) | [protected, pure virtual] |
Update the values of all variables except the transmembrane potential using a GRL method.
| time | the current simulation time |
Referenced by Compute(), ComputeExceptVoltage(), and SolveAndUpdateState().
| void AbstractGeneralizedRushLarsenCardiacCell::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 142 of file AbstractGeneralizedRushLarsenCardiacCell.hpp.
References NEVER_REACHED.
| void AbstractGeneralizedRushLarsenCardiacCell::serialize | ( | Archive & | archive, | |
| const unsigned int | version | |||
| ) | [inline, private] |
Archive the member variables.
| archive | ||
| version |
Reimplemented from AbstractCardiacCell.
Definition at line 71 of file AbstractGeneralizedRushLarsenCardiacCell.hpp.
| void AbstractGeneralizedRushLarsenCardiacCell::SolveAndUpdateState | ( | double | tStart, | |
| double | tEnd | |||
| ) | [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 128 of file AbstractGeneralizedRushLarsenCardiacCell.cpp.
References TimeStepper::AdvanceOneTimeStep(), ComputeOneStepExceptVoltage(), TimeStepper::GetTime(), TimeStepper::IsTimeAtEnd(), AbstractCardiacCell::mDt, UpdateTransmembranePotential(), and AbstractParameterisedSystem< std::vector< double > >::VerifyStateVariables().
| virtual void AbstractGeneralizedRushLarsenCardiacCell::UpdateTransmembranePotential | ( | double | time | ) | [protected, pure virtual] |
Perform a forward Euler step to update the transmembrane potential.
| time | the current simulation time |
Referenced by Compute(), and SolveAndUpdateState().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractCardiacCell.
Definition at line 63 of file AbstractGeneralizedRushLarsenCardiacCell.hpp.
std::vector<double> AbstractGeneralizedRushLarsenCardiacCell::mEvalF [protected] |
The derivatives, working memory for use by subclasses.
Definition at line 167 of file AbstractGeneralizedRushLarsenCardiacCell.hpp.
Referenced by AbstractGeneralizedRushLarsenCardiacCell().
std::vector<double> AbstractGeneralizedRushLarsenCardiacCell::mPartialF [protected] |
The diagonal of the Jacobian, working memory for use by subclasses.
Definition at line 164 of file AbstractGeneralizedRushLarsenCardiacCell.hpp.
Referenced by AbstractGeneralizedRushLarsenCardiacCell().
std::vector<double> AbstractGeneralizedRushLarsenCardiacCell::mYInit [protected] |
The state at the beginning of the current step, working memory for use by subclasses.
Definition at line 170 of file AbstractGeneralizedRushLarsenCardiacCell.hpp.
Referenced by AbstractGeneralizedRushLarsenCardiacCell().
1.6.2