![]() |
Chaste
Release::3.4
|
#include <AbstractAssemblerSolverHybrid.hpp>
Inheritance diagram for AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >:
Collaboration diagram for AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, INTERPOLATION_LEVEL >:Additional Inherited Members | |
Protected Types inherited from AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, true, true, INTERPOLATION_LEVEL > | |
| typedef LinearBasisFunction < ELEMENT_DIM > | BasisFunction |
Protected Member Functions inherited from AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, true, true, INTERPOLATION_LEVEL > | |
| void | ComputeTransformedBasisFunctionDerivatives (const ChastePoint< ELEMENT_DIM > &rPoint, const c_matrix< double, ELEMENT_DIM, SPACE_DIM > &rInverseJacobian, c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rReturnValue) |
| void | DoAssemble () |
| virtual c_matrix< double, PROBLEM_DIM *(ELEMENT_DIM+1), PROBLEM_DIM *(ELEMENT_DIM+1)> | ComputeMatrixTerm (c_vector< double, ELEMENT_DIM+1 > &rPhi, c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, PROBLEM_DIM > &rU, c_matrix< double, PROBLEM_DIM, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
| virtual c_vector< double, PROBLEM_DIM *(ELEMENT_DIM+1)> | ComputeVectorTerm (c_vector< double, ELEMENT_DIM+1 > &rPhi, c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, PROBLEM_DIM > &rU, c_matrix< double, PROBLEM_DIM, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
| virtual void | AssembleOnElement (Element< ELEMENT_DIM, SPACE_DIM > &rElement, c_matrix< double, PROBLEM_DIM *(ELEMENT_DIM+1), PROBLEM_DIM *(ELEMENT_DIM+1) > &rAElem, c_vector< double, PROBLEM_DIM *(ELEMENT_DIM+1)> &rBElem) |
| virtual bool | ElementAssemblyCriterion (Element< ELEMENT_DIM, SPACE_DIM > &rElement) |
Protected Member Functions inherited from AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL > | |
| virtual double | GetCurrentSolutionOrGuessValue (unsigned nodeIndex, unsigned indexOfUnknown) |
| virtual void | ResetInterpolatedQuantities () |
| virtual void | IncrementInterpolatedQuantities (double phiI, const Node< SPACE_DIM > *pNode) |
| virtual void | IncrementInterpolatedGradientQuantities (const c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, unsigned phiIndex, const Node< SPACE_DIM > *pNode) |
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.
|
inline |
Constructor.
| pMesh | pointer to the mesh |
| pBoundaryConditions | pointer to the boundary conditions. |
Definition at line 78 of file AbstractAssemblerSolverHybrid.hpp.
|
inlinevirtual |
Destructor.
Definition at line 91 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 111 of file AbstractAssemblerSolverHybrid.hpp.
References LinearSystem::FinaliseLhsMatrix(), LinearSystem::FinaliseRhsVector(), LinearSystem::rGetLhsMatrix(), LinearSystem::rGetRhsVector(), and LinearSystem::SwitchWriteModeLhsMatrix().
|
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.
|
protected |
Boundary conditions container
Definition at line 67 of file AbstractAssemblerSolverHybrid.hpp.