#include <BidomainMatrixBasedAssembler.hpp>
Public Member Functions | |
virtual c_matrix< double, 2 *(DIM+1), 2 *(DIM+1)> | ComputeMatrixTerm (c_vector< double, DIM+1 > &rPhi, c_matrix< double, DIM, DIM+1 > &rGradPhi, ChastePoint< DIM > &rX, c_vector< double, 2 > &u, c_matrix< double, 2, DIM > &rGradU, Element< DIM, DIM > *pElement) |
virtual c_vector< double, 2 *(DIM+1)> | ComputeVectorTerm (c_vector< double, DIM+1 > &rPhi, c_matrix< double, DIM, DIM+1 > &rGradPhi, ChastePoint< DIM > &rX, c_vector< double, 2 > &u, c_matrix< double, 2, DIM > &rGradU, Element< DIM, DIM > *pElement) |
virtual c_vector< double, 2 *DIM > | ComputeVectorSurfaceTerm (const BoundaryElement< DIM-1, DIM > &rSurfaceElement, c_vector< double, DIM > &rPhi, ChastePoint< DIM > &rX) |
BidomainRhsMatrixAssembler (AbstractMesh< DIM, DIM > *pMesh) | |
Mat * | GetMatrix () |
Static Public Attributes | |
static const unsigned | E_DIM = DIM |
static const unsigned | S_DIM = DIM |
static const unsigned | P_DIM = 2u |
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 for a 2-unknown problem. ie ***IF*** the unknowns were ordered [V1 V2 .. V_N phi_e1 ... phi_eN ], the matrix would be [M 0] [0 M] where M_ij = integral phi_i phi_j dV, where phi_k is the k-th basis function
Definition at line 55 of file BidomainMatrixBasedAssembler.hpp.
BidomainRhsMatrixAssembler< DIM >::BidomainRhsMatrixAssembler | ( | AbstractMesh< DIM, DIM > * | pMesh | ) | [inline] |
Constructor takes in a mesh and calls AssembleSystem to construct the matrix
Definition at line 102 of file BidomainMatrixBasedAssembler.cpp.
References AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, BidomainRhsMatrixAssembler< DIM > >::AssembleSystem(), DistributedVector::CreateVec(), BoundaryConditionsContainer< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::DefineZeroNeumannOnMeshBoundary(), AbstractAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpBoundaryConditions, AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, BidomainRhsMatrixAssembler< DIM > >::mpLinearSystem, and AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, BidomainRhsMatrixAssembler< DIM > >::mpMesh.
c_matrix< double, 2 *(DIM+1), 2 *(DIM+1)> BidomainRhsMatrixAssembler< DIM >::ComputeMatrixTerm | ( | c_vector< double, DIM+1 > & | rPhi, | |
c_matrix< double, DIM, DIM+1 > & | rGradPhi, | |||
ChastePoint< DIM > & | rX, | |||
c_vector< double, 2 > & | u, | |||
c_matrix< double, 2, DIM > & | rGradU, | |||
Element< DIM, DIM > * | pElement | |||
) | [inline, virtual] |
Integrand in matrix definition integral (see class documentation)
Definition at line 42 of file BidomainMatrixBasedAssembler.cpp.
c_vector< double, 2 *(DIM+1)> BidomainRhsMatrixAssembler< DIM >::ComputeVectorTerm | ( | c_vector< double, DIM+1 > & | rPhi, | |
c_matrix< double, DIM, DIM+1 > & | rGradPhi, | |||
ChastePoint< DIM > & | rX, | |||
c_vector< double, 2 > & | u, | |||
c_matrix< double, 2, DIM > & | rGradU, | |||
Element< DIM, 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.
Definition at line 72 of file BidomainMatrixBasedAssembler.cpp.
c_vector< double, 2 *DIM > BidomainRhsMatrixAssembler< DIM >::ComputeVectorSurfaceTerm | ( | const BoundaryElement< DIM-1, DIM > & | rSurfaceElement, | |
c_vector< double, DIM > & | rPhi, | |||
ChastePoint< DIM > & | rX | |||
) | [inline, virtual] |
The term arising from boundary conditions to be added to the element stiffness vector - except this class is only used fpr constructing a matrix so this is never called.
Definition at line 89 of file BidomainMatrixBasedAssembler.cpp.
Mat * BidomainRhsMatrixAssembler< DIM >::GetMatrix | ( | ) | [inline] |
Allow access to the matrix
Definition at line 127 of file BidomainMatrixBasedAssembler.cpp.
References AbstractStaticAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, NON_HEART, BidomainRhsMatrixAssembler< DIM > >::mpLinearSystem, and LinearSystem::rGetLhsMatrix().
Referenced by BidomainMatrixBasedAssembler< ELEMENT_DIM, SPACE_DIM >::BidomainMatrixBasedAssembler().