LifeV
|
monodomainSolver - Class featuring the usual solver for monodomain equations More...
#include <HeartMonodomainSolver.hpp>
Protected Member Functions | |
void | solveSystem (matrixPtr_Type matrFull, vector_Type &rhsFull) |
Solves PDE system. More... | |
void | applyBoundaryConditions (matrix_Type &matrix, vector_Type &rhs, bcHandlerRaw_Type &BCh) |
Apply BC. More... | |
Protected Attributes | |
const data_type & | M_data |
Data. More... | |
FESpace< Mesh, MapEpetra > & | M_uFESpace |
u FE space More... | |
const std::shared_ptr< Epetra_Comm > | M_comm |
MPI communicator. More... | |
Int | M_me |
BCHandler * | M_BChandlerElectric |
Monodomain BC. More... | |
bool | M_setBC |
MapEpetra | M_localMap |
Map. More... | |
MapEpetra | M_localMapVector |
matrixPtr_Type | M_massMatrix |
mass matrix More... | |
matrixPtr_Type | M_stiffnessMatrix |
Stiff matrix: D*stiff. More... | |
matrixPtr_Type | M_matrNoBC |
vector_Type | M_rhsNoBC |
Right hand side for the PDE. More... | |
vector_Type | M_solutionTransmembranePotential |
Global solution _u. More... | |
vector_Type | M_fiberVector |
Local fibers vector. More... | |
vector_Type | M_residual |
residual More... | |
SolverType | M_linearSolver |
Solver. More... | |
preconditioner_Type | M_preconditioner |
Real | M_diagonalize |
bool | M_verbose |
Boolean that indicates if output is sent to cout. More... | |
bool | M_updated |
Boolean that indicates if the matrix is updated for the current iteration. More... | |
bool | M_reusePreconditioner |
Boolean that indicates if the precond has to be recomputed. More... | |
bool | M_resetPreconditioner |
Int | M_maxIteration |
Integer storing the max number of solver iteration with prec recomputing. More... | |
bool | M_recomputeMatrix |
Boolean that indicates if the matrix has to be recomputed. More... | |
Private Member Functions | |
UInt | dim_u () const |
Private Attributes | |
MatrixElemental | M_stiffnessElementaryMatrix |
Elementary matrices. More... | |
MatrixElemental | M_massElementaryMatrix |
Real | massCoefficient |
Type definitions | |
typedef HeartMonodomainData | data_type |
typedef Real(* | Function) (const Real &t, const Real &x, const Real &y, const Real &z, const ID &id) |
typedef std::function< Real(Real const &, Real const &, Real const &, Real const &, ID const &) > | source_Type |
typedef Mesh | mesh_Type |
typedef BCHandler | bcHandlerRaw_Type |
typedef std::shared_ptr< bcHandlerRaw_Type > | bcHandler_Type |
typedef SolverType::matrix_type | matrix_Type |
typedef std::shared_ptr< matrix_Type > | matrixPtr_Type |
typedef SolverType::vector_type | vector_Type |
typedef SolverType::prec_raw_type | preconditionerRaw_Type |
typedef SolverType::prec_type | preconditioner_Type |
Constructors & Destructor | |
HeartMonodomainSolver (const data_type &dataType, FESpace< Mesh, MapEpetra > &uFESpace, BCHandler &bcHandler, std::shared_ptr< Epetra_Comm > &comm) | |
Constructor. More... | |
virtual | ~HeartMonodomainSolver () |
Destructor. More... | |
Methods | |
virtual void | PDEiterate (bcHandlerRaw_Type &bch) |
Updates sources, bc treatment and solve the monodomain system. More... | |
virtual void | setup (const GetPot &dataFile) |
Sets up the system solver. More... | |
virtual void | buildSystem () |
Builds time independent parts of PDE system. More... | |
virtual void | updatePDESystem (Real alpha, vector_Type &sourceVec) |
Updates time dependent parts of PDE system. More... | |
virtual void | updatePDESystem (vector_Type &sourceVec) |
Updates time dependent parts of PDE system. More... | |
void | initialize (const source_Type &) |
Initialize. More... | |
void | initialize (const Function &) |
void | initialize (const vector_Type &) |
const vector_Type & | solutionTransmembranePotential () const |
Returns the local solution vector. More... | |
const vector_Type & | fiberVector () const |
const vector_Type & | residual () const |
Returns the local residual vector. More... | |
FESpace< Mesh, MapEpetra > & | potentialFESpace () |
Returns u FE space. More... | |
void | setBC (BCHandler &BCh_u) |
Setting of the boundary conditions. More... | |
void | postProcessing (bool _writeMesh=false) |
Postprocessing. More... | |
void | resetPreconditioner () |
Epetra_Map const & | getRepeatedMapEpetra () const |
Return maps. More... | |
Epetra_Map const & | getRepeatedMapEpetraVec () const |
MapEpetra const & | getMap () const |
void | recomputeMatrix (bool const recomp) |
matrix_Type & | massMatrix () |
monodomainSolver - Class featuring the usual solver for monodomain equations
Definition at line 67 of file HeartMonodomainSolver.hpp.
typedef HeartMonodomainData data_type |
Definition at line 75 of file HeartMonodomainSolver.hpp.
typedef Real( * Function) (const Real &t, const Real &x, const Real &y, const Real &z, const ID &id) |
Definition at line 76 of file HeartMonodomainSolver.hpp.
typedef std::function< Real ( Real const&, Real const&, Real const&, Real const&, ID const& ) > source_Type |
Definition at line 82 of file HeartMonodomainSolver.hpp.
typedef Mesh mesh_Type |
Definition at line 84 of file HeartMonodomainSolver.hpp.
typedef BCHandler bcHandlerRaw_Type |
Definition at line 85 of file HeartMonodomainSolver.hpp.
typedef std::shared_ptr<bcHandlerRaw_Type> bcHandler_Type |
Definition at line 86 of file HeartMonodomainSolver.hpp.
typedef SolverType::matrix_type matrix_Type |
Definition at line 88 of file HeartMonodomainSolver.hpp.
typedef std::shared_ptr<matrix_Type> matrixPtr_Type |
Definition at line 89 of file HeartMonodomainSolver.hpp.
typedef SolverType::vector_type vector_Type |
Definition at line 90 of file HeartMonodomainSolver.hpp.
typedef SolverType::prec_raw_type preconditionerRaw_Type |
Definition at line 92 of file HeartMonodomainSolver.hpp.
typedef SolverType::prec_type preconditioner_Type |
Definition at line 93 of file HeartMonodomainSolver.hpp.
HeartMonodomainSolver | ( | const data_type & | dataType, |
FESpace< Mesh, MapEpetra > & | uFESpace, | ||
BCHandler & | bcHandler, | ||
std::shared_ptr< Epetra_Comm > & | comm | ||
) |
Constructor.
Constructors.
dataType | |
potential | FE space |
bcHandler | boundary conditions for potential |
Epetra | communicator |
Definition at line 301 of file HeartMonodomainSolver.hpp.
|
inlinevirtual |
Destructor.
Definition at line 117 of file HeartMonodomainSolver.hpp.
|
virtual |
Updates sources, bc treatment and solve the monodomain system.
Solving the system
Definition at line 713 of file HeartMonodomainSolver.hpp.
|
virtual |
Sets up the system solver.
Definition at line 358 of file HeartMonodomainSolver.hpp.
|
virtual |
Builds time independent parts of PDE system.
Elementary computation and matrix assembling Loop on elements
Computing 1/dt * M + K
Definition at line 381 of file HeartMonodomainSolver.hpp.
|
virtual |
Updates time dependent parts of PDE system.
Definition at line 632 of file HeartMonodomainSolver.hpp.
|
virtual |
Updates time dependent parts of PDE system.
Definition at line 687 of file HeartMonodomainSolver.hpp.
void initialize | ( | const source_Type & | u0 | ) |
Initialize.
Definition at line 596 of file HeartMonodomainSolver.hpp.
void initialize | ( | const Function & | u0 | ) |
Definition at line 610 of file HeartMonodomainSolver.hpp.
void initialize | ( | const vector_Type & | u0 | ) |
Definition at line 622 of file HeartMonodomainSolver.hpp.
|
inline |
Returns the local solution vector.
Definition at line 145 of file HeartMonodomainSolver.hpp.
|
inline |
Definition at line 150 of file HeartMonodomainSolver.hpp.
|
inline |
Returns the local residual vector.
Definition at line 156 of file HeartMonodomainSolver.hpp.
Returns u FE space.
Definition at line 162 of file HeartMonodomainSolver.hpp.
|
inline |
Setting of the boundary conditions.
Definition at line 168 of file HeartMonodomainSolver.hpp.
void postProcessing | ( | bool | _writeMesh = false | ) |
Postprocessing.
|
inline |
Definition at line 177 of file HeartMonodomainSolver.hpp.
|
inline |
Return maps.
Definition at line 183 of file HeartMonodomainSolver.hpp.
|
inline |
Definition at line 188 of file HeartMonodomainSolver.hpp.
|
inline |
Definition at line 193 of file HeartMonodomainSolver.hpp.
|
inline |
Definition at line 198 of file HeartMonodomainSolver.hpp.
|
inline |
Definition at line 203 of file HeartMonodomainSolver.hpp.
|
protected |
Solves PDE system.
Definition at line 757 of file HeartMonodomainSolver.hpp.
|
protected |
Apply BC.
Definition at line 839 of file HeartMonodomainSolver.hpp.
|
inlineprivate |
Definition at line 285 of file HeartMonodomainSolver.hpp.
|
protected |
Data.
Definition at line 218 of file HeartMonodomainSolver.hpp.
u FE space
Definition at line 221 of file HeartMonodomainSolver.hpp.
|
protected |
MPI communicator.
Definition at line 225 of file HeartMonodomainSolver.hpp.
|
protected |
Definition at line 226 of file HeartMonodomainSolver.hpp.
|
protected |
Monodomain BC.
Definition at line 229 of file HeartMonodomainSolver.hpp.
|
protected |
Definition at line 230 of file HeartMonodomainSolver.hpp.
|
protected |
Map.
Definition at line 233 of file HeartMonodomainSolver.hpp.
|
protected |
Definition at line 234 of file HeartMonodomainSolver.hpp.
|
protected |
mass matrix
Definition at line 237 of file HeartMonodomainSolver.hpp.
|
protected |
Stiff matrix: D*stiff.
Definition at line 240 of file HeartMonodomainSolver.hpp.
|
protected |
Definition at line 242 of file HeartMonodomainSolver.hpp.
|
protected |
Right hand side for the PDE.
Definition at line 245 of file HeartMonodomainSolver.hpp.
|
protected |
Global solution _u.
Definition at line 248 of file HeartMonodomainSolver.hpp.
|
protected |
Local fibers vector.
Definition at line 251 of file HeartMonodomainSolver.hpp.
|
protected |
residual
Definition at line 254 of file HeartMonodomainSolver.hpp.
|
protected |
Solver.
Definition at line 257 of file HeartMonodomainSolver.hpp.
|
protected |
Definition at line 259 of file HeartMonodomainSolver.hpp.
|
protected |
Definition at line 261 of file HeartMonodomainSolver.hpp.
|
protected |
Boolean that indicates if output is sent to cout.
Definition at line 264 of file HeartMonodomainSolver.hpp.
|
protected |
Boolean that indicates if the matrix is updated for the current iteration.
Definition at line 267 of file HeartMonodomainSolver.hpp.
|
protected |
Boolean that indicates if the precond has to be recomputed.
Definition at line 270 of file HeartMonodomainSolver.hpp.
|
protected |
Definition at line 271 of file HeartMonodomainSolver.hpp.
|
protected |
Integer storing the max number of solver iteration with prec recomputing.
Definition at line 274 of file HeartMonodomainSolver.hpp.
|
protected |
Boolean that indicates if the matrix has to be recomputed.
Definition at line 277 of file HeartMonodomainSolver.hpp.
|
private |
Elementary matrices.
Definition at line 282 of file HeartMonodomainSolver.hpp.
|
private |
Definition at line 283 of file HeartMonodomainSolver.hpp.
|
private |
Definition at line 284 of file HeartMonodomainSolver.hpp.