LifeV
|
IonicModel - This class implements an ionic model. More...
#include <IonicLuoRudyI.hpp>
Private Attributes | |
Real | M_ENa |
Solves the ionic model. More... | |
Real | M_gNa |
Real | M_gsi |
Real | M_K0 |
Real | M_gK |
Real | M_EK |
Real | M_gK1 |
Real | M_EK1 |
Real | M_EKp |
Real | M_gKp |
Real | M_gb |
Type definitions | |
typedef ElectroIonicModel | super |
typedef std::shared_ptr< VectorEpetra > | vectorPtr_Type |
typedef std::shared_ptr< VectorElemental > | elvecPtr_Type |
typedef RegionMesh< LinearTetra > | mesh_Type |
Constructors & Destructor | |
IonicLuoRudyI () | |
Constructor. More... | |
IonicLuoRudyI (Teuchos::ParameterList ¶meterList) | |
IonicLuoRudyI (const IonicLuoRudyI &model) | |
virtual | ~IonicLuoRudyI () |
Destructor. More... | |
Overloads | |
IonicLuoRudyI & | operator= (const IonicLuoRudyI &model) |
Operator. More... | |
Setters and getters | |
const Real | ENa () const |
const Real | gNa () const |
const Real | gsi () const |
const Real | K0 () const |
const Real | gK () const |
const Real | EK () const |
const Real | gK1 () const |
const Real | EK1 () const |
const Real | EKp () const |
const Real | gKp () const |
const Real | gb () const |
void | setENa (const Real p) |
void | setGNa (const Real p) |
void | setGsi (const Real p) |
void | setK0 (const Real p) |
void | setGK (const Real p) |
void | setEK (const Real p) |
void | setGK1 (const Real p) |
void | setEK1 (const Real p) |
void | setEKp (const Real p) |
void | setGKp (const Real p) |
void | setGb (const Real p) |
Methods | |
Real | am (Real V) |
Real | bm (Real V) |
Real | tm (Real V) |
Real | minf (Real V) |
Real | dm (Real V, Real m) |
Real | ah (Real V) |
Real | bh (Real V) |
Real | th (Real V) |
Real | hinf (Real V) |
Real | dh (Real V, Real h) |
Real | aj (Real V) |
Real | bj (Real V) |
Real | tj (Real V) |
Real | jinf (Real V) |
Real | dj (Real V, Real j) |
Real | INa (Real V, Real m, Real h, Real j) |
Real | Esi (Real Ca) |
Real | ad (Real V) |
Real | bd (Real V) |
Real | td (Real V) |
Real | dinf (Real V) |
Real | dd (Real V, Real d) |
Real | af (Real V) |
Real | bf (Real V) |
Real | tf (Real V) |
Real | finf (Real V) |
Real | df (Real V, Real f) |
Real | Isi (Real V, Real d, Real f, Real Ca) |
Real | dCa (Real V, Real d, Real f, Real Ca) |
Real | computeGK (Real K0) |
Real | aX (Real V) |
Real | bX (Real V) |
Real | tX (Real V) |
Real | Xinf (Real V) |
Real | dX (Real V, Real X) |
Real | Xi (Real V) |
Real | IK (Real V, Real X) |
Real | computeGK1 (Real K0) |
Real | aK1 (Real V) |
Real | bK1 (Real V) |
Real | tK1 (Real V) |
Real | K1inf (Real V) |
Real | IK1 (Real V) |
Real | Kp (Real V) |
Real | IKp (Real V) |
Real | Ib (Real V) |
Real | Itot (Real V, Real m, Real h, Real j, Real d, Real f, Real X, Real Ca) |
void | computeGatingRhs (const std::vector< Real > &v, std::vector< Real > &rhs) |
Methods. More... | |
void | computeNonGatingRhs (const std::vector< Real > &v, std::vector< Real > &rhs) |
In the case this method is improperly used, it should use this default implementation. More... | |
void | computeRhs (const std::vector< Real > &v, std::vector< Real > &rhs) |
This methods contains the actual evaluation of the rhs of all state variablesin the model (0D version) More... | |
void | computeGatingVariablesWithRushLarsen (std::vector< Real > &v, const Real dt) |
This methods contains the actual evaluation of the rhs of the voltage equation only (0D version) More... | |
Real | computeLocalPotentialRhs (const std::vector< Real > &v) |
This methods contains the actual evaluation of the rhs of the voltage equation only (0D version) More... | |
void | showMe () |
Display information about the model. More... | |
Additional Inherited Members | |
Public Types inherited from ElectroIonicModel | |
typedef VectorEpetra | vector_Type |
typedef std::shared_ptr< VectorEpetra > | vectorPtr_Type |
typedef std::shared_ptr< VectorElemental > | elvecPtr_Type |
typedef RegionMesh< LinearTetra > | mesh_Type |
typedef MatrixEpetra< Real > | matrix_Type |
typedef std::shared_ptr< matrix_Type > | matrixPtr_Type |
typedef FESpace< mesh_Type, MapEpetra > | feSpace_Type |
typedef std::shared_ptr< feSpace_Type > | feSpacePtr_Type |
typedef std::function< Real(const Real &t, const Real &x, const Real &y, const Real &z, const ID &i) > | function_Type |
typedef FactorySingleton< Factory< ElectroIonicModel, std::string > > | IonicModelFactory |
Public Member Functions inherited from ElectroIonicModel | |
virtual matrix_Type | getJac (const vector_Type &v, Real h=1.0e-8) |
This methods computes the Jacobian numerically. More... | |
virtual std::vector< std::vector< Real > > | getJac (const std::vector< Real > &v, Real h=1.0e-8) |
This methods computes the Jacobian numerically. More... | |
virtual void | computeGatingRhs (const std::vector< vectorPtr_Type > &v, std::vector< vectorPtr_Type > &rhs) |
This methods computes the right hand side of the gating variables in the 3D case. More... | |
virtual void | computeNonGatingRhs (const std::vector< vectorPtr_Type > &v, std::vector< vectorPtr_Type > &rhs) |
This methods computes the right hand side of the state variables that are not gating variables in the 3D case. More... | |
virtual void | computeGatingVariablesWithRushLarsen (std::vector< vectorPtr_Type > &v, const Real dt) |
Compute the new value of the gating variables in 3D with the Rush Larsen method specified in the 0D version of the ionic model. More... | |
virtual void | computeRhs (const std::vector< vectorPtr_Type > &v, std::vector< vectorPtr_Type > &rhs) |
Compute the right hand side of the ionic model in 3D. More... | |
virtual void | computePotentialRhsICI (const std::vector< vectorPtr_Type > &v, std::vector< vectorPtr_Type > &rhs, matrix_Type &massMatrix) |
Compute the right hand side of the voltage equation linearly interpolating the ionic currents. More... | |
virtual void | computePotentialRhsSVI (const std::vector< vectorPtr_Type > &v, std::vector< vectorPtr_Type > &rhs, FESpace< mesh_Type, MapEpetra > &uFESpace) |
Compute the right hand side of the voltage equation using SVI. More... | |
virtual void | computePotentialRhsSVI (const std::vector< vectorPtr_Type > &v, std::vector< vectorPtr_Type > &rhs, FESpace< mesh_Type, MapEpetra > &uFESpace, const QuadratureRule &qr) |
Compute the right hand side of the voltage equation using SVI specifying the quadrature rule. More... | |
virtual void | initialize (std::vector< Real > &v) |
Initialize the ionic model with a given vector of state variable (0D version) More... | |
virtual void | initialize (std::vector< vectorPtr_Type > &v) |
Initialize the ionic model in 3D with a given vector of state variable vector pointers. More... | |
ElectroIonicModel () | |
Empty Constructor. More... | |
ElectroIonicModel (int n) | |
Constructor. More... | |
ElectroIonicModel (int n, int g) | |
Constructor. More... | |
ElectroIonicModel (const ElectroIonicModel &Ionic) | |
Copy Constructor. More... | |
virtual | ~ElectroIonicModel () |
Destructor. More... | |
virtual void | setup (Teuchos::ParameterList ¶meterList) |
setup the parameters of the ionic model from an xml file More... | |
const short int | Size () const |
returns the number of equations of the ionic model More... | |
const short int | numberOfGatingVariables () const |
returns the number of gating variables in the ionic model More... | |
const Real | membraneCapacitance () const |
returns the value of the membrane capacitance in the model More... | |
const Real | appliedCurrent () const |
returns the value of the applied current in the model/point More... | |
vectorPtr_Type | appliedCurrentPtr () |
returns the pointer to the applied current FE vector in the 3D case More... | |
const std::vector< Real > | restingConditions () const |
returns the vector with the resting values of the variables in the ionic model More... | |
const function_Type | pacaingProtocol () const |
returns the function describing the pacing protocol for the ionic model More... | |
void | setMembraneCapacitance (const Real p) |
set the membrane capacitance in the ionic model More... | |
void | setAppliedCurrent (const Real p) |
set the applied current in the ionic model/point More... | |
void | setAppliedCurrentPtr (const vectorPtr_Type p) |
set the pointer to the applied current in the 3D ionic model More... | |
void | setAppliedCurrent (const vector_Type &p) |
set the pointer to the applied current in the 3D ionic model More... | |
void | setAppliedCurrentFromFunction (function_Type &f, feSpacePtr_Type feSpacePtr, Real time=0.0) |
Interpolate the function f on the FE space feSpacePtr at time time. More... | |
void | setAppliedCurrentFromElectroStimulus (ElectroStimulus &stimulus, feSpacePtr_Type feSpacePtr, Real time=0.0) |
Interpolate the function of the electro stimulus. More... | |
void | setPacingProtocol (function_Type pacingProtocol) |
Set the pacing protocol as boost function. More... | |
void | setRestingCondtions (Real value, int j) |
Set component of the resting conditions. More... | |
void | setRestingCondtions (std::vector< Real > &restingConditions) |
Set resting conditions. More... | |
void | addAppliedCurrent (Real &rhs) |
Simple wrapper to add the applied current. More... | |
void | addAppliedCurrent (std::vector< Real > &rhs) |
Simple wrapper to add the applied current. More... | |
ElectroIonicModel & | operator= (const ElectroIonicModel &Ionic) |
Assignment operator. More... | |
Protected Attributes inherited from ElectroIonicModel | |
short int | M_numberOfEquations |
short int | M_numberOfGatingVariables |
std::vector< Real > | M_restingConditions |
Real | M_membraneCapacitance |
Real | M_appliedCurrent |
vectorPtr_Type | M_appliedCurrentPtr |
function_Type | M_pacingProtocol |
IonicModel - This class implements an ionic model.
Definition at line 59 of file IonicLuoRudyI.hpp.
typedef ElectroIonicModel super |
Definition at line 65 of file IonicLuoRudyI.hpp.
typedef std::shared_ptr<VectorEpetra> vectorPtr_Type |
Definition at line 66 of file IonicLuoRudyI.hpp.
typedef std::shared_ptr<VectorElemental> elvecPtr_Type |
Definition at line 67 of file IonicLuoRudyI.hpp.
typedef RegionMesh<LinearTetra> mesh_Type |
Definition at line 68 of file IonicLuoRudyI.hpp.
IonicLuoRudyI | ( | ) |
IonicLuoRudyI | ( | Teuchos::ParameterList & | parameterList | ) |
Epetra | communicator |
list | of parameters in an xml file |
Definition at line 81 of file IonicLuoRudyI.cpp.
IonicLuoRudyI | ( | const IonicLuoRudyI & | model | ) |
IonicLuoRudyI | object |
Definition at line 115 of file IonicLuoRudyI.cpp.
|
inlinevirtual |
Destructor.
Definition at line 90 of file IonicLuoRudyI.hpp.
IonicLuoRudyI & operator= | ( | const IonicLuoRudyI & | model | ) |
Operator.
Definition at line 138 of file IonicLuoRudyI.cpp.
|
inline |
Definition at line 105 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 109 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 115 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 121 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 125 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 129 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 135 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 139 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 145 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 149 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 155 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 162 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 166 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 172 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 178 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 184 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 188 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 194 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 198 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 204 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 208 of file IonicLuoRudyI.hpp.
|
inline |
Definition at line 214 of file IonicLuoRudyI.hpp.
Definition at line 228 of file IonicLuoRudyI.hpp.
Definition at line 232 of file IonicLuoRudyI.hpp.
Definition at line 236 of file IonicLuoRudyI.hpp.
Definition at line 240 of file IonicLuoRudyI.hpp.
Definition at line 244 of file IonicLuoRudyI.hpp.
Definition at line 250 of file IonicLuoRudyI.hpp.
Definition at line 261 of file IonicLuoRudyI.hpp.
Definition at line 272 of file IonicLuoRudyI.hpp.
Definition at line 276 of file IonicLuoRudyI.hpp.
Definition at line 280 of file IonicLuoRudyI.hpp.
Definition at line 286 of file IonicLuoRudyI.hpp.
Definition at line 296 of file IonicLuoRudyI.hpp.
Definition at line 307 of file IonicLuoRudyI.hpp.
Definition at line 311 of file IonicLuoRudyI.hpp.
Definition at line 315 of file IonicLuoRudyI.hpp.
Definition at line 321 of file IonicLuoRudyI.hpp.
Definition at line 328 of file IonicLuoRudyI.hpp.
Definition at line 333 of file IonicLuoRudyI.hpp.
Definition at line 337 of file IonicLuoRudyI.hpp.
Definition at line 341 of file IonicLuoRudyI.hpp.
Definition at line 345 of file IonicLuoRudyI.hpp.
Definition at line 349 of file IonicLuoRudyI.hpp.
Definition at line 355 of file IonicLuoRudyI.hpp.
Definition at line 359 of file IonicLuoRudyI.hpp.
Definition at line 363 of file IonicLuoRudyI.hpp.
Definition at line 367 of file IonicLuoRudyI.hpp.
Definition at line 371 of file IonicLuoRudyI.hpp.
Definition at line 377 of file IonicLuoRudyI.hpp.
Definition at line 383 of file IonicLuoRudyI.hpp.
Definition at line 390 of file IonicLuoRudyI.hpp.
Definition at line 396 of file IonicLuoRudyI.hpp.
Definition at line 400 of file IonicLuoRudyI.hpp.
Definition at line 404 of file IonicLuoRudyI.hpp.
Definition at line 408 of file IonicLuoRudyI.hpp.
Definition at line 412 of file IonicLuoRudyI.hpp.
Definition at line 418 of file IonicLuoRudyI.hpp.
Definition at line 430 of file IonicLuoRudyI.hpp.
Definition at line 437 of file IonicLuoRudyI.hpp.
Definition at line 443 of file IonicLuoRudyI.hpp.
Definition at line 447 of file IonicLuoRudyI.hpp.
Definition at line 452 of file IonicLuoRudyI.hpp.
Definition at line 456 of file IonicLuoRudyI.hpp.
Definition at line 462 of file IonicLuoRudyI.hpp.
Definition at line 469 of file IonicLuoRudyI.hpp.
Definition at line 473 of file IonicLuoRudyI.hpp.
Definition at line 480 of file IonicLuoRudyI.hpp.
Definition at line 487 of file IonicLuoRudyI.hpp.
In the case this method is improperly used, it should use this default implementation.
This method should be used together with the Rush-Larsen time advancing scheme
v | vector of state variables including the voltage (with n elements) |
rhs | vector of right hand side state variables excluding the voltage and the gating variables (with n-g-1 elements) |
Reimplemented from ElectroIonicModel.
Definition at line 191 of file IonicLuoRudyI.cpp.
This methods contains the actual evaluation of the rhs of all state variablesin the model (0D version)
Although this method can just wrap the computeGatingRhs ( const std::vector<Real>& v, std::vector<Real>& rhs ) and the computeLocalPotentialRhs ( const std::vector<Real>& v ) methods, for efficiency it may be better to duplicate the code.
v | vector of state variables including the voltage (with n elements) |
rhs | vector of right hand side state variables including the voltage (with n elements) |
Implements ElectroIonicModel.
Definition at line 203 of file IonicLuoRudyI.cpp.
This methods contains the actual evaluation of the rhs of the voltage equation only (0D version)
Overload this method in order to solve the ionic model with the Rush-Larsen method in the monodomain solver
v | vector of state variables |
dt | time step of the simulation |
Reimplemented from ElectroIonicModel.
Definition at line 233 of file IonicLuoRudyI.cpp.
This methods contains the actual evaluation of the rhs of the voltage equation only (0D version)
v | vector of state variables including the voltage (with n elements) |
Implements ElectroIonicModel.
Definition at line 252 of file IonicLuoRudyI.cpp.
|
virtual |
Display information about the model.
Implements ElectroIonicModel.
Definition at line 271 of file IonicLuoRudyI.cpp.
|
private |
Solves the ionic model.
Model Parameters Chemical kinetics parameters
Definition at line 517 of file IonicLuoRudyI.hpp.
|
private |
Definition at line 518 of file IonicLuoRudyI.hpp.
|
private |
Definition at line 521 of file IonicLuoRudyI.hpp.
|
private |
Definition at line 524 of file IonicLuoRudyI.hpp.
|
private |
Definition at line 525 of file IonicLuoRudyI.hpp.
|
private |
Definition at line 526 of file IonicLuoRudyI.hpp.
|
private |
Definition at line 529 of file IonicLuoRudyI.hpp.
|
private |
Definition at line 530 of file IonicLuoRudyI.hpp.
|
private |
Definition at line 533 of file IonicLuoRudyI.hpp.
|
private |
Definition at line 534 of file IonicLuoRudyI.hpp.
|
private |
Definition at line 536 of file IonicLuoRudyI.hpp.