#include <MonodomainMatrixBasedAssembler.hpp>
Public Member Functions | |
virtual c_matrix< double, 1 *(ELEM_DIM+1), 1 *(ELEM_DIM+1)> | ComputeMatrixTerm (c_vector< double, ELEM_DIM+1 > &rPhi, c_matrix< double, SPACE_DIM, ELEM_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, 1 > &rU, c_matrix< double, 1, SPACE_DIM > &rGradU, Element< ELEM_DIM, SPACE_DIM > *pElement) |
virtual c_vector< double, 1 *(ELEM_DIM+1)> | ComputeVectorTerm (c_vector< double, ELEM_DIM+1 > &rPhi, c_matrix< double, SPACE_DIM, ELEM_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, 1 > &rU, c_matrix< double, 1, SPACE_DIM > &rGradU, Element< ELEM_DIM, SPACE_DIM > *pElement) |
virtual c_vector< double, ELEM_DIM > | ComputeVectorSurfaceTerm (const BoundaryElement< ELEM_DIM-1, SPACE_DIM > &rSurfaceElement, c_vector< double, ELEM_DIM > &rPhi, ChastePoint< SPACE_DIM > &rX) |
MonodomainRhsMatrixAssembler (AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > *pMesh) | |
~MonodomainRhsMatrixAssembler () | |
Mat * | GetMatrix () |
Static Public Attributes | |
static const unsigned | E_DIM = ELEM_DIM |
static const unsigned | S_DIM = SPACE_DIM |
static const unsigned | P_DIM = 1u |
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.
MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM >::MonodomainRhsMatrixAssembler | ( | AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > * | pMesh | ) | [inline] |
Constructor takes in a mesh and calls AssembleSystem to construct the matrix.
pMesh | Pointer to a mesh |
Definition at line 92 of file MonodomainMatrixBasedAssembler.cpp.
References AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM > >::AssembleSystem(), DistributedVectorFactory::CreateVec(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineZeroNeumannOnMeshBoundary(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetDistributedVectorFactory(), AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpBoundaryConditions, AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM > >::mpLinearSystem, and AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM > >::mpMesh.
MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM >::~MonodomainRhsMatrixAssembler | ( | ) | [inline] |
Destructor.
Definition at line 109 of file MonodomainMatrixBasedAssembler.cpp.
References AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpBoundaryConditions.
c_matrix< double, 1 *(ELEM_DIM+1), 1 *(ELEM_DIM+1)> MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM >::ComputeMatrixTerm | ( | c_vector< double, ELEM_DIM+1 > & | rPhi, | |
c_matrix< double, SPACE_DIM, ELEM_DIM+1 > & | rGradPhi, | |||
ChastePoint< SPACE_DIM > & | rX, | |||
c_vector< double, 1 > & | rU, | |||
c_matrix< double, 1, SPACE_DIM > & | rGradU, | |||
Element< ELEM_DIM, SPACE_DIM > * | pElement | |||
) | [inline, virtual] |
Integrand in matrix definition integral (see class documentation).
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.
c_vector< double, 1 *(ELEM_DIM+1)> MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM >::ComputeVectorTerm | ( | c_vector< double, ELEM_DIM+1 > & | rPhi, | |
c_matrix< double, SPACE_DIM, ELEM_DIM+1 > & | rGradPhi, | |||
ChastePoint< SPACE_DIM > & | rX, | |||
c_vector< double, 1 > & | rU, | |||
c_matrix< double, 1, SPACE_DIM > & | rGradU, | |||
Element< ELEM_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.
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.
c_vector< double, ELEM_DIM > MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM >::ComputeVectorSurfaceTerm | ( | const BoundaryElement< ELEM_DIM-1, SPACE_DIM > & | rSurfaceElement, | |
c_vector< double, ELEM_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.
rSurfaceElement | the element which is being considered. | |
rPhi | The basis functions, rPhi(i) = phi_i, i=1..numBases | |
rX | The point in space |
Definition at line 79 of file MonodomainMatrixBasedAssembler.cpp.
Mat * MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM >::GetMatrix | ( | ) | [inline] |
Get a pointer to the matrix
Definition at line 115 of file MonodomainMatrixBasedAssembler.cpp.
References AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM > >::mpLinearSystem, and LinearSystem::rGetLhsMatrix().
Referenced by MonodomainMatrixBasedAssembler< ELEMENT_DIM, SPACE_DIM >::MonodomainMatrixBasedAssembler().
const unsigned MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM >::E_DIM = ELEM_DIM [static] |
The element dimension (to save typing).
Definition at line 57 of file MonodomainMatrixBasedAssembler.hpp.
const unsigned MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM >::S_DIM = SPACE_DIM [static] |
The space dimension (to save typing).
Definition at line 58 of file MonodomainMatrixBasedAssembler.hpp.
const unsigned MonodomainRhsMatrixAssembler< ELEM_DIM, SPACE_DIM >::P_DIM = 1u [static] |
The problem dimension (to save typing).
Definition at line 59 of file MonodomainMatrixBasedAssembler.hpp.