MonodomainRhsMatrixAssembler< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <MonodomainMatrixBasedAssembler.hpp>

Inherits AbstractLinearAssembler< ELEMENT_DIM, SPACE_DIM, 1, false, MonodomainRhsMatrixAssembler< ELEMENT_DIM, SPACE_DIM > >.

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

List of all members.

Public Member Functions

virtual 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)
virtual c_vector< double,
1 *(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, 1 > &rU, c_matrix< double, 1, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement)
virtual c_vector< double,
ELEMENT_DIM > 
ComputeVectorSurfaceTerm (const BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > &rSurfaceElement, c_vector< double, ELEMENT_DIM > &rPhi, ChastePoint< SPACE_DIM > &rX)
 MonodomainRhsMatrixAssembler (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh)
 ~MonodomainRhsMatrixAssembler ()
Mat * GetMatrix ()

Static Public Attributes

static const unsigned E_DIM = ELEMENT_DIM
static const unsigned S_DIM = SPACE_DIM
static const unsigned P_DIM = 1u

Detailed Description

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

MonodomainRhsMatrixAssembler

This class only exists to construct a matrix, the matrix which is used to assemble the RHS in monodomain problems. Therefore, although it inherits from the assembler hierachy, it is not an assembler for any particular PDE problem, it is just used to assemble one matrix. Therefore only ConstructMatrixTerm is properly implemented.

The matrix that is constructed is in fact the mass matrix: A_ij = integral phi_i phi_j dV, where phi_k is the k-th basis function

Definition at line 53 of file MonodomainMatrixBasedAssembler.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MonodomainRhsMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::MonodomainRhsMatrixAssembler ( AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *  pMesh  )  [inline]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
MonodomainRhsMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::~MonodomainRhsMatrixAssembler (  )  [inline]

Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_matrix< double, 1 *(ELEMENT_DIM+1), 1 *(ELEMENT_DIM+1)> MonodomainRhsMatrixAssembler< 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, virtual]

Integrand in matrix definition integral (see class documentation).

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 52 of file MonodomainMatrixBasedAssembler.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_vector< double, ELEMENT_DIM > MonodomainRhsMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorSurfaceTerm ( const BoundaryElement< ELEMENT_DIM-1, SPACE_DIM > &  rSurfaceElement,
c_vector< double, ELEMENT_DIM > &  rPhi,
ChastePoint< SPACE_DIM > &  rX 
) [inline, virtual]

The term arising from boundary conditions to be added to the element stiffness vector - except this class is only used for constructing a matrix so this is never called.

Parameters:
rSurfaceElement the element which is being considered.
rPhi The basis functions, rPhi(i) = phi_i, i=1..numBases
rX The point in space

Implements AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.

Definition at line 79 of file MonodomainMatrixBasedAssembler.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_vector< double, 1 *(ELEMENT_DIM+1)> MonodomainRhsMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::ComputeVectorTerm ( 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, virtual]

The term to be added to the element stiffness vector - except this class is only used for constructing a matrix so this is never called.

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 64 of file MonodomainMatrixBasedAssembler.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
Mat * MonodomainRhsMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::GetMatrix (  )  [inline]

Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
const unsigned MonodomainRhsMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::E_DIM = ELEMENT_DIM [static]

The element dimension (to save typing).

Definition at line 57 of file MonodomainMatrixBasedAssembler.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
const unsigned MonodomainRhsMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::P_DIM = 1u [static]

The problem dimension (to save typing).

Definition at line 59 of file MonodomainMatrixBasedAssembler.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
const unsigned MonodomainRhsMatrixAssembler< ELEMENT_DIM, SPACE_DIM >::S_DIM = SPACE_DIM [static]

The space dimension (to save typing).

Definition at line 58 of file MonodomainMatrixBasedAssembler.hpp.


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

Generated by  doxygen 1.6.2