CEPS  24.01
Cardiac ElectroPhysiology Simulator
BR77 Class Reference

Detailed Description

Beeler Reuter (1977) ionic model.

Reference:

Reconstruction of the action potential of ventricular myocardial fibres, Beeler, G.W. and Reuter, H. 1977 Journal of Physiology , 268, 177-210. PubMed ID: 874889

CellML model: https://models.physiomeproject.org/e/23a/beeler_reuter_1977.cellml/view

Units of currents and capacity are in uA and uF per mm2 !

Definition at line 49 of file BR77.hpp.

#include <BR77.hpp>

Inheritance diagram for BR77:
[legend]

Public Member Functions

 BR77 (Unknown *u, AbstractPdeProblem *pb, const CepsSet< CepsAttribute > &attrs={}, InputParameters *params=nullptr)
 Constructor (sets constants) More...
 
 ~BR77 ()=default
 Destructor. More...
 
void getInitialCondition (CepsReal *v, CepsReal *y) const final
 Sets initial values of state variables and transmembrane voltage for a single point. Arrays y,dty must be preallocated with size m_nStateVars. More...
 
void computeRates (CepsReal t, CepsReal *y, CepsReal *v, CepsReal *dtyL, CepsReal *dtyNL, CepsReal *dtv, DegreeOfFreedom *dof) const override
 Get the linear and non linear part of the evolution function f. Also computes the ionic current. More...
 
CepsReal convertCurrentFromCepsUnit (const CepsReal &v) const final
 Convert from muA per cm2 to muA per mm2. More...
 
CepsReal convertCmFromCepsUnit (const CepsReal &cm) const final
 Convert capacitance from ceps units (uF/cm2) to ionic model units. Does nothing by default. More...
 
CepsReal convertCmToCepsUnit (const CepsReal &cm) const final
 Convert capacitance from ionic model units to ceps units (uF/cm2). Does nothing by default. More...
 
- Public Member Functions inherited from AbstractIonicModel
virtual ~AbstractIonicModel ()
 Destructor. More...
 
CepsString getName () const
 Name of the solver for info display. More...
 
UnknowngetUnknown () const
 The unknown object of the transmembrane voltage. More...
 
ScalarField< DegreeOfFreedom > * getCm () const
 Link to Cm coefficient of PDE. More...
 
void setCm (ScalarField< DegreeOfFreedom > *)
 Link to Cm coefficient of PDE. More...
 
CepsReal getPaperCm (CepsBool cepsUnit) const
 Get the original value of Cm used in paper. More...
 
CepsReal getPaperStim () const
 Get the original amplitude of stimulation, converted into ceps units. More...
 
void addStimulation (ScalarSourceTerm *stim)
 Links the model to a stimulation function, needed for computation of _ki. More...
 
CepsReal getStimulation (DegreeOfFreedom *x, CepsReal t) const
 Get the sum of all stimulations at time t and dof x. More...
 
virtual CepsUInt getNbStateVariables () const
 The number of state variables, except transmembrane voltage. More...
 
CepsString getStateVariableName (CepsUInt i) const
 Gives the name of the i-th state variable. More...
 
virtual CepsReal convertVoltageFromCepsUnit (const CepsReal &v) const
 Convert voltage from ceps units (mV) to ionic model units. Does nothing by default. More...
 
virtual CepsReal convertVoltageToCepsUnit (const CepsReal &v) const
 Convert voltage from ionic model units to ceps units (mV). Does nothing by default. More...
 
virtual CepsReal convertDtvToCepsUnit (const CepsReal &dtv) const
 Convert current from ionic model units to ceps units (mV ms-1). Does nothing by default. More...
 
void setLinkedSolver (IonicSolver *solver)
 Links instance to solver. More...
 
IonicSolvergetLinkedSolver () const
 Get link to solver. More...
 
- Public Member Functions inherited from ceps::HoldsAttributes
 HoldsAttributes (const CepsSet< CepsAttribute > &attributes)
 Constructor with any number of attributes. More...
 
 HoldsAttributes (const CepsVector< CepsAttribute > &attributes)
 Constructor with any number of attributes. More...
 
 HoldsAttributes (CepsAttribute *attributes, const CepsUInt &n)
 Constructor with any number of attributes. More...
 
 HoldsAttributes ()=default
 Default constructor. More...
 
 HoldsAttributes (const HoldsAttributes &)=default
 Assignement operator. More...
 
 HoldsAttributes (HoldsAttributes &&) noexcept=default
 Copy constructor. More...
 
virtual ~HoldsAttributes ()=default
 Destructor. More...
 
HoldsAttributesoperator= (const HoldsAttributes &)=default
 Assignment operator. More...
 
HoldsAttributesoperator= (HoldsAttributes &&) noexcept=default
 Assignment operator. More...
 
CepsUInt getNumberOfAttributes () const
 Returns number of attributes of the entity. More...
 
CepsSet< CepsAttribute > & getAttributes ()
 Returns the attributes of the entity. More...
 
const CepsSet< CepsAttribute > & getAttributes () const
 Returns the attributes of the entity, const version. More...
 
void setAttributes (const CepsVector< CepsAttribute > &attributes)
 Sets the attributes of the entity. More...
 
void setAttributes (const CepsSet< CepsAttribute > &attributes)
 Sets the attributes of the entity. More...
 
void setAttributes (const CepsAttribute *attributes, const CepsUInt &n)
 Sets the attributes of the entity. More...
 
template<class _It >
void setAttributes (_It first, _It last)
 Sets the attributes of the entity. More...
 
void addAttribute (const CepsAttribute &name)
 Adds an attribute to the entity. More...
 
void addAttributes (const CepsVector< CepsAttribute > &attributes)
 Adds several attributes to the entity. More...
 
void addAttributes (const CepsSet< CepsAttribute > &attributes)
 Adds several attributes to the entity. More...
 
void addAttributes (const CepsAttribute *attributes, const CepsUInt &n)
 Adds several attributes to the entity. More...
 
template<class _It >
void addAttributes (_It first, _It last)
 Adds several attributes to the entity. More...
 
void removeAttribute (const CepsAttribute &name)
 Removes an attribute from the entity. More...
 
void removeAttributes (const CepsSet< CepsAttribute > &attributes)
 Removes several attributes from the entity. More...
 
void removeAttributes (const CepsVector< CepsAttribute > &attributes)
 Removes several attributes from the entity. More...
 
void removeAttributes (const CepsAttribute *attributes, const CepsUInt &n)
 Removes several attributes from the entity. More...
 
template<class _It >
void removeAttributes (_It first, _It last)
 Removes several attributes from the entity. More...
 
void clearAttributes ()
 Removes all attributes from the entity. More...
 
CepsBool hasAttribute (const CepsAttribute &name) const
 Tells if the entity has the attribute in argument. More...
 
CepsBool hasAllAttributes (const CepsVector< CepsAttribute > &attributes) const
 Tells if the entity has all the attributes in argument. More...
 
CepsBool hasAllAttributes (const CepsAttribute *attributes, const CepsUInt &n) const
 Tells if the entity has all the attributes in argument. More...
 
template<class _It >
CepsBool hasAllAttributes (_It first, _It last) const
 Tells if the entity has all the attributes in argument. More...
 
CepsBool hasOneOfAttributes (const CepsSet< CepsAttribute > &attributes) const
 Tells if the entity has one of the attributes in argument. More...
 
CepsBool hasOneOfAttributes (const CepsVector< CepsAttribute > &attributes) const
 Tells if the entity has one of the attributes in argument. More...
 
CepsBool hasOneOfAttributes (const CepsAttribute *attributes, const CepsUInt &n) const
 Tells if the entity has one of the attributes in argument. More...
 
template<class _It >
CepsBool hasOneOfAttributes (_It first, _It last) const
 Tells if the entity has one of the attributes in argument. More...
 
CepsBool hasUniversalAttribute () const
 Detect if the current entity has the attribute universal. More...
 
void reset ()
 Equivalent to HoldsAttributes::clear() More...
 

Protected Member Functions

void setupWithParameters (InputParameters *p, FunctionDictionary *dico, AbstractPdeProblem *pb)
 Sets the constants and the space dependant parameters from text inputs. More...
 
virtual CepsReal getINa (CepsReal *y, CepsReal gNaCa, CepsReal gNa, CepsReal v) const
 Returns the iNa current. More...
 
- Protected Member Functions inherited from AbstractIonicModel
 AbstractIonicModel (Unknown *u, const CepsSet< CepsAttribute > &attrs={})
 Called only by derived classes. More...
 
CepsReal getCmInternal (CepsReal t, DegreeOfFreedom *dof) const
 Get either the value of cm on dof, or the default value from the paper. More...
 
CepsReal sigmoid (CepsReal x, CepsReal c, CepsReal k) const
 Function often used in rates evaluations. More...
 
CepsReal gaussian (CepsReal x, CepsReal c, CepsReal s) const
 Function often used in rates evaluations. More...
 
CepsReal uOverExpm1u (CepsReal u) const
 Functions u/(1-exp(u)) that returns 2 (from expansion around 0) More...
 

Protected Attributes

ScalarField< DegreeOfFreedom > * m_gNa
 This parameter may vary with space. More...
 
ScalarField< DegreeOfFreedom > * m_gNaCa
 This parameter may vary with space. More...
 
- Protected Attributes inherited from AbstractIonicModel
Unknownm_unknown
 Pointer on unknown on which the model applies. More...
 
CepsRealm_constants
 Constant parameters of the model, from inputs. More...
 
CepsRealm_dconstants
 Constant parameters of the model, computed from others. More...
 
ScalarField< DegreeOfFreedom > * m_cm
 Link to coef Cm of the PDE, for unit conversion. More...
 
CepsReal m_paperCm
 Original value of Cm. More...
 
CepsReal m_paperStim
 Original stim amplitude. More...
 
CepsVector< ScalarSourceTerm * > m_stims
 Link to excitations. More...
 
CepsUInt m_nStateVars
 Dimensionality of the ODE system, -1 for vm. More...
 
CepsVector< CepsStringm_stateVarNames
 Names of state variables. More...
 
CepsString m_name
 A label for display. More...
 
IonicSolverm_solver
 Link to solver, set when solver is created. More...
 
- Protected Attributes inherited from ceps::HoldsAttributes
CepsSet< CepsAttributem_attributes
 The attributes held by the entity. More...
 

Static Protected Attributes

static constexpr const CepsInt _gS = 0
 Index alias. More...
 
static constexpr const CepsInt _ENa = 1
 Index alias. More...
 
static constexpr const CepsInt _m = 0
 Index alias. More...
 
static constexpr const CepsInt _h = 1
 Index alias. More...
 
static constexpr const CepsInt _j = 2
 Index alias. More...
 
static constexpr const CepsInt _CaI = 3
 Index alias. More...
 
static constexpr const CepsInt _d = 4
 Index alias. More...
 
static constexpr const CepsInt _f = 5
 Index alias. More...
 
static constexpr const CepsInt _x1 = 6
 Index alias. More...
 

Constructor & Destructor Documentation

◆ BR77()

BR77::BR77 ( Unknown u,
AbstractPdeProblem pb,
const CepsSet< CepsAttribute > &  attrs = {},
InputParameters params = nullptr 
)

Constructor (sets constants)

Definition at line 33 of file BR77.cpp.

◆ ~BR77()

BR77::~BR77 ( )
default

Destructor.

Member Function Documentation

◆ computeRates()

void BR77::computeRates ( CepsReal  t,
CepsReal y,
CepsReal v,
CepsReal dtyL,
CepsReal dtyNL,
CepsReal dtv,
DegreeOfFreedom dof 
) const
overridevirtual

Get the linear and non linear part of the evolution function f. Also computes the ionic current.

Parameters
[in]ttime $t$
[in]yvalue of state variables at time $t$
[in]vvalue of transmembrane voltage at time $t$
[out]dtyLwill be filled with the linear part of the derivative
[out]dtyNLthe non linear part of the derivative
[out]dtvvalue of ionic current at time $t^n$
[in]dofdegree of freedom, in case some coefficients depend on space

(1+std::exp(-0.082*(v+22.5)));

Implements AbstractIonicModel.

Definition at line 107 of file BR77.cpp.

◆ convertCmFromCepsUnit()

CepsReal BR77::convertCmFromCepsUnit ( const CepsReal cm) const
finalvirtual

Convert capacitance from ceps units (uF/cm2) to ionic model units. Does nothing by default.

Reimplemented from AbstractIonicModel.

Definition at line 201 of file BR77.cpp.

◆ convertCmToCepsUnit()

CepsReal BR77::convertCmToCepsUnit ( const CepsReal cm) const
finalvirtual

Convert capacitance from ionic model units to ceps units (uF/cm2). Does nothing by default.

Reimplemented from AbstractIonicModel.

Definition at line 195 of file BR77.cpp.

◆ convertCurrentFromCepsUnit()

CepsReal BR77::convertCurrentFromCepsUnit ( const CepsReal v) const
finalvirtual

Convert from muA per cm2 to muA per mm2.

Reimplemented from AbstractIonicModel.

Definition at line 189 of file BR77.cpp.

◆ getINa()

CepsReal BR77::getINa ( CepsReal y,
CepsReal  gNaCa,
CepsReal  gNa,
CepsReal  v 
) const
protectedvirtual

Returns the iNa current.

Reimplemented in BR77Modified.

Definition at line 222 of file BR77.cpp.

◆ getInitialCondition()

void BR77::getInitialCondition ( CepsReal v,
CepsReal y 
) const
finalvirtual

Sets initial values of state variables and transmembrane voltage for a single point. Arrays y,dty must be preallocated with size m_nStateVars.

Implements AbstractIonicModel.

Definition at line 94 of file BR77.cpp.

◆ setupWithParameters()

void BR77::setupWithParameters ( InputParameters p,
FunctionDictionary dico,
AbstractPdeProblem pb 
)
protected

Sets the constants and the space dependant parameters from text inputs.

Definition at line 207 of file BR77.cpp.

Field Documentation

◆ _CaI

constexpr const CepsInt BR77::_CaI = 3
staticconstexprprotected

Index alias.

Definition at line 117 of file BR77.hpp.

◆ _d

constexpr const CepsInt BR77::_d = 4
staticconstexprprotected

Index alias.

Definition at line 118 of file BR77.hpp.

◆ _ENa

constexpr const CepsInt BR77::_ENa = 1
staticconstexprprotected

Index alias.

Definition at line 111 of file BR77.hpp.

◆ _f

constexpr const CepsInt BR77::_f = 5
staticconstexprprotected

Index alias.

Definition at line 119 of file BR77.hpp.

◆ _gS

constexpr const CepsInt BR77::_gS = 0
staticconstexprprotected

Index alias.

Definition at line 110 of file BR77.hpp.

◆ _h

constexpr const CepsInt BR77::_h = 1
staticconstexprprotected

Index alias.

Definition at line 115 of file BR77.hpp.

◆ _j

constexpr const CepsInt BR77::_j = 2
staticconstexprprotected

Index alias.

Definition at line 116 of file BR77.hpp.

◆ _m

constexpr const CepsInt BR77::_m = 0
staticconstexprprotected

Index alias.

Definition at line 114 of file BR77.hpp.

◆ _x1

constexpr const CepsInt BR77::_x1 = 6
staticconstexprprotected

Index alias.

Definition at line 120 of file BR77.hpp.

◆ m_gNa

ScalarField<DegreeOfFreedom>* BR77::m_gNa
protected

This parameter may vary with space.

Definition at line 106 of file BR77.hpp.

◆ m_gNaCa

ScalarField<DegreeOfFreedom>* BR77::m_gNaCa
protected

This parameter may vary with space.

Definition at line 107 of file BR77.hpp.


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