Chaste  Release::2018.1
FitzHughNagumo1961OdeSystem Class Reference

#include <FitzHughNagumo1961OdeSystem.hpp>

+ Inheritance diagram for FitzHughNagumo1961OdeSystem:
+ Collaboration diagram for FitzHughNagumo1961OdeSystem:

Public Member Functions

 FitzHughNagumo1961OdeSystem (boost::shared_ptr< AbstractIvpOdeSolver > pOdeSolver, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus)
 
 ~FitzHughNagumo1961OdeSystem ()
 
void EvaluateYDerivatives (double time, const std::vector< double > &rY, std::vector< double > &rDY)
 
double GetIIonic (const std::vector< double > *pStateVariables=NULL)
 
- Public Member Functions inherited from AbstractCardiacCell
 AbstractCardiacCell (boost::shared_ptr< AbstractIvpOdeSolver > pOdeSolver, unsigned numberOfStateVariables, unsigned voltageIndex, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus)
 
virtual ~AbstractCardiacCell ()
 
void Init ()
 
void SetTimestep (double dt)
 
virtual void SolveAndUpdateState (double tStart, double tEnd)
 
virtual OdeSolution Compute (double tStart, double tEnd, double tSamp=0.0)
 
virtual void ComputeExceptVoltage (double tStart, double tEnd)
 
void SetVoltage (double voltage)
 
double GetVoltage ()
 
unsigned GetNumberOfStateVariables () const
 
unsigned GetNumberOfParameters () const
 
std::vector< doubleGetStdVecStateVariables ()
 
const std::vector< std::string > & rGetStateVariableNames () const
 
void SetStateVariables (const std::vector< double > &rVariables)
 
void SetStateVariable (unsigned index, double newValue)
 
void SetStateVariable (const std::string &rName, double newValue)
 
double GetAnyVariable (const std::string &rName, double time=0.0)
 
double GetParameter (const std::string &rParameterName)
 
double GetParameter (unsigned parameterIndex)
 
void SetParameter (const std::string &rParameterName, double value)
 
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 ()
 
- Public Member Functions inherited from AbstractCardiacCellInterface
 AbstractCardiacCellInterface (boost::shared_ptr< AbstractIvpOdeSolver > pOdeSolver, unsigned voltageIndex, boost::shared_ptr< AbstractStimulusFunction > pIntracellularStimulus)
 
virtual ~AbstractCardiacCellInterface ()
 
unsigned GetVoltageIndex ()
 
void SetStimulusFunction (boost::shared_ptr< AbstractStimulusFunction > pStimulus)
 
double GetStimulus (double time)
 
void SetIntracellularStimulusFunction (boost::shared_ptr< AbstractStimulusFunction > pStimulus)
 
double GetIntracellularStimulus (double time)
 
double GetIntracellularAreaStimulus (double time)
 
void SetUsedInTissueSimulation (bool tissue=true)
 
virtual boost::shared_ptr
< RegularStimulus
UseCellMLDefaultStimulus ()
 
bool HasCellMLDefaultStimulus ()
 
virtual
AbstractLookupTableCollection
GetLookupTableCollection ()
 
boost::shared_ptr
< AbstractStimulusFunction
GetStimulusFunction ()
 
const boost::shared_ptr
< AbstractStimulusFunction
GetStimulusFunction () const
 
const boost::shared_ptr
< AbstractIvpOdeSolver
GetSolver () const
 
void SetSolver (boost::shared_ptr< AbstractIvpOdeSolver > pSolver)
 
virtual void SetVoltageDerivativeToZero (bool clamp=true)
 
void SetFixedVoltage (double voltage)
 
virtual void SetStretch (double stretch)
 
virtual double GetIntracellularCalciumConcentration ()
 
- Public Member Functions inherited from AbstractOdeSystem
 AbstractOdeSystem (unsigned numberOfStateVariables)
 
virtual ~AbstractOdeSystem ()
 
virtual bool CalculateStoppingEvent (double time, const std::vector< double > &rY)
 
virtual double CalculateRootFunction (double time, const std::vector< double > &rY)
 
bool GetUseAnalyticJacobian ()
 
const std::vector< double > & rGetConstStateVariables () const
 
- Public Member Functions inherited from AbstractParameterisedSystem< std::vector< double > >
 AbstractParameterisedSystem (unsigned numberOfStateVariables)
 
std::vector< double > & rGetStateVariables ()
 
std::vector< doubleGetStateVariables ()
 
void SetStateVariables (const std::vector< double > &rStateVariables)
 
double GetStateVariable (unsigned index) const
 
double GetStateVariable (const std::string &rName) const
 
void SetStateVariable (unsigned index, double newValue)
 
void SetStateVariable (const std::string &rName, double newValue)
 
virtual void VerifyStateVariables ()
 
void SetDefaultInitialConditions (const std::vector< double > &rInitialConditions)
 
void SetDefaultInitialCondition (unsigned index, double initialCondition)
 
std::vector< doubleGetInitialConditions () const
 
void ResetToInitialConditions ()
 
double GetParameter (unsigned index) const
 
double GetParameter (const std::string &rName) const
 
void SetParameter (const std::string &rName, double value)
 
void SetParameter (unsigned index, double value)
 
double GetAnyVariable (unsigned index, double time=0.0, std::vector< double > *pDerivedQuantities=NULL)
 
double GetAnyVariable (const std::string &rName, double time=0.0, std::vector< double > *pDerivedQuantities=NULL)
 
void SetAnyVariable (unsigned index, double value)
 
void SetAnyVariable (const std::string &rName, double value)
 
virtual std::vector< doubleComputeDerivedQuantities (double time, const std::vector< double > &rState)
 
std::vector< doubleComputeDerivedQuantitiesFromCurrentState (double time)
 
- Public Member Functions inherited from AbstractUntemplatedParameterisedSystem
 AbstractUntemplatedParameterisedSystem (unsigned numberOfStateVariables)
 
virtual ~AbstractUntemplatedParameterisedSystem ()
 
boost::shared_ptr< const
AbstractOdeSystemInformation
GetSystemInformation () const
 
std::string GetSystemName () const
 
unsigned GetNumberOfAttributes () const
 
bool HasAttribute (const std::string &rName) const
 
double GetAttribute (const std::string &rName) const
 
unsigned GetNumberOfStateVariables () const
 
const std::vector< std::string > & rGetStateVariableNames () const
 
const std::vector< std::string > & rGetStateVariableUnits () const
 
unsigned GetStateVariableIndex (const std::string &rName) const
 
bool HasStateVariable (const std::string &rName) const
 
std::string GetStateVariableUnits (unsigned index) const
 
unsigned GetNumberOfParameters () const
 
const std::vector< std::string > & rGetParameterNames () const
 
const std::vector< std::string > & rGetParameterUnits () const
 
unsigned GetParameterIndex (const std::string &rName) const
 
bool HasParameter (const std::string &rName) const
 
std::string GetParameterUnits (unsigned index) const
 
unsigned GetNumberOfDerivedQuantities () const
 
const std::vector< std::string > & rGetDerivedQuantityNames () const
 
const std::vector< std::string > & rGetDerivedQuantityUnits () const
 
unsigned GetDerivedQuantityIndex (const std::string &rName) const
 
bool HasDerivedQuantity (const std::string &rName) const
 
std::string GetDerivedQuantityUnits (unsigned index) const
 
unsigned GetAnyVariableIndex (const std::string &rName) const
 
bool HasAnyVariable (const std::string &rName) const
 
std::string GetAnyVariableUnits (unsigned index) const
 
std::string GetAnyVariableUnits (const std::string &rName) const
 

Static Private Attributes

static const double mAlpha = -0.08
 
static const double mGamma = 3.00
 
static const double mEpsilon = 0.005
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractParameterisedSystem< std::vector< double > >
std::string DumpState (const std::string &rMessage)
 
std::string DumpState (const std::string &rMessage, std::vector< double >Y)
 
std::string DumpState (const std::string &rMessage, std::vector< double >Y, double time)
 
void CheckParametersOnLoad (const std::vector< double > &rParameters, const std::vector< std::string > &rParameterNames)
 
- Protected Attributes inherited from AbstractCardiacCell
double mDt
 
- Protected Attributes inherited from AbstractCardiacCellInterface
unsigned mVoltageIndex
 
boost::shared_ptr
< AbstractIvpOdeSolver
mpOdeSolver
 
boost::shared_ptr
< AbstractStimulusFunction
mpIntracellularStimulus
 
bool mSetVoltageDerivativeToZero
 
bool mIsUsedInTissue
 
bool mHasDefaultStimulusFromCellML
 
double mFixedVoltage
 
- Protected Attributes inherited from AbstractOdeSystem
bool mUseAnalyticJacobian
 
- Protected Attributes inherited from AbstractParameterisedSystem< std::vector< double > >
std::vector< doublemStateVariables
 
std::vector< doublemParameters
 
- Protected Attributes inherited from AbstractUntemplatedParameterisedSystem
unsigned mNumberOfStateVariables
 
boost::shared_ptr
< AbstractOdeSystemInformation
mpSystemInfo
 

Detailed Description

Represents the FitzHugh-Nagumo system of ODEs.

Definition at line 45 of file FitzHughNagumo1961OdeSystem.hpp.

Constructor & Destructor Documentation

FitzHughNagumo1961OdeSystem::FitzHughNagumo1961OdeSystem ( boost::shared_ptr< AbstractIvpOdeSolver pOdeSolver,
boost::shared_ptr< AbstractStimulusFunction pIntracellularStimulus 
)

Constructor

Parameters
pOdeSolveris a pointer to the ODE solver
pIntracellularStimulusis a pointer to the intracellular stimulus

Definition at line 47 of file FitzHughNagumo1961OdeSystem.cpp.

References AbstractCardiacCell::Init(), OdeSystemInformation< ODE_SYSTEM >::Instance(), and AbstractUntemplatedParameterisedSystem::mpSystemInfo.

FitzHughNagumo1961OdeSystem::~FitzHughNagumo1961OdeSystem ( void  )

Destructor

Definition at line 57 of file FitzHughNagumo1961OdeSystem.cpp.

Member Function Documentation

void FitzHughNagumo1961OdeSystem::EvaluateYDerivatives ( double  time,
const std::vector< double > &  rY,
std::vector< double > &  rDY 
)
virtual

Compute the RHS of the FitHugh-Nagumo system of ODEs

Parameters
timethe current time, in milliseconds
rYcurrent values of the state variables
rDYto be filled in with derivatives

Implements AbstractOdeSystem.

Definition at line 61 of file FitzHughNagumo1961OdeSystem.cpp.

References AbstractCardiacCellInterface::GetIntracellularAreaStimulus(), mAlpha, mEpsilon, mGamma, and AbstractCardiacCellInterface::mSetVoltageDerivativeToZero.

double FitzHughNagumo1961OdeSystem::GetIIonic ( const std::vector< double > *  pStateVariables = NULL)
virtual

Calculates the ionic current.

Parameters
pStateVariablesoptionally can be supplied to evaluate the ionic current at the given state; by default the cell's internal state will be used.
Returns
the total ionic current

Implements AbstractCardiacCellInterface.

Definition at line 83 of file FitzHughNagumo1961OdeSystem.cpp.

References mAlpha, AbstractParameterisedSystem< std::vector< double > >::mStateVariables, and AbstractCardiacCellInterface::mVoltageIndex.

Member Data Documentation

const double FitzHughNagumo1961OdeSystem::mAlpha = -0.08
staticprivate

Constant parameter alpha

Definition at line 48 of file FitzHughNagumo1961OdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and GetIIonic().

const double FitzHughNagumo1961OdeSystem::mEpsilon = 0.005
staticprivate

Constant parameter epsilon

Definition at line 50 of file FitzHughNagumo1961OdeSystem.hpp.

Referenced by EvaluateYDerivatives().

const double FitzHughNagumo1961OdeSystem::mGamma = 3.00
staticprivate

Constant parameter gamma

Definition at line 49 of file FitzHughNagumo1961OdeSystem.hpp.

Referenced by EvaluateYDerivatives().


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