LifeV
|
#include <HeartBidomainSolver.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... | |
Real | computeMean (vector_Type &x) |
compute mean of vector x More... | |
void | removeValue (vector_Type &x, Real &value) |
removes a scalar from each entry of vector x More... | |
Private Member Functions | |
UInt | potentialFESpaceDimension () const |
Private Attributes | |
MatrixElemental | M_elmatStiff |
Elementary matrices. More... | |
MatrixElemental | M_elmatMass |
Real | massCoeff |
Type definitions | |
typedef HeartBidomainData | data_type |
typedef Real(* | Function) (const Real &, const Real &, const Real &, const Real &, const ID &) |
typedef std::function< Real(const Real &, const Real &, const Real &, const Real &, const ID &) > | source_Type |
typedef Mesh | mesh_Type |
typedef BCHandler | bchandlerRaw_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 | precRaw_Type |
typedef SolverType::prec_type | prec_Type |
Constructors & Destructor | |
HeartBidomainSolver (const data_type &dataType, FESpace< Mesh, MapEpetra > &pFESpace, FESpace< Mesh, MapEpetra > &uFESpace, BCHandler &bcHandler, std::shared_ptr< Epetra_Comm > &comm) | |
Constructor. More... | |
virtual | ~HeartBidomainSolver () |
Destructor. More... | |
Methods | |
virtual void | PDEiterate (bchandlerRaw_Type &bch) |
Updates sources, bc treatment and solve the bidomain 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 &, const source_Type &) |
Initialize. More... | |
void | initialize (const Function &, const Function &) |
void | initialize (const vector_Type &, const vector_Type &) |
const vector_Type & | solutionTransmembranePotential () const |
Returns the local solution vector. More... | |
const vector_Type & | solutionExtraPotential () const |
const vector_Type & | solutionIntraExtraPotential () const |
const vector_Type & | solutionTransmembranePotentialExtrapolated () const |
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) |
Sets Bidomain BCs. More... | |
void | resetPreconditioner () |
Epetra_Map const & | getRepeatedMapEpetra () const |
Return maps getMap. More... | |
Epetra_Map const & | getRepeatedMapEpetraVec () const |
MapEpetra const & | getMap () const |
void | recomputeMatrix (bool const recomp) |
matrix_Type & | matrMass () |
TimeAdvanceBDF< vector_Type > & | BDFIntraExtraPotential () |
Definition at line 67 of file HeartBidomainSolver.hpp.
typedef HeartBidomainData data_type |
Definition at line 74 of file HeartBidomainSolver.hpp.
Definition at line 76 of file HeartBidomainSolver.hpp.
typedef std::function< Real ( const Real&, const Real&, const Real&, const Real&, const ID& ) > source_Type |
Definition at line 79 of file HeartBidomainSolver.hpp.
typedef Mesh mesh_Type |
Definition at line 81 of file HeartBidomainSolver.hpp.
typedef BCHandler bchandlerRaw_Type |
Definition at line 83 of file HeartBidomainSolver.hpp.
typedef SolverType::matrix_type matrix_Type |
Definition at line 86 of file HeartBidomainSolver.hpp.
typedef std::shared_ptr<matrix_Type> matrixPtr_Type |
Definition at line 87 of file HeartBidomainSolver.hpp.
typedef SolverType::vector_type vector_Type |
Definition at line 88 of file HeartBidomainSolver.hpp.
typedef SolverType::prec_raw_type precRaw_Type |
Definition at line 90 of file HeartBidomainSolver.hpp.
typedef SolverType::prec_type prec_Type |
Definition at line 91 of file HeartBidomainSolver.hpp.
HeartBidomainSolver | ( | const data_type & | dataType, |
FESpace< Mesh, MapEpetra > & | pFESpace, | ||
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 332 of file HeartBidomainSolver.hpp.
|
virtual |
Destructor.
Definition at line 407 of file HeartBidomainSolver.hpp.
|
virtual |
Updates sources, bc treatment and solve the bidomain system.
Solving the system
Definition at line 750 of file HeartBidomainSolver.hpp.
|
virtual |
Sets up the system solver.
Definition at line 412 of file HeartBidomainSolver.hpp.
|
virtual |
Builds time independent parts of PDE system.
Elementary computation and matrix assembling Loop on elements
Computing 1.0/dt * M + K
Definition at line 426 of file HeartBidomainSolver.hpp.
|
virtual |
Updates time dependent parts of PDE system.
Definition at line 680 of file HeartBidomainSolver.hpp.
|
virtual |
Updates time dependent parts of PDE system.
Definition at line 729 of file HeartBidomainSolver.hpp.
void initialize | ( | const source_Type & | ui0, |
const source_Type & | ue0 | ||
) |
Initialize.
Definition at line 634 of file HeartBidomainSolver.hpp.
Definition at line 647 of file HeartBidomainSolver.hpp.
void initialize | ( | const vector_Type & | ui0, |
const vector_Type & | ue0 | ||
) |
Definition at line 659 of file HeartBidomainSolver.hpp.
|
inline |
Returns the local solution vector.
Definition at line 144 of file HeartBidomainSolver.hpp.
|
inline |
Definition at line 148 of file HeartBidomainSolver.hpp.
|
inline |
Definition at line 152 of file HeartBidomainSolver.hpp.
|
inline |
Definition at line 156 of file HeartBidomainSolver.hpp.
|
inline |
Definition at line 160 of file HeartBidomainSolver.hpp.
|
inline |
Returns the local residual vector.
Definition at line 166 of file HeartBidomainSolver.hpp.
Returns u FE space.
Definition at line 172 of file HeartBidomainSolver.hpp.
|
inline |
Sets Bidomain BCs.
Definition at line 178 of file HeartBidomainSolver.hpp.
|
inline |
Definition at line 184 of file HeartBidomainSolver.hpp.
|
inline |
Return maps getMap.
Definition at line 190 of file HeartBidomainSolver.hpp.
|
inline |
Definition at line 195 of file HeartBidomainSolver.hpp.
|
inline |
Definition at line 200 of file HeartBidomainSolver.hpp.
|
inline |
Definition at line 205 of file HeartBidomainSolver.hpp.
|
inline |
Definition at line 210 of file HeartBidomainSolver.hpp.
|
inline |
Definition at line 215 of file HeartBidomainSolver.hpp.
|
protected |
Solves PDE system.
Definition at line 792 of file HeartBidomainSolver.hpp.
|
protected |
Apply BC.
Definition at line 890 of file HeartBidomainSolver.hpp.
|
protected |
compute mean of vector x
Definition at line 919 of file HeartBidomainSolver.hpp.
|
protected |
removes a scalar from each entry of vector x
Definition at line 927 of file HeartBidomainSolver.hpp.
|
inlineprivate |
|
protected |
Data.
Definition at line 240 of file HeartBidomainSolver.hpp.
u FE space
Definition at line 243 of file HeartBidomainSolver.hpp.
Definition at line 244 of file HeartBidomainSolver.hpp.
|
protected |
MPI communicator.
Definition at line 247 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 248 of file HeartBidomainSolver.hpp.
|
protected |
Bidomain BC.
Definition at line 251 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 252 of file HeartBidomainSolver.hpp.
|
protected |
Map.
Definition at line 255 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 256 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 257 of file HeartBidomainSolver.hpp.
|
protected |
mass matrix
Definition at line 260 of file HeartBidomainSolver.hpp.
|
protected |
Stiff matrix: D*stiff.
Definition at line 263 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 265 of file HeartBidomainSolver.hpp.
|
protected |
Right hand side for the PDE.
Definition at line 268 of file HeartBidomainSolver.hpp.
|
protected |
Global solution _u.
Definition at line 271 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 273 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 275 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 277 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 279 of file HeartBidomainSolver.hpp.
|
protected |
Local fibers vector.
Definition at line 282 of file HeartBidomainSolver.hpp.
|
protected |
residual
Definition at line 285 of file HeartBidomainSolver.hpp.
|
protected |
Solver.
Definition at line 288 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 290 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 292 of file HeartBidomainSolver.hpp.
|
protected |
Boolean that indicates if output is sent to cout.
Definition at line 295 of file HeartBidomainSolver.hpp.
|
protected |
Boolean that indicates if the matrix is updated for the current iteration.
Definition at line 298 of file HeartBidomainSolver.hpp.
|
protected |
Boolean that indicates if the precond has to be recomputed.
Definition at line 301 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 302 of file HeartBidomainSolver.hpp.
|
protected |
Integer storing the max number of solver iteration with prec recomputing.
Definition at line 305 of file HeartBidomainSolver.hpp.
|
protected |
Boolean that indicates if the matrix has to be recomputed.
Definition at line 308 of file HeartBidomainSolver.hpp.
|
protected |
Definition at line 310 of file HeartBidomainSolver.hpp.
|
private |
Elementary matrices.
Definition at line 314 of file HeartBidomainSolver.hpp.
|
private |
Definition at line 315 of file HeartBidomainSolver.hpp.
|
private |
Definition at line 316 of file HeartBidomainSolver.hpp.