#include <BidomainMassMatrixAssembler.hpp>
Public Member Functions | |
BidomainMassMatrixAssembler (AbstractTetrahedralMesh< DIM, DIM > *pMesh) | |
~BidomainMassMatrixAssembler () | |
Protected Member Functions | |
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 > &rU, c_matrix< double, 2, DIM > &rGradU, Element< DIM, DIM > *pElement) |
Ie. IF the bidomain unknowns were ordered [V1,..,Vn,phie_1,..,phie_n], the matrix would be, in block form
[ M 0 ] [ 0 0 ]
where M is the standard nxn mass matrix.
Since the bidomain ordering is not [V1,..,Vn,phie_1,..,phie_n] but [V1,phie1,..,Vn,phie_n], the matrix has a different form.
WORKS FOR BATH PROBLEMS AS WELL AS NON-BATH PROBLEMS (sets zeros in the voltage-voltage block for bath nodes, ie [ M 0 0 0 ] [ 0 0 0 0 ] [ 0 0 0 0 ] [ 0 0 0 0 ] where the ordering is Vtissue, Vbath, phi_tissue, phi_bath
Definition at line 59 of file BidomainMassMatrixAssembler.hpp.
BidomainMassMatrixAssembler< DIM >::BidomainMassMatrixAssembler | ( | AbstractTetrahedralMesh< DIM, DIM > * | pMesh | ) | [inline] |
Constructor
pMesh | pointer to the mesh |
Definition at line 91 of file BidomainMassMatrixAssembler.hpp.
BidomainMassMatrixAssembler< DIM >::~BidomainMassMatrixAssembler | ( | ) | [inline] |
Destructor.
Definition at line 99 of file BidomainMassMatrixAssembler.hpp.
c_matrix< double, 2 *(DIM+1), 2 *(DIM+1)> BidomainMassMatrixAssembler< DIM >::ComputeMatrixTerm | ( | c_vector< double, DIM+1 > & | rPhi, | |
c_matrix< double, DIM, DIM+1 > & | rGradPhi, | |||
ChastePoint< DIM > & | rX, | |||
c_vector< double, 2 > & | rU, | |||
c_matrix< double, 2, DIM > & | rGradU, | |||
Element< DIM, DIM > * | pElement | |||
) | [inline, protected] |
This method is called by AssembleOnElement() and tells the assembler the contribution to add to the element stiffness matrix.
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 35 of file BidomainMassMatrixAssembler.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetRegion(), and HeartRegionCode::IsRegionBath().