Chaste
Release::2018.1
|
#include <BidomainMassMatrixAssembler.hpp>
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) |
Protected Member Functions inherited from AbstractFeVolumeIntegralAssembler< DIM, DIM, 2, false, true, CARDIAC > | |
void | ComputeTransformedBasisFunctionDerivatives (const ChastePoint< ELEMENT_DIM > &rPoint, const c_matrix< double, ELEMENT_DIM, SPACE_DIM > &rInverseJacobian, c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rReturnValue) |
void | DoAssemble () |
virtual c_matrix< double, PROBLEM_DIM *(ELEMENT_DIM+1), PROBLEM_DIM *(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, PROBLEM_DIM > &rU, c_matrix< double, PROBLEM_DIM, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
virtual c_vector< double, PROBLEM_DIM *(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, PROBLEM_DIM > &rU, c_matrix< double, PROBLEM_DIM, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
virtual void | AssembleOnElement (Element< ELEMENT_DIM, SPACE_DIM > &rElement, c_matrix< double, PROBLEM_DIM *(ELEMENT_DIM+1), PROBLEM_DIM *(ELEMENT_DIM+1) > &rAElem, c_vector< double, PROBLEM_DIM *(ELEMENT_DIM+1)> &rBElem) |
virtual bool | ElementAssemblyCriterion (Element< ELEMENT_DIM, SPACE_DIM > &rElement) |
Protected Member Functions inherited from AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL > | |
virtual double | GetCurrentSolutionOrGuessValue (unsigned nodeIndex, unsigned indexOfUnknown) |
virtual void | ResetInterpolatedQuantities () |
virtual void | IncrementInterpolatedQuantities (double phiI, const Node< SPACE_DIM > *pNode) |
virtual void | IncrementInterpolatedGradientQuantities (const c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, unsigned phiIndex, const Node< SPACE_DIM > *pNode) |
Additional Inherited Members | |
Protected Types inherited from AbstractFeVolumeIntegralAssembler< DIM, DIM, 2, false, true, CARDIAC > | |
typedef LinearBasisFunction < ELEMENT_DIM > | BasisFunction |
Protected Attributes inherited from AbstractFeVolumeIntegralAssembler< DIM, DIM, 2, false, true, CARDIAC > | |
AbstractTetrahedralMesh < ELEMENT_DIM, SPACE_DIM > * | mpMesh |
GaussianQuadratureRule < ELEMENT_DIM > * | mpQuadRule |
Protected Attributes inherited from AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL > | |
ReplicatableVector | mCurrentSolutionOrGuessReplicated |
Protected Attributes inherited from AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX > | |
Vec | mVectorToAssemble |
Mat | mMatrixToAssemble |
bool | mAssembleMatrix |
bool | mAssembleVector |
bool | mZeroMatrixBeforeAssembly |
bool | mZeroVectorBeforeAssembly |
PetscInt | mOwnershipRangeLo |
PetscInt | mOwnershipRangeHi |
Constructs a matrix with the mass matrix in the voltage-voltage block.
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 66 of file BidomainMassMatrixAssembler.hpp.
|
inline |
Constructor
pMesh | pointer to the mesh |
Definition at line 100 of file BidomainMassMatrixAssembler.hpp.
|
inline |
Destructor.
Definition at line 108 of file BidomainMassMatrixAssembler.hpp.
|
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 40 of file BidomainMassMatrixAssembler.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetUnsignedAttribute(), and HeartRegionCode::IsRegionBath().