Chaste Release::3.1
|
#include <AbstractAssemblerSolverHybrid.hpp>
Public Member Functions | |
AbstractAssemblerSolverHybrid (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM > *pBoundaryConditions, unsigned numQuadPoints=2) | |
virtual | ~AbstractAssemblerSolverHybrid () |
void | SetupGivenLinearSystem (Vec currentSolution, bool computeMatrix, LinearSystem *pLinearSystem) |
Protected Attributes | |
NaturalNeumannSurfaceTermAssembler < ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM > | mNaturalNeumannSurfaceTermAssembler |
BoundaryConditionsContainer < ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM > * | mpBoundaryConditions |
A class which inherits from AbstractFeVolumeIntegralAssembler and implements a method SetupGivenLinearSystem(), which sets up the given linear system using the assembler part of this class, which can be called by SetUpLinearSystem() on a concrete solver.
It assumes natural Neumann boundary conditions are needed and uses a NaturalNeumannSurfaceTermAssembler for this part of the vector.
See SimpleLinearEllipticSolver for an example of a concrete class
Definition at line 55 of file AbstractAssemblerSolverHybrid.hpp.
AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >::AbstractAssemblerSolverHybrid | ( | AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh, |
BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM > * | pBoundaryConditions, | ||
unsigned | numQuadPoints = 2 |
||
) | [inline] |
Constructor.
pMesh | pointer to the mesh |
pBoundaryConditions | pointer to the boundary conditions. |
numQuadPoints | number of quadrature points in each dimension to use per element (defaults to 2) |
Definition at line 79 of file AbstractAssemblerSolverHybrid.hpp.
virtual AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >::~AbstractAssemblerSolverHybrid | ( | ) | [inline, virtual] |
Destructor.
Definition at line 93 of file AbstractAssemblerSolverHybrid.hpp.
void AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >::SetupGivenLinearSystem | ( | Vec | currentSolution, |
bool | computeMatrix, | ||
LinearSystem * | pLinearSystem | ||
) |
Implementation of AbstractLinearPdeSolver::SetupLinearSystem, using the assembler that this class also inherits from. Concrete classes inheriting from both this class and AbstractLinearPdeSolver can then have a one-line implementation of AbstractLinearPdeSolver::SetupLinearSystem which calls this method.
currentSolution | The current solution which can be used in setting up the linear system if needed (NULL if there isn't a current solution) |
computeMatrix | Whether to compute the LHS matrix of the linear system (mainly for dynamic solves) |
pLinearSystem | The linear system to set up. |
Definition at line 113 of file AbstractAssemblerSolverHybrid.hpp.
References LinearSystem::FinaliseLhsMatrix(), LinearSystem::FinaliseRhsVector(), LinearSystem::rGetLhsMatrix(), LinearSystem::rGetRhsVector(), and LinearSystem::SwitchWriteModeLhsMatrix().
NaturalNeumannSurfaceTermAssembler<ELEMENT_DIM,SPACE_DIM,PROBLEM_DIM> AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >::mNaturalNeumannSurfaceTermAssembler [protected] |
An assembler for Neumann surface integrals, which are assumed to arise from natural Neumann boundary conditions, ie such that this surface integral is (for a 1-unknown problem) integral(g phi_i dS), where g is the Neumann boundary condition function
Definition at line 64 of file AbstractAssemblerSolverHybrid.hpp.
BoundaryConditionsContainer<ELEMENT_DIM,SPACE_DIM,PROBLEM_DIM>* AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >::mpBoundaryConditions [protected] |
Boundary conditions container
Definition at line 67 of file AbstractAssemblerSolverHybrid.hpp.