CEPS
24.01
Cardiac ElectroPhysiology Simulator
|
Courtemanche-Ramirez-Nattel ionic model.
Reference:
Ionic mechanisms underlying human atrial action potential properties: insights from a mathematical model. M. Courtemanche, R.J. Ramirez, and S. Nattel. Am. J. Physiol., 275 (Heart Circ. Physiol.44):H301–H321, 1998. PubMed ID: 9688927
#include <CRN98.hpp>
Public Member Functions | |
CRN98 (Unknown *u, const CepsSet< CepsAttribute > &attrs={}, InputParameters *params=nullptr) | |
Constructor (sets constants) More... | |
virtual | ~CRN98 ()=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 final |
Get the linear and non linear part of the evolution function f. Also computes the ionic current. More... | |
CepsReal | convertCurrentFromCepsUnit (const CepsReal &i) const override |
Convert from uA per cm2 to pA. More... | |
CepsReal | convertCmFromCepsUnit (const CepsReal &cm) const override |
Convert capacitance from ceps units (uF/cm2) to ionic model units. Does nothing by default. More... | |
CepsReal | convertCmToCepsUnit (const CepsReal &cm) const override |
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... | |
Unknown * | getUnknown () 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... | |
IonicSolver * | getLinkedSolver () 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... | |
HoldsAttributes & | operator= (const HoldsAttributes &)=default |
Assignment operator. More... | |
HoldsAttributes & | operator= (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) |
Sets the constants and the space dependant parameters from text inputs. 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 | |
CepsReal | m_cellSurface |
surface used to scale current to CEPS unit. More... | |
Protected Attributes inherited from AbstractIonicModel | |
Unknown * | m_unknown |
Pointer on unknown on which the model applies. More... | |
CepsReal * | m_constants |
Constant parameters of the model, from inputs. More... | |
CepsReal * | m_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< CepsString > | m_stateVarNames |
Names of state variables. More... | |
CepsString | m_name |
A label for display. More... | |
IonicSolver * | m_solver |
Link to solver, set when solver is created. More... | |
Protected Attributes inherited from ceps::HoldsAttributes | |
CepsSet< CepsAttribute > | m_attributes |
The attributes held by the entity. More... | |
Static Protected Attributes | |
static constexpr const CepsInt | _R = 0 |
Index alias. More... | |
static constexpr const CepsInt | _T = 1 |
Index alias. More... | |
static constexpr const CepsInt | _F = 2 |
Index alias. More... | |
static constexpr const CepsInt | _vcell = 3 |
Index alias. More... | |
static constexpr const CepsInt | _vi = 4 |
Index alias. More... | |
static constexpr const CepsInt | _vup = 5 |
Index alias. More... | |
static constexpr const CepsInt | _vrel = 6 |
Index alias. More... | |
static constexpr const CepsInt | _ko = 7 |
Index alias. More... | |
static constexpr const CepsInt | _nao = 8 |
Index alias. More... | |
static constexpr const CepsInt | _cao = 9 |
Index alias. More... | |
static constexpr const CepsInt | _gna = 10 |
Index alias. More... | |
static constexpr const CepsInt | _gk1 = 11 |
Index alias. More... | |
static constexpr const CepsInt | _gto = 12 |
Index alias. More... | |
static constexpr const CepsInt | _gkr = 13 |
Index alias. More... | |
static constexpr const CepsInt | _gks = 14 |
Index alias. More... | |
static constexpr const CepsInt | _gcal = 15 |
Index alias. More... | |
static constexpr const CepsInt | _gbca = 16 |
Index alias. More... | |
static constexpr const CepsInt | _gbna = 17 |
Index alias. More... | |
static constexpr const CepsInt | _inakmax = 18 |
Index alias. More... | |
static constexpr const CepsInt | _inacamax = 19 |
Index alias. More... | |
static constexpr const CepsInt | _icapmax = 20 |
Index alias. More... | |
static constexpr const CepsInt | _iupmax = 21 |
Index alias. More... | |
static constexpr const CepsInt | _kq10 = 22 |
Index alias. More... | |
static constexpr const CepsInt | _sigma = 23 |
Index alias. More... | |
static constexpr const CepsInt | _kmnai = 24 |
Index alias. More... | |
static constexpr const CepsInt | _kmko = 25 |
Index alias. More... | |
static constexpr const CepsInt | _kmna = 26 |
Index alias. More... | |
static constexpr const CepsInt | _kmca = 27 |
Index alias. More... | |
static constexpr const CepsInt | _ksat = 28 |
Index alias. More... | |
static constexpr const CepsInt | _krel = 29 |
Index alias. More... | |
static constexpr const CepsInt | _kup = 30 |
Index alias. More... | |
static constexpr const CepsInt | _caupmax = 31 |
Index alias. More... | |
static constexpr const CepsInt | _cmdnmax = 32 |
Index alias. More... | |
static constexpr const CepsInt | _trpnmax = 33 |
Index alias. More... | |
static constexpr const CepsInt | _csqnmax = 34 |
Index alias. More... | |
static constexpr const CepsInt | _kmcmdn = 35 |
Index alias. More... | |
static constexpr const CepsInt | _kmtrpn = 36 |
Index alias. More... | |
static constexpr const CepsInt | _kmcsqn = 37 |
Index alias. More... | |
static constexpr const CepsInt | _taufca = 38 |
Index alias. More... | |
static constexpr const CepsInt | _tautr = 39 |
Index alias. More... | |
static constexpr const CepsInt | _gbk = 40 |
Index alias. More... | |
static constexpr const CepsInt | _gamma = 41 |
Index alias. More... | |
static constexpr const CepsInt | _tauu = 42 |
Index alias. More... | |
static constexpr const CepsInt | _nai = 0 |
Index alias. More... | |
static constexpr const CepsInt | _m = 1 |
Index alias. More... | |
static constexpr const CepsInt | _h = 2 |
Index alias. More... | |
static constexpr const CepsInt | _j = 3 |
Index alias. More... | |
static constexpr const CepsInt | _ki = 4 |
Index alias. More... | |
static constexpr const CepsInt | _oa = 5 |
Index alias. More... | |
static constexpr const CepsInt | _oi = 6 |
Index alias. More... | |
static constexpr const CepsInt | _ua = 7 |
Index alias. More... | |
static constexpr const CepsInt | _ui = 8 |
Index alias. More... | |
static constexpr const CepsInt | _xr = 9 |
Index alias. More... | |
static constexpr const CepsInt | _xs = 10 |
Index alias. More... | |
static constexpr const CepsInt | _cai = 11 |
Index alias. More... | |
static constexpr const CepsInt | _d = 12 |
Index alias. More... | |
static constexpr const CepsInt | _f = 13 |
Index alias. More... | |
static constexpr const CepsInt | _fca = 14 |
Index alias. More... | |
static constexpr const CepsInt | _carel = 15 |
Index alias. More... | |
static constexpr const CepsInt | _u = 16 |
Index alias. More... | |
static constexpr const CepsInt | _v = 17 |
Index alias. More... | |
static constexpr const CepsInt | _w = 18 |
Index alias. More... | |
static constexpr const CepsInt | _caup = 19 |
Index alias. More... | |
CRN98::CRN98 | ( | Unknown * | u, |
const CepsSet< CepsAttribute > & | attrs = {} , |
||
InputParameters * | params = nullptr |
||
) |
|
virtualdefault |
Destructor.
|
finalvirtual |
Get the linear and non linear part of the evolution function f. Also computes the ionic current.
[in] | t | time |
[in] | y | value of state variables at time |
[in] | v | value of transmembrane voltage at time |
[out] | dtyL | will be filled with the linear part of the derivative |
[out] | dtyNL | the non linear part of the derivative |
[out] | dtv | value of ionic current at time |
[in] | dof | degree of freedom, in case some coefficients depend on space |
Implements AbstractIonicModel.
Convert capacitance from ceps units (uF/cm2) to ionic model units. Does nothing by default.
Reimplemented from AbstractIonicModel.
Convert capacitance from ionic model units to ceps units (uF/cm2). Does nothing by default.
Reimplemented from AbstractIonicModel.
Convert from uA per cm2 to pA.
Reimplemented from AbstractIonicModel.
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.
|
protected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
protected |