![]() |
LifeV
|
monodomainSolver - Class featuring the usual solver for monodomain equations More...
#include <HeartMonodomainSolver.hpp>
Collaboration diagram for HeartMonodomainSolver< Mesh, SolverType >: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.
Here is the caller graph for this function:
|
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.
Here is the caller graph for this function:
|
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.
Here is the caller graph for this function:
|
protected |
Apply BC.
Definition at line 839 of file HeartMonodomainSolver.hpp.
|
inlineprivate |
Definition at line 285 of file HeartMonodomainSolver.hpp.
Here is the caller graph for this function:
|
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.