LifeV
IonicGoldbeter Class Reference

#include <IonicGoldbeter.hpp>

+ Inheritance diagram for IonicGoldbeter:
+ Collaboration diagram for IonicGoldbeter:

Private Attributes

Real M_nu1
 Model Parameters. More...
 
Real M_nu2
 
Real M_nu3
 
Real M_nu4
 
Real M_nu5
 
Real M_k1
 
Real M_k2
 
Real M_k3
 
Real M_k4
 

Type definitions

typedef ElectroIonicModel super
 
typedef std::shared_ptr< VectorEpetravectorPtr_Type
 
typedef RegionMesh< LinearTetramesh_Type
 

Constructors & Destructor

 IonicGoldbeter ()
 Constructor. More...
 
 IonicGoldbeter (Teuchos::ParameterList &parameterList)
 
 IonicGoldbeter (const IonicGoldbeter &model)
 
virtual ~IonicGoldbeter ()
 Destructor. More...
 

Overloads

IonicGoldbeteroperator= (const IonicGoldbeter &model)
 Operator. More...
 

Setters and getters

const RealNu1 () const
 
const RealNu2 () const
 
const RealNu3 () const
 
const RealNu4 () const
 
const RealNu5 () const
 
const RealK1 () const
 
const RealK2 () const
 
const RealK3 () const
 
const RealK4 () const
 
void setNu1 (const Real &nu1)
 
void setNu2 (const Real &nu2)
 
void setNu3 (const Real &nu3)
 
void setNu4 (const Real &nu4)
 
void setNu5 (const Real &nu5)
 
void setK1 (const Real &k1)
 
void setK2 (const Real &k2)
 
void setK3 (const Real &k3)
 
void setK4 (const Real &k4)
 

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 showMe ()
 Display information about the model. More...
 

Additional Inherited Members

- Public Types inherited from ElectroIonicModel
typedef VectorEpetra vector_Type
 
typedef std::shared_ptr< VectorEpetravectorPtr_Type
 
typedef std::shared_ptr< VectorElementalelvecPtr_Type
 
typedef RegionMesh< LinearTetramesh_Type
 
typedef MatrixEpetra< Realmatrix_Type
 
typedef std::shared_ptr< matrix_TypematrixPtr_Type
 
typedef FESpace< mesh_Type, MapEpetrafeSpace_Type
 
typedef std::shared_ptr< feSpace_TypefeSpacePtr_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...
 
virtual void computeGatingVariablesWithRushLarsen (std::vector< Real > &, const Real)
 This methods contains the actual evaluation of the rhs of the voltage equation only (0D version) 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 &parameterList)
 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< RealrestingConditions () 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...
 
ElectroIonicModeloperator= (const ElectroIonicModel &Ionic)
 Assignment operator. More...
 
- Protected Attributes inherited from ElectroIonicModel
short int M_numberOfEquations
 
short int M_numberOfGatingVariables
 
std::vector< RealM_restingConditions
 
Real M_membraneCapacitance
 
Real M_appliedCurrent
 
vectorPtr_Type M_appliedCurrentPtr
 
function_Type M_pacingProtocol
 

Detailed Description

Definition at line 62 of file IonicGoldbeter.hpp.

Member Typedef Documentation

◆ super

Definition at line 68 of file IonicGoldbeter.hpp.

◆ vectorPtr_Type

typedef std::shared_ptr<VectorEpetra> vectorPtr_Type

Definition at line 69 of file IonicGoldbeter.hpp.

◆ mesh_Type

Definition at line 70 of file IonicGoldbeter.hpp.

Constructor & Destructor Documentation

◆ IonicGoldbeter() [1/3]

Constructor.

Constructors.

Definition at line 54 of file IonicGoldbeter.cpp.

◆ IonicGoldbeter() [2/3]

IonicGoldbeter ( Teuchos::ParameterList &  parameterList)
Parameters
Epetracommunicator
listof parameters in an xml file

Definition at line 71 of file IonicGoldbeter.cpp.

◆ IonicGoldbeter() [3/3]

IonicGoldbeter ( const IonicGoldbeter model)
Parameters
IntracellularCalciumGoldbeterobject

Definition at line 86 of file IonicGoldbeter.cpp.

◆ ~IonicGoldbeter()

virtual ~IonicGoldbeter ( )
inlinevirtual

Destructor.

Definition at line 92 of file IonicGoldbeter.hpp.

Member Function Documentation

◆ operator=()

IonicGoldbeter & operator= ( const IonicGoldbeter model)

Operator.

Definition at line 106 of file IonicGoldbeter.cpp.

◆ Nu1()

const Real& Nu1 ( ) const
inline

Definition at line 107 of file IonicGoldbeter.hpp.

◆ Nu2()

const Real& Nu2 ( ) const
inline

Definition at line 111 of file IonicGoldbeter.hpp.

◆ Nu3()

const Real& Nu3 ( ) const
inline

Definition at line 115 of file IonicGoldbeter.hpp.

◆ Nu4()

const Real& Nu4 ( ) const
inline

Definition at line 119 of file IonicGoldbeter.hpp.

◆ Nu5()

const Real& Nu5 ( ) const
inline

Definition at line 123 of file IonicGoldbeter.hpp.

◆ K1()

const Real& K1 ( ) const
inline

Definition at line 127 of file IonicGoldbeter.hpp.

◆ K2()

const Real& K2 ( ) const
inline

Definition at line 131 of file IonicGoldbeter.hpp.

◆ K3()

const Real& K3 ( ) const
inline

Definition at line 135 of file IonicGoldbeter.hpp.

◆ K4()

const Real& K4 ( ) const
inline

Definition at line 139 of file IonicGoldbeter.hpp.

◆ setNu1()

void setNu1 ( const Real nu1)
inline

Definition at line 144 of file IonicGoldbeter.hpp.

◆ setNu2()

void setNu2 ( const Real nu2)
inline

Definition at line 148 of file IonicGoldbeter.hpp.

◆ setNu3()

void setNu3 ( const Real nu3)
inline

Definition at line 152 of file IonicGoldbeter.hpp.

◆ setNu4()

void setNu4 ( const Real nu4)
inline

Definition at line 156 of file IonicGoldbeter.hpp.

◆ setNu5()

void setNu5 ( const Real nu5)
inline

Definition at line 160 of file IonicGoldbeter.hpp.

◆ setK1()

void setK1 ( const Real k1)
inline

Definition at line 164 of file IonicGoldbeter.hpp.

◆ setK2()

void setK2 ( const Real k2)
inline

Definition at line 168 of file IonicGoldbeter.hpp.

◆ setK3()

void setK3 ( const Real k3)
inline

Definition at line 172 of file IonicGoldbeter.hpp.

◆ setK4()

void setK4 ( const Real k4)
inline

Definition at line 176 of file IonicGoldbeter.hpp.

◆ computeGatingRhs()

void computeGatingRhs ( const std::vector< Real > &  v,
std::vector< Real > &  rhs 
)
virtual

Methods.

Implements ElectroIonicModel.

Definition at line 129 of file IonicGoldbeter.cpp.

◆ computeRhs()

void computeRhs ( const std::vector< Real > &  v,
std::vector< Real > &  rhs 
)
virtual

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.

Parameters
vvector of state variables including the voltage (with n elements)
rhsvector of right hand side state variables including the voltage (with n elements)

Implements ElectroIonicModel.

Definition at line 141 of file IonicGoldbeter.cpp.

◆ computeLocalPotentialRhs()

Real computeLocalPotentialRhs ( const std::vector< Real > &  v)
virtual

This methods contains the actual evaluation of the rhs of the voltage equation only (0D version)

Parameters
vvector of state variables including the voltage (with n elements)

Implements ElectroIonicModel.

Definition at line 156 of file IonicGoldbeter.cpp.

◆ showMe()

void showMe ( )
virtual

Display information about the model.

Implements ElectroIonicModel.

Definition at line 165 of file IonicGoldbeter.cpp.

+ Here is the caller graph for this function:

Field Documentation

◆ M_nu1

Real M_nu1
private

Model Parameters.

Chemical kinetics parameters

Definition at line 212 of file IonicGoldbeter.hpp.

◆ M_nu2

Real M_nu2
private

Definition at line 213 of file IonicGoldbeter.hpp.

◆ M_nu3

Real M_nu3
private

Definition at line 214 of file IonicGoldbeter.hpp.

◆ M_nu4

Real M_nu4
private

Definition at line 215 of file IonicGoldbeter.hpp.

◆ M_nu5

Real M_nu5
private

Definition at line 216 of file IonicGoldbeter.hpp.

◆ M_k1

Real M_k1
private

Definition at line 217 of file IonicGoldbeter.hpp.

◆ M_k2

Real M_k2
private

Definition at line 218 of file IonicGoldbeter.hpp.

◆ M_k3

Real M_k3
private

Definition at line 219 of file IonicGoldbeter.hpp.

◆ M_k4

Real M_k4
private

Definition at line 220 of file IonicGoldbeter.hpp.


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