CEPS
24.01
Cardiac ElectroPhysiology Simulator
|
ten-Tusscher Panvilov ionic model (3 variants)
Reference:
Alternans and spiral breakup in a human ventricular tissue model, K.H.W.J. ten Tusscher, A.V. Panfilov, Sep 2006, American Journal of Physiology, Heart and Circulatory Physiology, 291 3, H1088-1100. PubMed ID: 16565318
https://models.physiomeproject.org/exposure/a7179d94365ff0c9c0e6eb7c6a787d3d/ten_tusscher_model_2006_IK1Ko_endo_units.cellml/view https://models.physiomeproject.org/exposure/a7179d94365ff0c9c0e6eb7c6a787d3d/ten_tusscher_model_2006_IK1Ko_M_units.cellml/view https://models.physiomeproject.org/exposure/a7179d94365ff0c9c0e6eb7c6a787d3d/ten_tusscher_model_2006_IK1Ko_epi_units.cellml/view
#include <TTP06.hpp>
Public Types | |
enum class | Type { Endo , MidMyo , Epi } |
Model variant selector. More... | |
Public Member Functions | |
TTP06 (const Type &type, Unknown *u, const CepsSet< CepsAttribute > &attrs={}, InputParameters *params=nullptr) | |
Constructor (sets constant parameters) More... | |
virtual | ~TTP06 ()=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... | |
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... | |
virtual CepsReal | convertCurrentFromCepsUnit (const CepsReal &i) const |
Convert current from ionic model units to ceps units (uA per cm2). Does nothing by default. More... | |
virtual CepsReal | convertCmFromCepsUnit (const CepsReal &cm) const |
Convert capacitance from ceps units (uF/cm2) to ionic model units. Does nothing by default. More... | |
virtual CepsReal | convertCmToCepsUnit (const CepsReal &cm) const |
Convert capacitance from ionic model units to ceps units (uF/cm2). 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 | |
Type | m_type |
Endo, midmyo or epi. More... | |
CepsReal | m_cellSurface |
Surface of cell for unit conversion. 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 | _ki = 0 |
Index alias. More... | |
static constexpr const CepsInt | _nai = 1 |
Index alias. More... | |
static constexpr const CepsInt | _cai = 2 |
Index alias. More... | |
static constexpr const CepsInt | _xr1 = 3 |
Index alias. More... | |
static constexpr const CepsInt | _xr2 = 4 |
Index alias. More... | |
static constexpr const CepsInt | _xs = 5 |
Index alias. More... | |
static constexpr const CepsInt | _m = 6 |
Index alias. More... | |
static constexpr const CepsInt | _h = 7 |
Index alias. More... | |
static constexpr const CepsInt | _j = 8 |
Index alias. More... | |
static constexpr const CepsInt | _cass = 9 |
Index alias. More... | |
static constexpr const CepsInt | _d = 10 |
Index alias. More... | |
static constexpr const CepsInt | _f = 11 |
Index alias. More... | |
static constexpr const CepsInt | _f2 = 12 |
Index alias. More... | |
static constexpr const CepsInt | _fcass = 13 |
Index alias. More... | |
static constexpr const CepsInt | _s = 14 |
Index alias. More... | |
static constexpr const CepsInt | _r = 15 |
Index alias. More... | |
static constexpr const CepsInt | _casr = 16 |
Index alias. More... | |
static constexpr const CepsInt | _rprime = 17 |
Index alias. More... | |
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 | _vc = 3 |
Index alias. More... | |
static constexpr const CepsInt | _pkna = 4 |
Index alias. More... | |
static constexpr const CepsInt | _ko = 5 |
Index alias. More... | |
static constexpr const CepsInt | _nao = 6 |
Index alias. More... | |
static constexpr const CepsInt | _cao = 7 |
Index alias. More... | |
static constexpr const CepsInt | _gk1 = 8 |
Index alias. More... | |
static constexpr const CepsInt | _gkr = 9 |
Index alias. More... | |
static constexpr const CepsInt | _gks = 10 |
Index alias. More... | |
static constexpr const CepsInt | _gna = 11 |
Index alias. More... | |
static constexpr const CepsInt | _gbna = 12 |
Index alias. More... | |
static constexpr const CepsInt | _gcal = 13 |
Index alias. More... | |
static constexpr const CepsInt | _gbca = 14 |
Index alias. More... | |
static constexpr const CepsInt | _gto = 15 |
Index alias. More... | |
static constexpr const CepsInt | _pnak = 16 |
Index alias. More... | |
static constexpr const CepsInt | _kmk = 17 |
Index alias. More... | |
static constexpr const CepsInt | _kmna = 18 |
Index alias. More... | |
static constexpr const CepsInt | _knaca = 19 |
Index alias. More... | |
static constexpr const CepsInt | _ksat = 20 |
Index alias. More... | |
static constexpr const CepsInt | _alpha = 21 |
Index alias. More... | |
static constexpr const CepsInt | _gamma = 22 |
Index alias. More... | |
static constexpr const CepsInt | _kmca = 23 |
Index alias. More... | |
static constexpr const CepsInt | _kmnai = 24 |
Index alias. More... | |
static constexpr const CepsInt | _gpca = 25 |
Index alias. More... | |
static constexpr const CepsInt | _kpca = 26 |
Index alias. More... | |
static constexpr const CepsInt | _gpk = 27 |
Index alias. More... | |
static constexpr const CepsInt | _k1prime = 28 |
Index alias. More... | |
static constexpr const CepsInt | _k2prime = 29 |
Index alias. More... | |
static constexpr const CepsInt | _k3 = 30 |
Index alias. More... | |
static constexpr const CepsInt | _k4 = 31 |
Index alias. More... | |
static constexpr const CepsInt | _ec = 32 |
Index alias. More... | |
static constexpr const CepsInt | _maxsr = 33 |
Index alias. More... | |
static constexpr const CepsInt | _minsr = 35 |
Index alias. More... | |
static constexpr const CepsInt | _vrel = 36 |
Index alias. More... | |
static constexpr const CepsInt | _vxfer = 37 |
Index alias. More... | |
static constexpr const CepsInt | _kup = 38 |
Index alias. More... | |
static constexpr const CepsInt | _vleak = 39 |
Index alias. More... | |
static constexpr const CepsInt | _vmaxup = 40 |
Index alias. More... | |
static constexpr const CepsInt | _bufc = 41 |
Index alias. More... | |
static constexpr const CepsInt | _kbufc = 42 |
Index alias. More... | |
static constexpr const CepsInt | _bufsr = 43 |
Index alias. More... | |
static constexpr const CepsInt | _kbuf = 44 |
Index alias. More... | |
static constexpr const CepsInt | _bufss = 45 |
Index alias. More... | |
static constexpr const CepsInt | _kbufss = 46 |
Index alias. More... | |
static constexpr const CepsInt | _vsr = 47 |
Index alias. More... | |
static constexpr const CepsInt | _vss = 48 |
Index alias. More... | |
|
strong |
TTP06::TTP06 | ( | const Type & | type, |
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.
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 |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
staticconstexprprotected |
|
protected |