![]() |
Chaste
Release::3.4
|
#include <MassMatrixAssembler.hpp>
Inheritance diagram for MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >:
Collaboration diagram for MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >:Public Member Functions | |
| c_matrix< double, 1 *(ELEMENT_DIM+1), 1 *(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, 1 > &rU, c_matrix< double, 1, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
| MassMatrixAssembler (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, bool useMassLumping=false, double scaleFactor=1.0) | |
Public Member Functions inherited from AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, 1, false, true, NORMAL > | |
| AbstractFeVolumeIntegralAssembler (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh) | |
| virtual | ~AbstractFeVolumeIntegralAssembler () |
Public Member Functions inherited from AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL > | |
| 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 () |
Private Attributes | |
| double | mScaleFactor |
| bool | mUseMassLumping |
Additional Inherited Members | |
Protected Types inherited from AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, 1, false, true, NORMAL > | |
| typedef LinearBasisFunction < ELEMENT_DIM > | BasisFunction |
Protected Member Functions inherited from AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, 1, false, true, NORMAL > | |
| 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) |
Protected Attributes inherited from AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, 1, false, true, NORMAL > | |
| AbstractTetrahedralMesh < ELEMENT_DIM, SPACE_DIM > * | mpMesh |
| GaussianQuadratureRule < ELEMENT_DIM > * | mpQuadRule |
Protected Attributes inherited from AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL > | |
| ReplicatableVector | mCurrentSolutionOrGuessReplicated |
Protected Attributes inherited from AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX > | |
| Vec | mVectorToAssemble |
| Mat | mMatrixToAssemble |
| bool | mAssembleMatrix |
| bool | mAssembleVector |
| bool | mZeroMatrixBeforeAssembly |
| bool | mZeroVectorBeforeAssembly |
| PetscInt | mOwnershipRangeLo |
| PetscInt | mOwnershipRangeHi |
Simple implementation of AbstractFeVolumeIntegralAssembler which provides mass matrices for a given mesh, multiplied by a scale factor if required. In other words, the matrix
M_{ij} = k integral_{domain} phi_i(x) phi_j(x) dV
where phi_i is the i-th (linear) basis function and k the scale factor (constant throughout the mesh).
Definition at line 51 of file MassMatrixAssembler.hpp.
|
inline |
Constructor.
| pMesh | the mesh |
| scaleFactor | the factor with which the multiply the mass matrix. Defaults to 1.0 |
| useMassLumping | whether to use mass matrix lumping or not |
Definition at line 112 of file MassMatrixAssembler.hpp.
|
inline |
Implemented ComputeMatrixTerm(), defined in AbstractFeVolumeIntegralAssembler. See documentation in that class.
| rPhi | The basis functions, rPhi(i) = phi_i, i=1..numBases. |
| rGradPhi | Basis gradients, rGradPhi(i,j) = d(phi_j)/d(X_i). |
| rX | The point in space. |
| rU | The unknown as a vector, u(i) = u_i. |
| rGradU | The gradient of the unknown as a matrix, rGradU(i,j) = d(u_i)/d(X_j). |
| pElement | Pointer to the element. |
Definition at line 77 of file MassMatrixAssembler.hpp.
References MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::mScaleFactor, and MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::mUseMassLumping.
|
private |
The scale factor.
Definition at line 57 of file MassMatrixAssembler.hpp.
Referenced by MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm().
|
private |
Whether to use mass lumping or not.
Definition at line 60 of file MassMatrixAssembler.hpp.
Referenced by MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm().