#include <AbstractLinearAssembler.hpp>
Public Member Functions | |
AbstractLinearAssembler (unsigned numQuadPoints=2) | |
~AbstractLinearAssembler () | |
virtual Vec | Solve (Vec currentSolutionOrGuess=NULL, double currentTime=0.0) |
Protected Member Functions | |
void | SetMatrixIsConst (bool matrixIsConstant=true) |
void | ApplyDirichletConditions (Vec, bool applyToMatrix) |
virtual void | InitialiseForSolve (Vec initialSolution) |
bool | ProblemIsNonlinear () |
virtual Vec | StaticSolve (Vec currentSolutionOrGuess=NULL, double currentTime=0.0, bool assembleMatrix=true) |
Private Attributes | |
bool | mMatrixIsConstant |
Definition at line 43 of file AbstractLinearAssembler.hpp.
AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::~AbstractLinearAssembler | ( | ) | [inline] |
Destructor: ensures that the linear solver is thrown away.
Definition at line 126 of file AbstractLinearAssembler.hpp.
void AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::SetMatrixIsConst | ( | bool | matrixIsConstant = true |
) | [inline, protected, virtual] |
Hack for dynamic mixin
Reimplemented from AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.
Definition at line 51 of file AbstractLinearAssembler.hpp.
void AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::ApplyDirichletConditions | ( | Vec | , | |
bool | applyToMatrix | |||
) | [inline, protected, virtual] |
Apply Dirichlet boundary conditions to the linear system.
Implements AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.
Definition at line 59 of file AbstractLinearAssembler.hpp.
virtual void AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::InitialiseForSolve | ( | Vec | initialSolution | ) | [inline, protected, virtual] |
Create the linear system object if it hasn't been already.
Can use an initial solution as PETSc template, or base it on the mesh size.
Implements AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.
Reimplemented in BidomainDg0Assembler< ELEMENT_DIM, SPACE_DIM >, MonodomainDg0Assembler< ELEMENT_DIM, SPACE_DIM >, and BidomainDg0Assembler< DIM, DIM >.
Definition at line 69 of file AbstractLinearAssembler.hpp.
Referenced by BidomainDg0Assembler< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), and AbstractLinearAssembler< DIM, DIM, 1, false, MonodomainRhsMatrixAssembler< DIM > >::Solve().
bool AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::ProblemIsNonlinear | ( | ) | [inline, protected, virtual] |
Whether grad_u should be calculated
Implements AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.
Definition at line 97 of file AbstractLinearAssembler.hpp.
virtual Vec AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::StaticSolve | ( | Vec | currentSolutionOrGuess = NULL , |
|
double | currentTime = 0.0 , |
|||
bool | assembleMatrix = true | |||
) | [inline, protected, virtual] |
Solve a static pde, or a dynamic pde for 1 timestep.
The mesh, pde and boundary conditions container must be set first.
Implements AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.
Definition at line 107 of file AbstractLinearAssembler.hpp.
Referenced by AbstractLinearAssembler< DIM, DIM, 1, false, MonodomainRhsMatrixAssembler< DIM > >::Solve().
virtual Vec AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::Solve | ( | Vec | currentSolutionOrGuess = NULL , |
|
double | currentTime = 0.0 | |||
) | [inline, virtual] |
Solve the static pde.
The mesh, pde and boundary conditions container must be set before Solve() is called.
Definition at line 136 of file AbstractLinearAssembler.hpp.