Chaste Commit::1fd4e48e3990e67db148bc1bc4cf6991a0049d0c
BidomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM > Class Template Reference

#include <BidomainCorrectionTermAssembler.hpp>

+ Inheritance diagram for BidomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM >:
+ Collaboration diagram for BidomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM >:

Public Member Functions

 BidomainCorrectionTermAssembler (AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > *pMesh, BidomainTissue< SPACE_DIM > *pTissue)
 
- Public Member Functions inherited from AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, 2 >
 AbstractCorrectionTermAssembler (AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > *pMesh, AbstractCardiacTissue< ELEM_DIM, SPACE_DIM > *pTissue)
 
- Public Member Functions inherited from AbstractCardiacFeVolumeIntegralAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM, true, false, CARDIAC >
 AbstractCardiacFeVolumeIntegralAssembler (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM > *pTissue)
 
- Public Member Functions inherited from AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >
 AbstractFeVolumeIntegralAssembler (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh)
 
virtual ~AbstractFeVolumeIntegralAssembler ()
 
- Public Member Functions inherited from AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >
 AbstractFeAssemblerCommon ()
 
void SetCurrentSolution (Vec currentSolution)
 
virtual ~AbstractFeAssemblerCommon ()
 
- Public Member Functions inherited from AbstractFeAssemblerInterface< CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX >
 AbstractFeAssemblerInterface ()
 
void SetMatrixToAssemble (Mat &rMatToAssemble, bool zeroMatrixBeforeAssembly=true)
 
void SetVectorToAssemble (Vec &rVecToAssemble, bool zeroVectorBeforeAssembly)
 
void Assemble ()
 
void AssembleMatrix ()
 
void AssembleVector ()
 
virtual ~AbstractFeAssemblerInterface ()
 

Protected Member Functions

c_vector< double, 2 *(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, 2 > &rU, c_matrix< double, 2, SPACE_DIM > &rGradU, Element< ELEM_DIM, SPACE_DIM > *pElement)
 
- Protected Member Functions inherited from AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, 2 >
void ResetInterpolatedQuantities (void)
 
void IncrementInterpolatedQuantities (double phiI, const Node< SPACE_DIM > *pNode)
 
bool ElementAssemblyCriterion (Element< ELEM_DIM, SPACE_DIM > &rElement)
 
- Protected Member Functions inherited from AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >
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 IncrementInterpolatedGradientQuantities (const c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, unsigned phiIndex, const Node< SPACE_DIM > *pNode)
 

Protected Attributes

HeartConfigmpConfig
 
- Protected Attributes inherited from AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, 2 >
double mIionicInterp
 
std::vector< doublemStateVariablesAtQuadPoint
 
std::vector< boolmElementsCanDoSvi
 
- Protected Attributes inherited from AbstractCardiacFeVolumeIntegralAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM, true, false, CARDIAC >
AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM > * mpCardiacTissue
 
HeartConfigmpConfig
 
- Protected Attributes inherited from AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >
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
 

Additional Inherited Members

- Protected Types inherited from AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >
typedef LinearBasisFunction< ELEMENT_DIM > BasisFunction
 

Detailed Description

template<unsigned ELEM_DIM, unsigned SPACE_DIM>
class BidomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM >

An assembler which computes the correction term to add to the RHS vector if using state variable interpolation (SVI), as well as determining which elements should be corrected on. The formula to determine which elements SVI is used is delta Iionic > TOL, where delta Iionic is the max difference between nodal ionic values, and TOL is chosen conservatively to be 1uA/cm^2^. See https://chaste.github.io/docs/user-guides/state-variable-interpolation/ for more details.

Definition at line 53 of file BidomainCorrectionTermAssembler.hpp.

Constructor & Destructor Documentation

◆ BidomainCorrectionTermAssembler()

template<unsigned ELEM_DIM, unsigned SPACE_DIM>
BidomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM >::BidomainCorrectionTermAssembler ( AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > *  pMesh,
BidomainTissue< SPACE_DIM > *  pTissue 
)

Constructor

Parameters
pMeshpointer to the mesh
pTissuepointer to the PDE

Definition at line 42 of file BidomainCorrectionTermAssembler.cpp.

References HeartConfig::GetUseStateVariableInterpolation(), HeartConfig::Instance(), and BidomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM >::mpConfig.

Member Function Documentation

◆ ComputeVectorTerm()

template<unsigned ELEM_DIM, unsigned SPACE_DIM>
c_vector< double, 2 *(ELEM_DIM+1)> BidomainCorrectionTermAssembler< 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, 2 > &  rU,
c_matrix< double, 2, SPACE_DIM > &  rGradU,
Element< ELEM_DIM, SPACE_DIM > *  pElement 
)
protected

This method is called by AssembleOnElement and tells the assembler the contribution to add to the element stiffness vector.

Parameters
rPhiThe basis functions, rPhi(i) = phi_i, i=1..numBases
rGradPhiBasis gradients, rGradPhi(i,j) = d(phi_j)/d(X_i)
rXThe point in space
rUThe unknown as a vector, u(i) = u_i
rGradUThe gradient of the unknown as a matrix, rGradU(i,j) = d(u_i)/d(X_j)
pElementPointer to the element
Returns
stencil matrix

Definition at line 52 of file BidomainCorrectionTermAssembler.cpp.

References AbstractCardiacCellInterface::GetIIonic(), and AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex().

Member Data Documentation

◆ mpConfig

template<unsigned ELEM_DIM, unsigned SPACE_DIM>
HeartConfig* BidomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM >::mpConfig
protected

Local cache of the configuration singleton instance

Definition at line 58 of file BidomainCorrectionTermAssembler.hpp.

Referenced by BidomainCorrectionTermAssembler< ELEM_DIM, SPACE_DIM >::BidomainCorrectionTermAssembler().


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