LifeV
LuoRudy< Mesh, SolverType > Class Template Reference

#include <HeartIonicSolver.hpp>

+ Inheritance diagram for LuoRudy< Mesh, SolverType >:
+ Collaboration diagram for LuoRudy< Mesh, SolverType >:

Public Types

typedef HeartIonicSolver< Mesh, SolverType >::data_Type data_Type
 
typedef HeartIonicSolver< Mesh, SolverType >::vector_Type vector_Type
 
typedef HeartIonicSolver< Mesh, SolverType >::function_Type function_Type
 
- Public Types inherited from HeartIonicSolver< Mesh, SolverType >
typedef HeartIonicData data_Type
 
typedef Real(* function_Type) (const Real &, const Real &, const Real &, const Real &, const ID &)
 
typedef std::function< Real(const markerID_Type &ref, const Real &x, const Real &y, const Real &z, const ID &i) > functorTauClose_Type
 
typedef Mesh mesh_Type
 
typedef SolverType::matrix_type matrix_Type
 
typedef SolverType::vector_type vector_Type
 
typedef SolverType::prec_raw_type precRaw_Type
 
typedef SolverType::prec_type prec_Type
 

Public Member Functions

 LuoRudy (const data_Type &dataType, const Mesh &mesh, FESpace< Mesh, MapEpetra > &uFEspace, Epetra_Comm &comm)
 Constructor. More...
 
virtual ~LuoRudy ()
 
void updateRepeated ()
 
void updateElementSolution (UInt eleID)
 Update the ionic model elvecs. More...
 
void computeODECoefficients (const Real &u_ig)
 
void solveIonicModel (const vector_Type &u, const Real timeStep)
 Solves the ionic model. More...
 
void computeIonicCurrent (Real Capacitance, VectorElemental &elvec, VectorElemental &elvec_u, FESpace< Mesh, MapEpetra > &uFESpace)
 Computes the term -1/ u^n (G (1-u^n/vp) (1-u^n/v_th) + eta_1 v^{n+1}) for the PDE righthand side. More...
 
void initialize ()
 Initialize. More...
 
const vector_TypesolutionGatingH () const
 Returns the local solution vector for each field. More...
 
const vector_TypesolutionGatingJ () const
 
const vector_TypesolutionGatingM () const
 
const vector_TypesolutionGatingD () const
 
const vector_TypesolutionGatingF () const
 
const vector_TypesolutionGatingX () const
 
const vector_TypesolutionGatingCa () const
 
- Public Member Functions inherited from HeartIonicSolver< Mesh, SolverType >
 HeartIonicSolver (const data_Type &dataType, const Mesh &mesh, FESpace< Mesh, MapEpetra > &uFEspace, Epetra_Comm &comm)
 Constructor. More...
 
virtual ~HeartIonicSolver ()
 Destructor. More...
 
FESpace< Mesh, MapEpetra > & recoveryFESpace ()
 Returns the recovery variable FE space. More...
 
Epetra_Map const & getRepeatedMapEpetra () const
 Return maps. More...
 
MapEpetra const & getMap () const
 

Data Fields

Real M_K0
 
Real M_Ki
 
Real M_Na0
 
Real M_Nai
 
Real M_R
 
Real M_temperature
 
Real M_F
 
Real M_permeabilityRatio
 
Real M_c
 
Real M_Ena
 
Real M_Gk
 
Real M_Ek
 
Real M_Gk1
 
Real M_Ek1
 
Real M_Ekp
 
Real M_Esi
 
Real M_ah
 
Real M_bh
 
Real M_aj
 
Real M_bj
 
Real M_xii
 
Real M_am
 
Real M_bm
 
Real M_ad
 
Real M_bd
 
Real M_af
 
Real M_bf
 
Real M_aX
 
Real M_bX
 
Real M_ak1
 
Real M_bk1
 
Real M_Kp
 
Real M_K1inf
 
Real M_hinf
 
Real M_tauh
 
Real M_jinf
 
Real M_tauj
 
Real M_minf
 
Real M_taum
 
Real M_dinf
 
Real M_taud
 
Real M_finf
 
Real M_tauf
 
Real M_Xinf
 
Real M_tauX
 
Real M_Ina
 
Real M_Islow
 
Real M_Ik
 
Real M_Ik1
 
Real M_Ikp
 
Real M_Iback
 
Real M_Ik1t
 
vector_Type M_vectorExponentialh
 
vector_Type M_vectorExponentialj
 
vector_Type M_vectorExponentialm
 
vector_Type M_vectorExponentiald
 
vector_Type M_vectorExponentialf
 
vector_Type M_vectorExponentialX
 
vector_Type M_vectorInfimumh
 
vector_Type M_vectorInfimumj
 
vector_Type M_vectorInfimumm
 
vector_Type M_vectorInfimumd
 
vector_Type M_vectorInfimumf
 
vector_Type M_vectorInfimumX
 
vector_Type M_vectorIonicChange
 
- Data Fields inherited from HeartIonicSolver< Mesh, SolverType >
const data_TypeM_data
 
const Mesh & M_mesh
 
FESpace< Mesh, MapEpetra > & M_uFESpace
 
Epetra_Comm * M_comm
 MPI communicator. More...
 
Int M_me
 
MapEpetra M_localMap
 Map. More...
 
bool M_verbose
 Boolean that indicates if output is sent to cout. More...
 

Protected Attributes

vector_Type M_solutionGatingH
 Global solution h. More...
 
vector_Type M_solutionGatingJ
 Global solution j. More...
 
vector_Type M_solutionGatingM
 Global solution m. More...
 
vector_Type M_solutionGatingD
 Global solution d. More...
 
vector_Type M_solutionGatingF
 Global solution f. More...
 
vector_Type M_solutionGatingX
 Global solution X. More...
 
vector_Type M_solutionGatingCa
 Global solution Ca_i. More...
 
vector_Type M_ionicCurrent
 
vector_Type M_ionicCurrentRepeated
 
VectorElemental M_elemVecIonicCurrent
 

Additional Inherited Members

- Protected Member Functions inherited from HeartIonicSolver< Mesh, SolverType >
UInt solutionUDimension () const
 

Detailed Description

template<typename Mesh, typename SolverType = LifeV::SolverAztecOO>
class LifeV::LuoRudy< Mesh, SolverType >

Definition at line 562 of file HeartIonicSolver.hpp.

Member Typedef Documentation

◆ data_Type

typedef HeartIonicSolver<Mesh, SolverType>::data_Type data_Type

Definition at line 565 of file HeartIonicSolver.hpp.

◆ vector_Type

typedef HeartIonicSolver<Mesh, SolverType>::vector_Type vector_Type

Definition at line 566 of file HeartIonicSolver.hpp.

◆ function_Type

typedef HeartIonicSolver<Mesh, SolverType>::function_Type function_Type

Definition at line 567 of file HeartIonicSolver.hpp.

Constructor & Destructor Documentation

◆ LuoRudy()

LuoRudy ( const data_Type dataType,
const Mesh &  mesh,
FESpace< Mesh, MapEpetra > &  uFEspace,
Epetra_Comm &  comm 
)

Constructor.

Definition at line 696 of file HeartIonicSolver.hpp.

+ Here is the caller graph for this function:

◆ ~LuoRudy()

virtual ~LuoRudy ( )
inlinevirtual

Definition at line 574 of file HeartIonicSolver.hpp.

Member Function Documentation

◆ updateRepeated()

void updateRepeated ( )
virtual

Implements HeartIonicSolver< Mesh, SolverType >.

Definition at line 744 of file HeartIonicSolver.hpp.

◆ updateElementSolution()

void updateElementSolution ( UInt  eleIDw)
virtual

Update the ionic model elvecs.

Filling local elvec with recovery variable values in the nodes

Implements HeartIonicSolver< Mesh, SolverType >.

Definition at line 751 of file HeartIonicSolver.hpp.

◆ computeODECoefficients()

void computeODECoefficients ( const Real u_ig)

Definition at line 915 of file HeartIonicSolver.hpp.

+ Here is the caller graph for this function:

◆ solveIonicModel()

void solveIonicModel ( const vector_Type u,
const Real  timeStep 
)
virtual

Solves the ionic model.

Solving dw/dt=eta2 (u/vp - eta3 w)

Implements HeartIonicSolver< Mesh, SolverType >.

Definition at line 766 of file HeartIonicSolver.hpp.

◆ computeIonicCurrent()

void computeIonicCurrent ( Real  Capacitance,
VectorElemental elvec,
VectorElemental elvec_u,
FESpace< Mesh, MapEpetra > &  uFESpace 
)
virtual

Computes the term -1/ u^n (G (1-u^n/vp) (1-u^n/v_th) + eta_1 v^{n+1}) for the PDE righthand side.

Implements HeartIonicSolver< Mesh, SolverType >.

Definition at line 975 of file HeartIonicSolver.hpp.

◆ initialize()

void initialize ( )
virtual

Initialize.

Implements HeartIonicSolver< Mesh, SolverType >.

Definition at line 999 of file HeartIonicSolver.hpp.

◆ solutionGatingH()

const vector_Type& solutionGatingH ( ) const
inline

Returns the local solution vector for each field.

Definition at line 592 of file HeartIonicSolver.hpp.

◆ solutionGatingJ()

const vector_Type& solutionGatingJ ( ) const
inline

Definition at line 597 of file HeartIonicSolver.hpp.

◆ solutionGatingM()

const vector_Type& solutionGatingM ( ) const
inline

Definition at line 602 of file HeartIonicSolver.hpp.

◆ solutionGatingD()

const vector_Type& solutionGatingD ( ) const
inline

Definition at line 607 of file HeartIonicSolver.hpp.

◆ solutionGatingF()

const vector_Type& solutionGatingF ( ) const
inline

Definition at line 612 of file HeartIonicSolver.hpp.

◆ solutionGatingX()

const vector_Type& solutionGatingX ( ) const
inline

Definition at line 617 of file HeartIonicSolver.hpp.

◆ solutionGatingCa()

const vector_Type& solutionGatingCa ( ) const
inline

Definition at line 622 of file HeartIonicSolver.hpp.

Field Documentation

◆ M_K0

Real M_K0

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Ki

Real M_Ki

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Na0

Real M_Na0

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Nai

Real M_Nai

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_R

Real M_R

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_temperature

Real M_temperature

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_F

Real M_F

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_permeabilityRatio

Real M_permeabilityRatio

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_c

Real M_c

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Ena

Real M_Ena

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Gk

Real M_Gk

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Ek

Real M_Ek

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Gk1

Real M_Gk1

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Ek1

Real M_Ek1

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Ekp

Real M_Ekp

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Esi

Real M_Esi

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_ah

Real M_ah

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_bh

Real M_bh

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_aj

Real M_aj

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_bj

Real M_bj

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_xii

Real M_xii

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_am

Real M_am

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_bm

Real M_bm

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_ad

Real M_ad

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_bd

Real M_bd

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_af

Real M_af

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_bf

Real M_bf

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_aX

Real M_aX

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_bX

Real M_bX

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_ak1

Real M_ak1

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_bk1

Real M_bk1

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Kp

Real M_Kp

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_K1inf

Real M_K1inf

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_hinf

Real M_hinf

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_tauh

Real M_tauh

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_jinf

Real M_jinf

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_tauj

Real M_tauj

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_minf

Real M_minf

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_taum

Real M_taum

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_dinf

Real M_dinf

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_taud

Real M_taud

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_finf

Real M_finf

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_tauf

Real M_tauf

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Xinf

Real M_Xinf

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_tauX

Real M_tauX

Definition at line 627 of file HeartIonicSolver.hpp.

◆ M_Ina

Real M_Ina

Definition at line 634 of file HeartIonicSolver.hpp.

◆ M_Islow

Real M_Islow

Definition at line 636 of file HeartIonicSolver.hpp.

◆ M_Ik

Real M_Ik

Definition at line 638 of file HeartIonicSolver.hpp.

◆ M_Ik1

Real M_Ik1

Definition at line 640 of file HeartIonicSolver.hpp.

◆ M_Ikp

Real M_Ikp

Definition at line 642 of file HeartIonicSolver.hpp.

◆ M_Iback

Real M_Iback

Definition at line 644 of file HeartIonicSolver.hpp.

◆ M_Ik1t

Real M_Ik1t

Definition at line 646 of file HeartIonicSolver.hpp.

◆ M_vectorExponentialh

vector_Type M_vectorExponentialh

Definition at line 648 of file HeartIonicSolver.hpp.

◆ M_vectorExponentialj

vector_Type M_vectorExponentialj

Definition at line 649 of file HeartIonicSolver.hpp.

◆ M_vectorExponentialm

vector_Type M_vectorExponentialm

Definition at line 650 of file HeartIonicSolver.hpp.

◆ M_vectorExponentiald

vector_Type M_vectorExponentiald

Definition at line 651 of file HeartIonicSolver.hpp.

◆ M_vectorExponentialf

vector_Type M_vectorExponentialf

Definition at line 652 of file HeartIonicSolver.hpp.

◆ M_vectorExponentialX

vector_Type M_vectorExponentialX

Definition at line 653 of file HeartIonicSolver.hpp.

◆ M_vectorInfimumh

vector_Type M_vectorInfimumh

Definition at line 654 of file HeartIonicSolver.hpp.

◆ M_vectorInfimumj

vector_Type M_vectorInfimumj

Definition at line 655 of file HeartIonicSolver.hpp.

◆ M_vectorInfimumm

vector_Type M_vectorInfimumm

Definition at line 656 of file HeartIonicSolver.hpp.

◆ M_vectorInfimumd

vector_Type M_vectorInfimumd

Definition at line 657 of file HeartIonicSolver.hpp.

◆ M_vectorInfimumf

vector_Type M_vectorInfimumf

Definition at line 658 of file HeartIonicSolver.hpp.

◆ M_vectorInfimumX

vector_Type M_vectorInfimumX

Definition at line 659 of file HeartIonicSolver.hpp.

◆ M_vectorIonicChange

vector_Type M_vectorIonicChange

Definition at line 660 of file HeartIonicSolver.hpp.

◆ M_solutionGatingH

vector_Type M_solutionGatingH
protected

Global solution h.

Definition at line 664 of file HeartIonicSolver.hpp.

◆ M_solutionGatingJ

vector_Type M_solutionGatingJ
protected

Global solution j.

Definition at line 666 of file HeartIonicSolver.hpp.

◆ M_solutionGatingM

vector_Type M_solutionGatingM
protected

Global solution m.

Definition at line 668 of file HeartIonicSolver.hpp.

◆ M_solutionGatingD

vector_Type M_solutionGatingD
protected

Global solution d.

Definition at line 670 of file HeartIonicSolver.hpp.

◆ M_solutionGatingF

vector_Type M_solutionGatingF
protected

Global solution f.

Definition at line 672 of file HeartIonicSolver.hpp.

◆ M_solutionGatingX

vector_Type M_solutionGatingX
protected

Global solution X.

Definition at line 674 of file HeartIonicSolver.hpp.

◆ M_solutionGatingCa

vector_Type M_solutionGatingCa
protected

Global solution Ca_i.

Definition at line 676 of file HeartIonicSolver.hpp.

◆ M_ionicCurrent

vector_Type M_ionicCurrent
protected

Definition at line 678 of file HeartIonicSolver.hpp.

◆ M_ionicCurrentRepeated

vector_Type M_ionicCurrentRepeated
protected

Definition at line 680 of file HeartIonicSolver.hpp.

◆ M_elemVecIonicCurrent

VectorElemental M_elemVecIonicCurrent
protected

Definition at line 682 of file HeartIonicSolver.hpp.


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