MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <MassMatrixAssembler.hpp>

Inherits AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, 1, false, true, NORMAL >.

Collaboration diagram for MassMatrixAssembler< ELEMENT_DIM, SPACE_DIM >:
Collaboration graph
[legend]

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 45 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:
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.


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:
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.


Member Data Documentation

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

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

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


The documentation for this class was generated from the following file:
Generated on Thu Dec 22 13:05:49 2011 for Chaste by  doxygen 1.6.3