LifeV
HeartIonicSolver< Mesh, SolverType > Class Template Referenceabstract

IonicSolver - This class implements a ionic model solver. More...

#include <HeartIonicSolver.hpp>

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

Protected Member Functions

UInt solutionUDimension () const
 

Type definitions

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
 

Constructors & Destructor

 HeartIonicSolver (const data_Type &dataType, const Mesh &mesh, FESpace< Mesh, MapEpetra > &uFEspace, Epetra_Comm &comm)
 Constructor. More...
 
virtual ~HeartIonicSolver ()
 Destructor. More...
 

Methods

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...
 
FESpace< Mesh, MapEpetra > & recoveryFESpace ()
 Returns the recovery variable FE space. More...
 
Epetra_Map const & getRepeatedMapEpetra () const
 Return maps. More...
 
MapEpetra const & getMap () const
 
virtual void updateRepeated ()=0
 
virtual void updateElementSolution (UInt eleIDw)=0
 Update the ionic model elvecs. More...
 
virtual void solveIonicModel (const vector_Type &u, const Real timeStep)=0
 Solves the ionic model. More...
 
virtual void computeIonicCurrent (Real Capacitance, VectorElemental &elvec, VectorElemental &elvec_u, FESpace< Mesh, MapEpetra > &uFESpace)=0
 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...
 
virtual void initialize ()=0
 Initialize. More...
 

Detailed Description

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

IonicSolver - This class implements a ionic model solver.

Definition at line 66 of file HeartIonicSolver.hpp.

Member Typedef Documentation

◆ data_Type

Definition at line 73 of file HeartIonicSolver.hpp.

◆ function_Type

typedef Real( * function_Type) (const Real &, const Real &, const Real &, const Real &, const ID &)

Definition at line 75 of file HeartIonicSolver.hpp.

◆ functorTauClose_Type

typedef std::function< Real (const markerID_Type& ref, const Real& x, const Real& y, const Real& z, const ID& i) > functorTauClose_Type

Definition at line 85 of file HeartIonicSolver.hpp.

◆ mesh_Type

typedef Mesh mesh_Type

Definition at line 87 of file HeartIonicSolver.hpp.

◆ matrix_Type

Definition at line 89 of file HeartIonicSolver.hpp.

◆ vector_Type

Definition at line 90 of file HeartIonicSolver.hpp.

◆ precRaw_Type

typedef SolverType::prec_raw_type precRaw_Type

Definition at line 92 of file HeartIonicSolver.hpp.

◆ prec_Type

typedef SolverType::prec_type prec_Type

Definition at line 93 of file HeartIonicSolver.hpp.

Constructor & Destructor Documentation

◆ HeartIonicSolver()

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

Constructor.

Parameters
dataType
mesh
recoveryFE space
Epetracommunicator

Definition at line 196 of file HeartIonicSolver.hpp.

+ Here is the caller graph for this function:

◆ ~HeartIonicSolver()

virtual ~HeartIonicSolver ( )
inlinevirtual

Destructor.

Definition at line 115 of file HeartIonicSolver.hpp.

Member Function Documentation

◆ recoveryFESpace()

FESpace<Mesh, MapEpetra>& recoveryFESpace ( )
inline

Returns the recovery variable FE space.

Definition at line 124 of file HeartIonicSolver.hpp.

◆ getRepeatedMapEpetra()

Epetra_Map const& getRepeatedMapEpetra ( ) const
inline

Return maps.

Definition at line 130 of file HeartIonicSolver.hpp.

◆ getMap()

MapEpetra const& getMap ( ) const
inline

Definition at line 135 of file HeartIonicSolver.hpp.

◆ updateRepeated()

virtual void updateRepeated ( )
pure virtual

Implemented in LuoRudy< Mesh, SolverType >, RogersMcCulloch< Mesh, SolverType >, and MitchellSchaeffer< Mesh, SolverType >.

+ Here is the caller graph for this function:

◆ updateElementSolution()

virtual void updateElementSolution ( UInt  eleIDw)
pure virtual

◆ solveIonicModel()

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

◆ computeIonicCurrent()

virtual void computeIonicCurrent ( Real  Capacitance,
VectorElemental elvec,
VectorElemental elvec_u,
FESpace< Mesh, MapEpetra > &  uFESpace 
)
pure 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.

Implemented in LuoRudy< Mesh, SolverType >, RogersMcCulloch< Mesh, SolverType >, and MitchellSchaeffer< Mesh, SolverType >.

◆ initialize()

virtual void initialize ( )
pure virtual

◆ solutionUDimension()

UInt solutionUDimension ( ) const
inlineprotected

Definition at line 181 of file HeartIonicSolver.hpp.

Field Documentation

◆ M_data

const data_Type& M_data

Definition at line 159 of file HeartIonicSolver.hpp.

◆ M_mesh

const Mesh& M_mesh

Definition at line 161 of file HeartIonicSolver.hpp.

◆ M_uFESpace

FESpace<Mesh, MapEpetra>& M_uFESpace

Definition at line 164 of file HeartIonicSolver.hpp.

◆ M_comm

Epetra_Comm* M_comm

MPI communicator.

Definition at line 167 of file HeartIonicSolver.hpp.

◆ M_me

Int M_me

Definition at line 169 of file HeartIonicSolver.hpp.

◆ M_localMap

MapEpetra M_localMap

Map.

Definition at line 172 of file HeartIonicSolver.hpp.

◆ M_verbose

bool M_verbose

Boolean that indicates if output is sent to cout.

Definition at line 175 of file HeartIonicSolver.hpp.


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