LifeV
MitchellSchaeffer< Mesh, SolverType > Class Template Reference

#include <HeartIonicSolver.hpp>

+ Inheritance diagram for MitchellSchaeffer< Mesh, SolverType >:
+ Collaboration diagram for MitchellSchaeffer< 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
 
typedef HeartIonicSolver< Mesh, SolverType >::functorTauClose_Type functorTauClose_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

 MitchellSchaeffer (const data_Type &dataType, const Mesh &mesh, FESpace< Mesh, MapEpetra > &uFEspace, Epetra_Comm &comm)
 Constructor. More...
 
virtual ~MitchellSchaeffer ()
 
void updateRepeated ()
 
void updateElementSolution (UInt eleID)
 Update the ionic model elvecs. More...
 
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...
 
const vector_TypesolutionGatingW () const
 
void initialize ()
 Initialize. More...
 
void setHeteroTauClose (functorTauClose_Type)
 
Real functorTauClose (const markerID_Type &ref, const Real &x, const Real &y, const Real &z, const ID &i) 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
 

Protected Attributes

vector_Type M_solutionGatingW
 Global solution _w. More...
 
vector_Type M_solutionGatingWRepeated
 
VectorElemental M_elvec
 
UInt M_BDForder
 
TimeAdvanceBDF< vector_TypeM_BDFW
 
functorTauClose_Type M_tauClose
 

Additional Inherited Members

- 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 Member Functions inherited from HeartIonicSolver< Mesh, SolverType >
UInt solutionUDimension () const
 

Detailed Description

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

Definition at line 212 of file HeartIonicSolver.hpp.

Member Typedef Documentation

◆ data_Type

typedef HeartIonicSolver<Mesh, SolverType>::data_Type data_Type

Definition at line 215 of file HeartIonicSolver.hpp.

◆ vector_Type

typedef HeartIonicSolver<Mesh, SolverType>::vector_Type vector_Type

Definition at line 216 of file HeartIonicSolver.hpp.

◆ function_Type

typedef HeartIonicSolver<Mesh, SolverType>::function_Type function_Type

Definition at line 217 of file HeartIonicSolver.hpp.

◆ functorTauClose_Type

Definition at line 218 of file HeartIonicSolver.hpp.

Constructor & Destructor Documentation

◆ MitchellSchaeffer()

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

Constructor.

Definition at line 274 of file HeartIonicSolver.hpp.

+ Here is the caller graph for this function:

◆ ~MitchellSchaeffer()

~MitchellSchaeffer ( )
virtual

Definition at line 290 of file HeartIonicSolver.hpp.

Member Function Documentation

◆ updateRepeated()

void updateRepeated ( )
virtual

Implements HeartIonicSolver< Mesh, SolverType >.

Definition at line 295 of file HeartIonicSolver.hpp.

◆ updateElementSolution()

void updateElementSolution ( UInt  eleIDw)
virtual

Update the ionic model elvecs.

Filling local elvec_w with recovery variable values in the nodes

Implements HeartIonicSolver< Mesh, SolverType >.

Definition at line 301 of file HeartIonicSolver.hpp.

◆ solveIonicModel()

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

Solves the ionic model.

Solving : ((v_max-v_min)^{-2} - w )/tau_open if u < vcrit dw/dt ={ -w/tau_close if u > vcrit

Implements HeartIonicSolver< Mesh, SolverType >.

Definition at line 329 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 378 of file HeartIonicSolver.hpp.

◆ solutionGatingW()

const vector_Type& solutionGatingW ( ) const
inline

Definition at line 238 of file HeartIonicSolver.hpp.

◆ initialize()

void initialize ( )
virtual

Initialize.

Implements HeartIonicSolver< Mesh, SolverType >.

Definition at line 399 of file HeartIonicSolver.hpp.

◆ setHeteroTauClose()

void setHeteroTauClose ( functorTauClose_Type  fct)

Definition at line 314 of file HeartIonicSolver.hpp.

◆ functorTauClose()

Real functorTauClose ( const markerID_Type ref,
const Real x,
const Real y,
const Real z,
const ID i 
) const

Definition at line 320 of file HeartIonicSolver.hpp.

Field Documentation

◆ M_solutionGatingW

vector_Type M_solutionGatingW
protected

Global solution _w.

Definition at line 256 of file HeartIonicSolver.hpp.

◆ M_solutionGatingWRepeated

vector_Type M_solutionGatingWRepeated
protected

Definition at line 257 of file HeartIonicSolver.hpp.

◆ M_elvec

VectorElemental M_elvec
protected

Definition at line 258 of file HeartIonicSolver.hpp.

◆ M_BDForder

UInt M_BDForder
protected

Definition at line 259 of file HeartIonicSolver.hpp.

◆ M_BDFW

TimeAdvanceBDF<vector_Type> M_BDFW
protected

Definition at line 260 of file HeartIonicSolver.hpp.

◆ M_tauClose

functorTauClose_Type M_tauClose
protected

Definition at line 261 of file HeartIonicSolver.hpp.


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