#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 48 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 58 of file AbstractAssemblerSolverHybrid.hpp.
| virtual AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >::~AbstractAssemblerSolverHybrid | ( | ) | [inline, virtual] |
Destructor.
Definition at line 72 of file AbstractAssemblerSolverHybrid.hpp.
| void AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >::SetupGivenLinearSystem | ( | Vec | currentSolution, | |
| bool | computeMatrix, | |||
| LinearSystem * | pLinearSystem | |||
| ) | [inline] |
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 106 of file AbstractAssemblerSolverHybrid.hpp.
References AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::Assemble(), AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::AssembleVector(), LinearSystem::FinaliseLhsMatrix(), LinearSystem::FinaliseRhsVector(), AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >::mNaturalNeumannSurfaceTermAssembler, AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >::mpBoundaryConditions, LinearSystem::rGetLhsMatrix(), LinearSystem::rGetRhsVector(), AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::SetCurrentSolution(), AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::SetMatrixToAssemble(), AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >::SetVectorToAssemble(), 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 43 of file AbstractAssemblerSolverHybrid.hpp.
Referenced by AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >::SetupGivenLinearSystem().
BoundaryConditionsContainer<ELEMENT_DIM,SPACE_DIM,PROBLEM_DIM>* AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >::mpBoundaryConditions [protected] |
Boundary conditions container
Definition at line 46 of file AbstractAssemblerSolverHybrid.hpp.
Referenced by AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >::SetupGivenLinearSystem().
1.6.3