AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <AbstractConductivityModifier.hpp>

Collaboration diagram for AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM >:
Collaboration graph
[legend]

List of all members.

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 (  )  [inline, virtual]

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:
elementIndex Global index of current element.
rOriginalConductivity Reference to the original (for example, undeformed) conductivity tensor.
domainIndex The 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:
elementIndex Index of current element
rOriginalConductivity Reference to the original (for example, undeformed) conductivity tensor
domainIndex Used 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.

Referenced by ExtendedBidomainTissue< SPACE_DIM >::rGetExtracellularConductivityTensor(), BidomainTissue< SPACE_DIM >::rGetExtracellularConductivityTensor(), and ExtendedBidomainTissue< SPACE_DIM >::rGetIntracellularConductivityTensorSecondCell().


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:

Generated by  doxygen 1.6.2