#include <AbstractCorrectionTermAssembler.hpp>
Public Member Functions | |
AbstractCorrectionTermAssembler (AbstractTetrahedralMesh< ELEM_DIM, SPACE_DIM > *pMesh, AbstractCardiacTissue< ELEM_DIM, SPACE_DIM > *pTissue, unsigned numQuadPoints=2) | |
Protected Member Functions | |
void | ResetInterpolatedQuantities (void) |
void | IncrementInterpolatedQuantities (double phiI, const Node< SPACE_DIM > *pNode) |
bool | ElementAssemblyCriterion (Element< ELEM_DIM, SPACE_DIM > &rElement) |
Protected Attributes | |
double | mIionicInterp |
std::vector< double > | mStateVariablesAtQuadPoint |
std::vector< bool > | mElementsHasIdenticalCellModels |
Definition at line 41 of file AbstractCorrectionTermAssembler.hpp.
AbstractCorrectionTermAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::AbstractCorrectionTermAssembler | ( | AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh, | |
AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM > * | pTissue, | |||
unsigned | numQuadPoints = 2 | |||
) | [inline] |
Constructor.
pMesh | pointer to the mesh | |
pTissue | pointer to the cardiac tissue | |
numQuadPoints | number of quadrature points |
Definition at line 33 of file AbstractCorrectionTermAssembler.cpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetOwnership(), AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mElementsHasIdenticalCellModels, and AbstractCardiacFeObjectAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM, true, false, CARDIAC >::mpCardiacTissue.
void AbstractCorrectionTermAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ResetInterpolatedQuantities | ( | void | ) | [inline, protected, virtual] |
Resets interpolated state variables and ionic current.
Reimplemented from AbstractFeObjectAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >.
Definition at line 70 of file AbstractCorrectionTermAssembler.cpp.
References AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mIionicInterp, and AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mStateVariablesAtQuadPoint.
void AbstractCorrectionTermAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::IncrementInterpolatedQuantities | ( | double | phiI, | |
const Node< SPACE_DIM > * | pNode | |||
) | [inline, protected, virtual] |
Interpolates state variables and ionic current.
phiI | ||
pNode |
Reimplemented from AbstractFeObjectAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >.
Definition at line 81 of file AbstractCorrectionTermAssembler.cpp.
References Node< SPACE_DIM >::GetIndex(), AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mIionicInterp, AbstractCardiacFeObjectAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM, true, false, CARDIAC >::mpCardiacTissue, and AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mStateVariablesAtQuadPoint.
bool AbstractCorrectionTermAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::ElementAssemblyCriterion | ( | Element< ELEMENT_DIM, SPACE_DIM > & | rElement | ) | [inline, protected, virtual] |
Determine whether to assemble the correction term for this element. Checks if there is a sufficiently steep ionic current gradient to make the expense worthwhile, by checking if the maximum difference between nodal ionic currents is greater than 1 uA/cm^2^.
rElement | the element to test |
Reimplemented from AbstractFeObjectAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >.
Definition at line 98 of file AbstractCorrectionTermAssembler.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeGlobalIndex(), AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mElementsHasIdenticalCellModels, AbstractCardiacFeObjectAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM, true, false, CARDIAC >::mpCardiacTissue, and AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mStateVariablesAtQuadPoint.
double AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mIionicInterp [protected] |
Ionic current to be interpolated from cache
Definition at line 46 of file AbstractCorrectionTermAssembler.hpp.
Referenced by AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::IncrementInterpolatedQuantities(), and AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::ResetInterpolatedQuantities().
std::vector<double> AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mStateVariablesAtQuadPoint [protected] |
State variables interpolated onto quadrature point
Definition at line 49 of file AbstractCorrectionTermAssembler.hpp.
Referenced by AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::ElementAssemblyCriterion(), AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::IncrementInterpolatedQuantities(), and AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::ResetInterpolatedQuantities().
std::vector<bool> AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::mElementsHasIdenticalCellModels [protected] |
Vector of bools, one bool per element, saying whether that element has identical cell models at each node. If this is not the case, SVI is certainly not posssible in this element
Definition at line 61 of file AbstractCorrectionTermAssembler.hpp.
Referenced by AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::AbstractCorrectionTermAssembler(), and AbstractCorrectionTermAssembler< ELEM_DIM, SPACE_DIM, PROBLEM_DIM >::ElementAssemblyCriterion().