LifeV
|
IonicModel - This class implements an ionic model. More...
#include <IonicMinimalModel.hpp>
Private Attributes | |
Real | M_uo |
Solves the ionic model. More... | |
Real | M_uu |
Real | M_tetav |
Real | M_tetaw |
Real | M_tetavm |
Real | M_tetao |
Real | M_tauv1 |
Real | M_tauv2 |
Real | M_tauvp |
Real | M_tauw1 |
Real | M_tauw2 |
Real | M_kw |
Real | M_uw |
Real | M_tauwp |
Real | M_taufi |
Real | M_tauo1 |
Real | M_tauo2 |
Real | M_tauso1 |
Real | M_tauso2 |
Real | M_kso |
Real | M_uso |
Real | M_taus1 |
Real | M_taus2 |
Real | M_ks |
Real | M_us |
Real | M_tausi |
Real | M_tauwinf |
Real | M_winfstar |
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 | |
IonicMinimalModel () | |
Constructor. More... | |
IonicMinimalModel (Teuchos::ParameterList ¶meterList) | |
IonicMinimalModel (const IonicMinimalModel &model) | |
virtual | ~IonicMinimalModel () |
Destructor. More... | |
Overloads | |
IonicMinimalModel & | operator= (const IonicMinimalModel &model) |
Operator. More... | |
Setters and getters | |
const Real & | Uo () const |
const Real & | Uu () const |
const Real & | Tetav () const |
const Real & | Tetaw () const |
const Real & | Tetavm () const |
const Real & | Tetao () const |
const Real & | Tauv1 () const |
const Real & | Tauv2 () const |
const Real & | Tauvp () const |
const Real & | Tauw1 () const |
const Real & | Tauw2 () const |
const Real & | Kw () const |
const Real & | Uw () const |
const Real & | Tauwp () const |
const Real & | Taufi () const |
const Real & | Tauo1 () const |
const Real & | Tauo2 () const |
const Real & | Tauso1 () const |
const Real & | Tauso2 () const |
const Real & | Kso () const |
const Real & | Uso () const |
const Real & | Taus1 () const |
const Real & | Taus2 () const |
const Real & | Ks () const |
const Real & | Us () const |
const Real & | Tausi () const |
const Real & | Tauinf () const |
const Real & | Winfstart () const |
void | setUo (const Real &p) |
void | setUu (const Real &p) |
void | setTetav (const Real &p) |
void | setTetaw (const Real &p) |
void | setTetavm (const Real &p) |
void | setTetao (const Real &p) |
void | setTauv1 (const Real &p) |
void | setTauv2 (const Real &p) |
void | setTauvp (const Real &p) |
void | setTauw1 (const Real &p) |
void | setTauw2 (const Real &p) |
void | setKw (const Real &p) |
void | setUw (const Real &p) |
void | setTauwp (const Real &p) |
void | setTaufi (const Real &p) |
void | setTauo1 (const Real &p) |
void | setTauo2 (const Real &p) |
void | setTauso1 (const Real &p) |
void | setTauso2 (const Real &p) |
void | setKso (const Real &p) |
void | setUso (const Real &p) |
void | setTaus1 (const Real &p) |
void | setTaus2 (const Real &p) |
void | setKs (const Real &p) |
void | setUs (const Real &p) |
void | setTausi (const Real &p) |
void | setTauinf (const Real &p) |
void | setWinfstart (const Real &p) |
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... | |
Methods | |
void | computeGatingRhs (const std::vector< Real > &v, std::vector< Real > &rhs) |
Methods. 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... | |
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 | 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... | |
void | showMe () |
Display information about the model. More... | |
static Real | Heaviside (const Real &x) |
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, 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... | |
virtual 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... | |
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 58 of file IonicMinimalModel.hpp.
typedef ElectroIonicModel super |
Definition at line 64 of file IonicMinimalModel.hpp.
typedef std::shared_ptr<VectorEpetra> vectorPtr_Type |
Definition at line 65 of file IonicMinimalModel.hpp.
typedef std::shared_ptr<VectorElemental> elvecPtr_Type |
Definition at line 66 of file IonicMinimalModel.hpp.
typedef RegionMesh<LinearTetra> mesh_Type |
Definition at line 67 of file IonicMinimalModel.hpp.
IonicMinimalModel | ( | Teuchos::ParameterList & | parameterList | ) |
Epetra | communicator |
list | of parameters in an xml file |
Definition at line 88 of file IonicMinimalModel.cpp.
IonicMinimalModel | ( | const IonicMinimalModel & | model | ) |
IonicMinimalModel | object |
Definition at line 126 of file IonicMinimalModel.cpp.
|
inlinevirtual |
Destructor.
Definition at line 89 of file IonicMinimalModel.hpp.
IonicMinimalModel & operator= | ( | const IonicMinimalModel & | model | ) |
Operator.
Definition at line 166 of file IonicMinimalModel.cpp.
|
inline |
Definition at line 104 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 108 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 112 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 116 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 120 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 124 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 128 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 132 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 136 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 140 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 144 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 148 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 152 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 156 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 160 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 164 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 168 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 172 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 176 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 180 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 184 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 188 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 192 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 196 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 200 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 204 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 208 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 212 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 218 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 222 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 226 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 230 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 234 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 238 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 242 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 246 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 250 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 254 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 258 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 262 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 266 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 270 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 274 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 278 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 282 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 286 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 290 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 294 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 298 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 302 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 306 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 310 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 314 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 318 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 322 of file IonicMinimalModel.hpp.
|
inline |
Definition at line 326 of file IonicMinimalModel.hpp.
|
virtual |
Compute the right hand side of the voltage equation using SVI.
v | vector of pointers to the state variables vectors |
rhs | vector of right hand side state variables |
uFESpace | finite element space of the voltage |
Filling local elvec_u with potential values in the nodes
Reimplemented from ElectroIonicModel.
Definition at line 330 of file IonicMinimalModel.cpp.
Definition at line 342 of file IonicMinimalModel.hpp.
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 230 of file IonicMinimalModel.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 272 of file IonicMinimalModel.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 260 of file IonicMinimalModel.cpp.
|
virtual |
Display information about the model.
Implements ElectroIonicModel.
Definition at line 295 of file IonicMinimalModel.cpp.
|
private |
Solves the ionic model.
Model Parameters Chemical kinetics parameters
Definition at line 376 of file IonicMinimalModel.hpp.
|
private |
Definition at line 377 of file IonicMinimalModel.hpp.
|
private |
Definition at line 378 of file IonicMinimalModel.hpp.
|
private |
Definition at line 379 of file IonicMinimalModel.hpp.
|
private |
Definition at line 380 of file IonicMinimalModel.hpp.
|
private |
Definition at line 381 of file IonicMinimalModel.hpp.
|
private |
Definition at line 382 of file IonicMinimalModel.hpp.
|
private |
Definition at line 383 of file IonicMinimalModel.hpp.
|
private |
Definition at line 384 of file IonicMinimalModel.hpp.
|
private |
Definition at line 385 of file IonicMinimalModel.hpp.
|
private |
Definition at line 386 of file IonicMinimalModel.hpp.
|
private |
Definition at line 387 of file IonicMinimalModel.hpp.
|
private |
Definition at line 388 of file IonicMinimalModel.hpp.
|
private |
Definition at line 389 of file IonicMinimalModel.hpp.
|
private |
Definition at line 390 of file IonicMinimalModel.hpp.
|
private |
Definition at line 391 of file IonicMinimalModel.hpp.
|
private |
Definition at line 392 of file IonicMinimalModel.hpp.
|
private |
Definition at line 393 of file IonicMinimalModel.hpp.
|
private |
Definition at line 394 of file IonicMinimalModel.hpp.
|
private |
Definition at line 395 of file IonicMinimalModel.hpp.
|
private |
Definition at line 396 of file IonicMinimalModel.hpp.
|
private |
Definition at line 397 of file IonicMinimalModel.hpp.
|
private |
Definition at line 398 of file IonicMinimalModel.hpp.
|
private |
Definition at line 399 of file IonicMinimalModel.hpp.
|
private |
Definition at line 400 of file IonicMinimalModel.hpp.
|
private |
Definition at line 401 of file IonicMinimalModel.hpp.
|
private |
Definition at line 402 of file IonicMinimalModel.hpp.
|
private |
Definition at line 403 of file IonicMinimalModel.hpp.