Chaste  Release::3.4
AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM > Class Template Referenceabstract

#include <AbstractConductivityModifier.hpp>

+ Inheritance diagram for AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM >:
+ Collaboration diagram for AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM >:

Public Member Functions

virtual ~AbstractConductivityModifier ()
 
c_matrix< double, SPACE_DIM,
SPACE_DIM > & 
rGetModifiedConductivityTensor (unsigned elementIndex, const c_matrix< double, SPACE_DIM, SPACE_DIM > &rOriginalConductivity, unsigned domainIndex)
 
virtual c_matrix< double,
SPACE_DIM, SPACE_DIM > & 
rCalculateModifiedConductivityTensor (unsigned elementIndex, const c_matrix< double, SPACE_DIM, SPACE_DIM > &rOriginalConductivity, unsigned domainIndex)=0
 

Private Attributes

std::vector< std::pair
< unsigned, c_matrix< double,
SPACE_DIM, SPACE_DIM > > > 
mCache
 

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
class AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM >

Abstract class which just defines an interface and caching method. The pure method rCalculateModifiedConductivityTensor() should take in a conductivity and return a modified conductivity (with some dependence e.g. on tissue deformation in cardiac electromechanics).

Definition at line 47 of file AbstractConductivityModifier.hpp.

Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
virtual AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM >::~AbstractConductivityModifier ( )
inlinevirtual

Destructor

Definition at line 55 of file AbstractConductivityModifier.hpp.

Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
virtual c_matrix<double,SPACE_DIM,SPACE_DIM>& AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM >::rCalculateModifiedConductivityTensor ( unsigned  elementIndex,
const c_matrix< double, SPACE_DIM, SPACE_DIM > &  rOriginalConductivity,
unsigned  domainIndex 
)
pure virtual

Pure method that alters the given conductivity tensor on an element-wise basis for a particular domain.

Parameters
elementIndexGlobal index of current element.
rOriginalConductivityReference to the original (for example, undeformed) conductivity tensor.
domainIndexThe index of the domain (0=intracellular, 1=extracellular, [2=second intracellular in extended bidomain]).
Returns
Reference to a modified conductivity tensor, N.B. the fact this is a reference means the tensor object has to persist, and should therefore generally be a member variable of your subclass (it gets copied/cached appropriately by the calling code, so doesn't have to persist for subsequent calls!).

Referenced by AbstractConductivityModifier< DIM, DIM >::rGetModifiedConductivityTensor().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
c_matrix<double,SPACE_DIM,SPACE_DIM>& AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM >::rGetModifiedConductivityTensor ( unsigned  elementIndex,
const c_matrix< double, SPACE_DIM, SPACE_DIM > &  rOriginalConductivity,
unsigned  domainIndex 
)
inline

Method that checks element index and the domain (intra/extra/other) and returns cached value if available.

Parameters
elementIndexIndex of current element
rOriginalConductivityReference to the original (for example, undeformed) conductivity tensor
domainIndexUsed to tailor modification to the domain. 0 = intracellular, 1 = extracellular, 2 = second intracellular (tridomain)
Returns
Reference to a modified conductivity tensor.

Definition at line 65 of file AbstractConductivityModifier.hpp.

Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<std::pair<unsigned, c_matrix<double,SPACE_DIM,SPACE_DIM> > > AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM >::mCache
private

Cache recently-seen elementindex-tensor pairs, one per "domain"

Definition at line 51 of file AbstractConductivityModifier.hpp.

Referenced by AbstractConductivityModifier< DIM, DIM >::rGetModifiedConductivityTensor().


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