#include <MassMatrixAssembler.hpp>
Inherits AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, 1, false, true, NORMAL >.
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) | |
Private Attributes | |
double | mScaleFactor |
bool | mUseMassLumping |
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 45 of file MassMatrixAssembler.hpp.
MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::MassMatrixAssembler | ( | AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh, | |
bool | useMassLumping = false , |
|||
double | scaleFactor = 1.0 | |||
) | [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 105 of file MassMatrixAssembler.hpp.
c_matrix<double,1*(ELEMENT_DIM+1),1*(ELEMENT_DIM+1)> MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::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 | |||
) | [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 70 of file MassMatrixAssembler.hpp.
References MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::mScaleFactor, and MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::mUseMassLumping.
double MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::mScaleFactor [private] |
The scale factor.
Definition at line 51 of file MassMatrixAssembler.hpp.
Referenced by MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm().
bool MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::mUseMassLumping [private] |
Whether to use mass lumping or not.
Definition at line 54 of file MassMatrixAssembler.hpp.
Referenced by MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm().