Chaste
Release::2018.1
|
#include <AbstractFeAssemblerCommon.hpp>
Public Member Functions | |
AbstractFeAssemblerCommon () | |
void | SetCurrentSolution (Vec currentSolution) |
virtual | ~AbstractFeAssemblerCommon () |
Public Member Functions inherited from AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX > | |
AbstractFeAssemblerInterface () | |
void | SetMatrixToAssemble (Mat &rMatToAssemble, bool zeroMatrixBeforeAssembly=true) |
void | SetVectorToAssemble (Vec &rVecToAssemble, bool zeroVectorBeforeAssembly) |
void | Assemble () |
void | AssembleMatrix () |
void | AssembleVector () |
virtual | ~AbstractFeAssemblerInterface () |
Protected Member Functions | |
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) |
Protected Member Functions inherited from AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX > | |
virtual void | DoAssemble ()=0 |
A base class for AbstractFeVolumeIntegralAssembler (the main abstract assembler class), AbstractSurfaceFeObjectAssembler, and AbstractCableFeObjectAssembler.
The base class of this, AbstractFeAssemblerInterface, defines the interface for these assembler classes. This class just defines a few pde-folder-specific (ie not continuum-mechanics-related) extra methods.
See AbstractFeVolumeIntegralAssembler documentation for info on these assembler classes.
Definition at line 73 of file AbstractFeAssemblerCommon.hpp.
AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::AbstractFeAssemblerCommon | ( | ) |
Constructor.
Definition at line 159 of file AbstractFeAssemblerCommon.hpp.
|
inlinevirtual |
Destructor.
Definition at line 153 of file AbstractFeAssemblerCommon.hpp.
|
inlineprotectedvirtual |
nodeIndex | node index |
indexOfUnknown | index of unknown |
Definition at line 88 of file AbstractFeAssemblerCommon.hpp.
|
inlineprotectedvirtual |
The concrete subclass can overload this and ResetInterpolatedQuantities() if there are some gradient dependent quantities which need to be computed at each Gauss point. A matrix of all the basis function gradients at the quad point is passed for efficiency reasons. To access the gradient vector use of the current basis function use rGradPhi(:, phi_index); They are called in AssembleOnElement().
Note that this method is ONLY called during assembly of elements. NOT during assembly of surface elements or cables.
Further, it is ONLY called in the cases where rGradPhi has been computed. Currently these cases are
rGradPhi | A matrix containing the gradient of all the basis functions at this Gauss point. |
phiIndex | The index of the current basis function in the rGradPhi matrix. |
pNode | pointer to the node associated with the current basis function |
Definition at line 133 of file AbstractFeAssemblerCommon.hpp.
|
inlineprotectedvirtual |
The concrete subclass can overload this and ResetInterpolatedQuantities() if there are some quantities which need to be computed at each Gauss point. They are called in AssembleOnElement().
Note that this method is called over assembly of elements, surface elements and cables.
phiI | |
pNode | pointer to a node |
Reimplemented in LinearParabolicPdeSystemWithCoupledOdeSystemSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >, AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >, AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, 2 >, and AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, 1 >.
Definition at line 111 of file AbstractFeAssemblerCommon.hpp.
|
inlineprotectedvirtual |
The concrete subclass can overload this and IncrementInterpolatedQuantities() if there are some quantities which need to be computed at each Gauss point. They are called in AssembleOnElement().
Reimplemented in LinearParabolicPdeSystemWithCoupledOdeSystemSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >, CellBasedEllipticPdeSolver< DIM >, CellBasedParabolicPdeSolver< DIM >, AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >, AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, 2 >, and AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, 1 >.
Definition at line 98 of file AbstractFeAssemblerCommon.hpp.
void AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::SetCurrentSolution | ( | Vec | currentSolution | ) |
Set a current solution vector that will be used in AssembleOnElement and can passed up to ComputeMatrixTerm() or ComputeVectorTerm().
currentSolution | Current solution vector. |
Definition at line 165 of file AbstractFeAssemblerCommon.hpp.
References GenericEventHandler< 16, HeartEventHandler >::BeginEvent(), and GenericEventHandler< 16, HeartEventHandler >::EndEvent().
|
protected |
If the matrix or vector will be dependent on a current solution, say, this is where that information is put.
Definition at line 80 of file AbstractFeAssemblerCommon.hpp.
Referenced by AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, true, false, NORMAL >::GetCurrentSolutionOrGuessValue().