40 m_name =
"Mitchell-Schaeffer 2003";
58 m_vInit = 0.00000820413566106744;
98 dtyNLin[
_h] = wInf/tau;
182 m_name =
"Mitchell-Schaeffer 2003";
226 dtyLin [
_h] = -coeff;
227 dtyNLin[
_h] = coeff*hinfty;
240 iIon = iIonB*(1+std::tanh(kB*(v-b)));
245 iIon = iIonA*(1-std::tanh(kA*(v-a)));
std::basic_string< CepsChar > CepsString
C++ format string.
std::set< _Type, _Compare, _Alloc > CepsSet
C++ set.
float CepsReal
Need single precision floating point.
Represents a ionic model for a group of cells, i.e. multiple systems of ODEs.
CepsReal m_paperStim
Original stim amplitude.
CepsUInt m_nStateVars
Dimensionality of the ODE system, -1 for vm.
CepsReal * m_constants
Constant parameters of the model, from inputs.
CepsReal getStimulation(DegreeOfFreedom *x, CepsReal t) const
Get the sum of all stimulations at time t and dof x.
CepsVector< CepsString > m_stateVarNames
Names of state variables.
CepsReal getCmInternal(CepsReal t, DegreeOfFreedom *dof) const
Get either the value of cm on dof, or the default value from the paper.
CepsReal m_paperCm
Original value of Cm.
CepsString m_name
A label for display.
A degree of freedom for any kind of problem The dof can be associated to a geometrical element or not...
FunctionDictionary that holds functions which can be used to define source terms, boundary conditions...
void setupWithParameters(InputParameters *p, FunctionDictionary *dico)
Sets the constants and the space dependant parameters from text inputs.
MS03Modified(Unknown *u, const CepsSet< CepsAttribute > &attrs={}, InputParameters *params=nullptr)
Constructor (sets constants)
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.
static constexpr const CepsInt _vB
indexing alias
static constexpr const CepsInt _vA
indexing alias
static constexpr const CepsInt _etaGate
indexing alias
Mitchell-Schaeffer ionic model.
static constexpr const CepsInt _h
indexing alias
static constexpr const CepsInt _tauOut
indexing alias
static constexpr const CepsInt _tauIn
indexing alias
CepsReal convertVoltageToCepsUnit(const CepsReal &u) const override
Convert from no unit to mV.
CepsReal convertCmToCepsUnit(const CepsReal &cm) const override
Convert capacitance from ionic model units to ceps units (uF/cm2).
static constexpr const CepsInt _tauOpen
indexing alias
CepsReal m_vMin
lower bound of voltage normalization interval
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.
CepsReal m_hInit
Initial condition for h.
CepsReal m_cellSurface
surface of a cell used for unit scaling. Default is surface of a cylinder (r=10um,...
static constexpr const CepsInt _vGate
indexing alias
CepsReal convertCurrentFromCepsUnit(const CepsReal &i) const override
Convert from uA per cm2 to s-1.
CepsReal m_vInit
Initial condition for v.
void getInitialCondition(CepsReal *v, CepsReal *y) const final
Sets initial values of state variables and transmembrane voltage for a single point....
static constexpr const CepsInt _tauClose
indexing alias
void setupWithParameters(InputParameters *p, FunctionDictionary *dico)
Sets the constants and the space dependant parameters from text inputs.
CepsReal convertDtvToCepsUnit(const CepsReal &i) const override
Convert from s-1 to uA per cm2.
CepsReal convertCmFromCepsUnit(const CepsReal &cm) const override
Convert capacitance from ceps units (uF/cm2) to ionic model units.
CepsReal convertVoltageFromCepsUnit(const CepsReal &u) const override
Convert from mV to no unit.
MS03(Unknown *u, const CepsSet< CepsAttribute > &attrs={}, InputParameters *params=nullptr)
Constructor (sets constants)
CepsReal m_vMax
upper bound of voltage normalization interval
A class used to defined an unknown of a PDE problem The unknown can be defined on a specific region,...
const CepsGlobalIndex & getGlobalIndex() const
Get the index
CepsBool isValidPtr(_Type *ptr)
Tells if pointer is not null.
CepsBool greaterThan(CepsReal a, CepsReal b, CepsReal epsilon=FLOATING_POINT_EPSILON)
Greater than comparison with epsilon tolerance.
void checkNanOrInf(CepsReal v, CepsString message="")
Stops if value is NaN or infty.
CepsBool lesserThan(CepsReal a, CepsReal b, CepsReal epsilon=FLOATING_POINT_EPSILON)
Lesser than comparison with epsilon tolerance.
CepsBool equals(CepsReal a, CepsReal b, CepsReal error=1.0)
CepsReal equality up to machine precision.