CEPS  24.01
Cardiac ElectroPhysiology Simulator
AP95 Class Reference

Detailed Description

Aliev-Panfilov ionic model.

https://doi.org/10.1016/0960-0779(95)00089-5

Definition at line 40 of file AP95.hpp.

#include <AP95.hpp>

Inheritance diagram for AP95:
[legend]

Public Member Functions

 AP95 (Unknown *u, const CepsSet< CepsAttribute > &attrs={}, InputParameters *params=nullptr)
 Constructor (sets constants) More...
 
virtual ~AP95 ()=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 convertVoltageToCepsUnit (const CepsReal &u) const override
 Convert from no unit to mV. More...
 
CepsReal convertVoltageFromCepsUnit (const CepsReal &u) const override
 Convert from mV to no unit. More...
 
CepsReal convertDtvToCepsUnit (const CepsReal &i) const override
 Convert from s-1 to uA per cm2. More...
 
CepsReal convertCurrentFromCepsUnit (const CepsReal &i) const override
 Convert from uA per cm2 to s-1. More...
 
CepsReal convertCmFromCepsUnit (const CepsReal &cm) const override
 Convert capacitance from ceps units (uF/cm2) to ionic model units. More...
 
CepsReal convertCmToCepsUnit (const CepsReal &cm) const override
 Convert capacitance from ionic model units to ceps units (uF/cm2). 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...
 
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)
 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_vMin
 lower bound of voltage normalization interval More...
 
CepsReal m_vMax
 upper bound of voltage normalization interval More...
 
CepsReal m_cellSurface
 surface of a cell used for unit scaling. Default is surface of a cylinder (r=10um,l=100um) 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 _h = 0
 indexing alias More...
 
static constexpr const CepsInt _k = 0
 indexing alias More...
 
static constexpr const CepsInt _a = 1
 indexing alias More...
 
static constexpr const CepsInt _mu1 = 2
 indexing alias More...
 
static constexpr const CepsInt _mu2 = 3
 indexing alias More...
 
static constexpr const CepsInt _eps0 = 4
 indexing alias More...
 

Constructor & Destructor Documentation

◆ AP95()

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

Constructor (sets constants)

Definition at line 32 of file AP95.cpp.

◆ ~AP95()

virtual AP95::~AP95 ( )
virtualdefault

Destructor.

Member Function Documentation

◆ computeRates()

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

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

Implements AbstractIonicModel.

Definition at line 76 of file AP95.cpp.

◆ convertCmFromCepsUnit()

CepsReal AP95::convertCmFromCepsUnit ( const CepsReal cm) const
overridevirtual

Convert capacitance from ceps units (uF/cm2) to ionic model units.

Reimplemented from AbstractIonicModel.

Definition at line 128 of file AP95.cpp.

◆ convertCmToCepsUnit()

CepsReal AP95::convertCmToCepsUnit ( const CepsReal cm) const
overridevirtual

Convert capacitance from ionic model units to ceps units (uF/cm2).

Reimplemented from AbstractIonicModel.

Definition at line 134 of file AP95.cpp.

◆ convertCurrentFromCepsUnit()

CepsReal AP95::convertCurrentFromCepsUnit ( const CepsReal i) const
overridevirtual

Convert from uA per cm2 to s-1.

Reimplemented from AbstractIonicModel.

Definition at line 116 of file AP95.cpp.

◆ convertDtvToCepsUnit()

CepsReal AP95::convertDtvToCepsUnit ( const CepsReal i) const
overridevirtual

Convert from s-1 to uA per cm2.

Reimplemented from AbstractIonicModel.

Definition at line 122 of file AP95.cpp.

◆ convertVoltageFromCepsUnit()

CepsReal AP95::convertVoltageFromCepsUnit ( const CepsReal u) const
overridevirtual

Convert from mV to no unit.

Reimplemented from AbstractIonicModel.

Definition at line 110 of file AP95.cpp.

◆ convertVoltageToCepsUnit()

CepsReal AP95::convertVoltageToCepsUnit ( const CepsReal u) const
overridevirtual

Convert from no unit to mV.

Reimplemented from AbstractIonicModel.

Definition at line 104 of file AP95.cpp.

◆ getInitialCondition()

void AP95::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 69 of file AP95.cpp.

◆ setupWithParameters()

void AP95::setupWithParameters ( InputParameters p,
FunctionDictionary dico 
)
protected

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

Definition at line 140 of file AP95.cpp.

Field Documentation

◆ _a

constexpr const CepsInt AP95::_a = 1
staticconstexprprotected

indexing alias

Definition at line 114 of file AP95.hpp.

◆ _eps0

constexpr const CepsInt AP95::_eps0 = 4
staticconstexprprotected

indexing alias

Definition at line 117 of file AP95.hpp.

◆ _h

constexpr const CepsInt AP95::_h = 0
staticconstexprprotected

indexing alias

Definition at line 110 of file AP95.hpp.

◆ _k

constexpr const CepsInt AP95::_k = 0
staticconstexprprotected

indexing alias

Definition at line 113 of file AP95.hpp.

◆ _mu1

constexpr const CepsInt AP95::_mu1 = 2
staticconstexprprotected

indexing alias

Definition at line 115 of file AP95.hpp.

◆ _mu2

constexpr const CepsInt AP95::_mu2 = 3
staticconstexprprotected

indexing alias

Definition at line 116 of file AP95.hpp.

◆ m_cellSurface

CepsReal AP95::m_cellSurface
protected

surface of a cell used for unit scaling. Default is surface of a cylinder (r=10um,l=100um)

Definition at line 107 of file AP95.hpp.

◆ m_vMax

CepsReal AP95::m_vMax
protected

upper bound of voltage normalization interval

Definition at line 106 of file AP95.hpp.

◆ m_vMin

CepsReal AP95::m_vMin
protected

lower bound of voltage normalization interval

Definition at line 105 of file AP95.hpp.


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