AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE > Class Template Reference

#include <AbstractLinearAssembler.hpp>

Inherits AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >.

Collaboration diagram for AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >:
Collaboration graph
[legend]

List of all members.

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 unusedVector, 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

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM, bool NON_HEART, class CONCRETE>
class AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >

AbstractLinearAssembler. See AbstractAssembler for usage.

Definition at line 43 of file AbstractLinearAssembler.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM, bool NON_HEART, class CONCRETE >
AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::AbstractLinearAssembler ( unsigned  numQuadPoints = 2  )  [inline]

Constructors just call the base class versions.

Parameters:
numQuadPoints number of quadrature points (defaults to 2)

Definition at line 205 of file AbstractLinearAssembler.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM, bool NON_HEART, class CONCRETE >
AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::~AbstractLinearAssembler (  )  [inline]

Destructor: ensures that the linear solver is thrown away.

Definition at line 212 of file AbstractLinearAssembler.hpp.


Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM, bool NON_HEART, class CONCRETE >
void AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::ApplyDirichletConditions ( Vec  unusedVector,
bool  applyToMatrix 
) [inline, protected, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM, bool NON_HEART, class CONCRETE >
void AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::InitialiseForSolve ( Vec  initialSolution  )  [inline, protected, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM, bool NON_HEART, class CONCRETE >
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 190 of file AbstractLinearAssembler.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM, bool NON_HEART, class CONCRETE >
void AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::SetMatrixIsConst ( bool  matrixIsConstant = true  )  [inline, protected, virtual]

Hack for dynamic mixin.

Parameters:
matrixIsConstant defaults to true

Reimplemented from AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.

Definition at line 148 of file AbstractLinearAssembler.hpp.

References AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::mMatrixIsConstant.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM, bool NON_HEART, class CONCRETE >
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.

Parameters:
currentSolutionOrGuess either the current solution or initial guess (defaults to NULL)
currentTime the current time (defaults to 0.0)

Reimplemented in SimpleDg0ParabolicAssembler< ELEMENT_DIM, SPACE_DIM, NON_HEART, CONCRETE >.

Definition at line 217 of file AbstractLinearAssembler.hpp.

References AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::InitialiseForSolve(), AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::PrepareForSolve(), and AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::StaticSolve().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM, bool NON_HEART, class CONCRETE >
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.

Parameters:
currentSolutionOrGuess either the current solution (dynamic problem) or initial guess (static problem) (defaults to NULL)
currentTime for a dynamic problem, the current time (defaults to 0.0)
assembleMatrix whether to assemble the matrix (defaults to true)
Returns:
the solution vector

Implements AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.

Definition at line 196 of file AbstractLinearAssembler.hpp.

References AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::AssembleSystem(), AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::mpLinearSystem, and LinearSystem::Solve().

Referenced by AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::Solve().


Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM, unsigned PROBLEM_DIM, bool NON_HEART, class CONCRETE>
bool AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, CONCRETE >::mMatrixIsConstant [private]

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

Generated by  doxygen 1.6.2