Chaste Release::3.1
MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <MassMatrixAssembler.hpp>

Inheritance diagram for MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >:
Collaboration diagram for MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >:

List of all members.

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

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
class MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >

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 52 of file MassMatrixAssembler.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::MassMatrixAssembler ( AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *  pMesh,
bool  useMassLumping = false,
double  scaleFactor = 1.0 
) [inline]

Constructor.

Parameters:
pMeshthe mesh
scaleFactorthe factor with which the multiply the mass matrix. Defaults to 1.0
useMassLumpingwhether to use mass matrix lumping or not

Definition at line 112 of file MassMatrixAssembler.hpp.


Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
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.

Parameters:
rPhiThe basis functions, rPhi(i) = phi_i, i=1..numBases.
rGradPhiBasis gradients, rGradPhi(i,j) = d(phi_j)/d(X_i).
rXThe point in space.
rUThe unknown as a vector, u(i) = u_i.
rGradUThe gradient of the unknown as a matrix, rGradU(i,j) = d(u_i)/d(X_j).
pElementPointer 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.


Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::mScaleFactor [private]

The scale factor.

Definition at line 58 of file MassMatrixAssembler.hpp.

Referenced by MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::mUseMassLumping [private]

Whether to use mass lumping or not.

Definition at line 61 of file MassMatrixAssembler.hpp.

Referenced by MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeMatrixTerm().


The documentation for this class was generated from the following file: