ExtendedBidomainTissue< SPACE_DIM > Class Template Reference

#include <ExtendedBidomainTissue.hpp>

Inherits AbstractCardiacTissue< SPACE_DIM >.

Collaboration diagram for ExtendedBidomainTissue< SPACE_DIM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ExtendedBidomainTissue (AbstractCardiacCellFactory< SPACE_DIM > *pCellFactory, AbstractCardiacCellFactory< SPACE_DIM > *pCellFactorySecondCell, AbstractStimulusFactory< SPACE_DIM > *pExtracellularStimulusFactory)
 ExtendedBidomainTissue (std::vector< AbstractCardiacCellInterface * > &rCellsDistributed, std::vector< AbstractCardiacCellInterface * > &rSecondCellsDistributed, std::vector< boost::shared_ptr< AbstractStimulusFunction > > &rExtraStimuliDistributed, std::vector< double > &rGgapsDistributed, AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM > *pMesh, c_vector< double, SPACE_DIM > intracellularConductivitiesSecondCell)
virtual ~ExtendedBidomainTissue ()
void SetIntracellularConductivitiesSecondCell (c_vector< double, SPACE_DIM > conductivities)
AbstractCardiacCellInterfaceGetCardiacSecondCell (unsigned globalIndex)
boost::shared_ptr
< AbstractStimulusFunction
GetExtracellularStimulus (unsigned globalIndex)
const std::vector
< AbstractCardiacCellInterface * > & 
rGetSecondCellsDistributed () const
const std::vector< double > & rGetGapsDistributed () const
const std::vector
< boost::shared_ptr
< AbstractStimulusFunction > > & 
rGetExtracellularStimulusDistributed () const
c_vector< double, SPACE_DIM > GetIntracellularConductivitiesSecondCell () const
virtual void SolveCellSystems (Vec existingSolution, double time, double nextTime, bool updateVoltage=false)
void CreateIntracellularConductivityTensorSecondCell ()
void SetGgapHeterogeneities (std::vector< boost::shared_ptr< AbstractChasteRegion< SPACE_DIM > > > &rGgapHeterogeneityRegions, std::vector< double > rGgapValues)
void CreateGGapConductivities ()
const c_matrix< double,
SPACE_DIM, SPACE_DIM > & 
rGetExtracellularConductivityTensor (unsigned elementIndex)
const c_matrix< double,
SPACE_DIM, SPACE_DIM > & 
rGetIntracellularConductivityTensorSecondCell (unsigned elementIndex)
ReplicatableVectorrGetIionicCacheReplicatedSecondCell ()
ReplicatableVectorrGetIntracellularStimulusCacheReplicatedSecondCell ()
ReplicatableVectorrGetExtracellularStimulusCacheReplicated ()
ReplicatableVectorrGetGgapCacheReplicated ()
double GetAmFirstCell ()
double GetAmSecondCell ()
double GetAmGap ()
double GetCmFirstCell ()
double GetCmSecondCell ()
double GetGGap ()
void SetAmFirstCell (double value)
void SetAmSecondCell (double value)
void SetAmGap (double value)
void SetCmFirstCell (double value)
void SetCmSecondCell (double value)
void SetGGap (double value)
bool HasTheUserSuppliedExtracellularStimulus ()
void SetUserSuppliedExtracellularStimulus (bool flag)
template<class Archive >
void SaveExtendedBidomainCells (Archive &archive, const unsigned int version) const
template<class Archive >
void SaveExtracellularStimulus (Archive &archive, const unsigned int version) const
template<class Archive >
void LoadExtracellularStimulus (Archive &archive, const unsigned int version, std::vector< boost::shared_ptr< AbstractStimulusFunction > > &rStimuli, AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM > *pMesh)

Static Public Member Functions

template<class Archive >
static void LoadExtendedBidomainCells (Archive &archive, const unsigned int version, std::vector< AbstractCardiacCellInterface * > &rCells, std::vector< AbstractCardiacCellInterface * > &rSecondCells, std::vector< double > &rGgaps, AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM > *pMesh)

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
void CreateExtracellularConductivityTensors ()
void UpdateAdditionalCaches (unsigned globalIndex, unsigned localIndex, double nextTime)
void ReplicateAdditionalCaches ()

Private Attributes

AbstractConductivityTensors
< SPACE_DIM, SPACE_DIM > * 
mpIntracellularConductivityTensorsSecondCell
c_vector< double, SPACE_DIM > mIntracellularConductivitiesSecondCell
AbstractConductivityTensors
< SPACE_DIM, SPACE_DIM > * 
mpExtracellularConductivityTensors
ReplicatableVector mExtracellularStimulusCacheReplicated
ReplicatableVector mGgapCacheReplicated
ReplicatableVector mIionicCacheReplicatedSecondCell
ReplicatableVector mIntracellularStimulusCacheReplicatedSecondCell
std::vector
< AbstractCardiacCellInterface * > 
mCellsDistributedSecondCell
std::vector< boost::shared_ptr
< AbstractStimulusFunction > > 
mExtracellularStimuliDistributed
std::vector< doublemGgapDistributed
double mAmFirstCell
double mAmSecondCell
double mAmGap
double mCmFirstCell
double mCmSecondCell
double mGGap
bool mUserSuppliedExtracellularStimulus
std::vector< boost::shared_ptr
< AbstractChasteRegion
< SPACE_DIM > > > 
mGgapHeterogeneityRegions
std::vector< doublemGgapValues

Friends

class TestExtendedBidomainTissue
class boost::serialization::access

Detailed Description

template<unsigned SPACE_DIM>
class ExtendedBidomainTissue< SPACE_DIM >

Class that provides functionalities to specify a tissue within the context of the extended bidomain framework.

The extended bidomain equations are of the form:

The unknowns are:

Am1, Am2 and Amgap are surface-to-volume ratios for first cell, second cell and gap junction. User can set their values. Cm1 and cm2 are capaciatnce values of first and second cell respectively sigma_i1 and sigma_i2 are intracellular conductivity tensors of first and second cell respectively sigma_e is the conductivity tensor for the extracellular space G_gap is the conductance (in ms/cm2) of the gap junction channel.

Definition at line 77 of file ExtendedBidomainTissue.hpp.


Constructor & Destructor Documentation

template<unsigned SPACE_DIM>
ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue ( AbstractCardiacCellFactory< SPACE_DIM > *  pCellFactory,
AbstractCardiacCellFactory< SPACE_DIM > *  pCellFactorySecondCell,
AbstractStimulusFactory< SPACE_DIM > *  pExtracellularStimulusFactory 
) [inline]

Constructor sets up extracellular conductivity tensors.

Parameters:
pCellFactory factory to pass on to the base class constructor
pCellFactorySecondCell factory to pass on to the base class constructor for the second cell
pExtracellularStimulusFactory factory for creating extracellular stimuli

Definition at line 47 of file ExtendedBidomainTissue.cpp.

References GenericEventHandler< 16, HeartEventHandler >::BeginEvent(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateCardiacCellForNode(), ExtendedBidomainTissue< SPACE_DIM >::CreateExtracellularConductivityTensors(), AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::CreateStimulusForNode(), GenericEventHandler< 16, HeartEventHandler >::EndEvent(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::FinaliseCellCreation(), DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLocalOwnership(), DistributedVectorFactory::GetLow(), AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::GetMesh(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::GetMesh(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode(), AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::GetNumberOfCells(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::GetNumberOfCells(), ExtendedBidomainTissue< SPACE_DIM >::mCellsDistributedSecondCell, ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimuliDistributed, ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimulusCacheReplicated, ExtendedBidomainTissue< SPACE_DIM >::mGgapCacheReplicated, ExtendedBidomainTissue< SPACE_DIM >::mGgapDistributed, ExtendedBidomainTissue< SPACE_DIM >::mIionicCacheReplicatedSecondCell, ExtendedBidomainTissue< SPACE_DIM >::mIntracellularStimulusCacheReplicatedSecondCell, AbstractCardiacTissue< SPACE_DIM >::mpDistributedVectorFactory, AbstractCardiacTissue< SPACE_DIM >::mpMesh, PetscTools::ReplicateException(), and ReplicatableVector::Resize().

template<unsigned SPACE_DIM>
ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue ( std::vector< AbstractCardiacCellInterface * > &  rCellsDistributed,
std::vector< AbstractCardiacCellInterface * > &  rSecondCellsDistributed,
std::vector< boost::shared_ptr< AbstractStimulusFunction > > &  rExtraStimuliDistributed,
std::vector< double > &  rGgapsDistributed,
AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM > *  pMesh,
c_vector< double, SPACE_DIM >  intracellularConductivitiesSecondCell 
) [inline]

Archiving constructor

Parameters:
rCellsDistributed local cell models (recovered from archive)
rSecondCellsDistributed local cell models for second cells (recovered from archive)
rExtraStimuliDistributed local extracellular stimuli (recovered from archive)
rGgapsDistributed distributed Ggaps (recovered from archive)
pMesh a pointer to the AbstractTetrahedral mesh (recovered from archive).
intracellularConductivitiesSecondCell a vector with the orthotropic conductivities for the second cell (this is needed because the second cell values may not be taken from HeartConfig as the the ones for the first cell are).

Definition at line 117 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::CreateExtracellularConductivityTensors(), ExtendedBidomainTissue< SPACE_DIM >::CreateIntracellularConductivityTensorSecondCell(), DistributedVectorFactory::GetProblemSize(), ExtendedBidomainTissue< SPACE_DIM >::mCellsDistributedSecondCell, ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimuliDistributed, ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimulusCacheReplicated, ExtendedBidomainTissue< SPACE_DIM >::mGgapCacheReplicated, ExtendedBidomainTissue< SPACE_DIM >::mGgapDistributed, ExtendedBidomainTissue< SPACE_DIM >::mIionicCacheReplicatedSecondCell, ExtendedBidomainTissue< SPACE_DIM >::mIntracellularStimulusCacheReplicatedSecondCell, AbstractCardiacTissue< SPACE_DIM >::mpDistributedVectorFactory, and ReplicatableVector::Resize().

template<unsigned SPACE_DIM>
ExtendedBidomainTissue< SPACE_DIM >::~ExtendedBidomainTissue (  )  [inline, virtual]

Member Function Documentation

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::CreateExtracellularConductivityTensors (  )  [inline, private]
template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::CreateGGapConductivities (  )  [inline]

Create the pattern of Ggap across the mesh based upon mCellHeterogeneityRegions, mGgapValues and mGgap. This will fill in mGgapDistributed. It will set mGgap everywhere except in the areas mCellHeterogeneityRegions[i] where it will put mGgapValues[i] instead. If mCellHeterogeneityRegions (and mGgapValues) are empty, mGgap will be set everywhere.

Definition at line 156 of file ExtendedBidomainTissue.cpp.

References DistributedVectorFactory::GetLocalOwnership(), DistributedVectorFactory::GetLow(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode(), Node< SPACE_DIM >::GetPoint(), ExtendedBidomainTissue< SPACE_DIM >::mGGap, ExtendedBidomainTissue< SPACE_DIM >::mGgapDistributed, ExtendedBidomainTissue< SPACE_DIM >::mGgapHeterogeneityRegions, ExtendedBidomainTissue< SPACE_DIM >::mGgapValues, AbstractCardiacTissue< SPACE_DIM >::mpDistributedVectorFactory, AbstractCardiacTissue< SPACE_DIM >::mpMesh, and PetscTools::ReplicateException().

Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::CreateIntracellularConductivityTensorSecondCell (  )  [inline]

Convenience method for intracellular conductivity tensors creation for the second cell

Definition at line 193 of file ExtendedBidomainTissue.cpp.

References RelativeTo::AbsoluteOrCwd, GenericEventHandler< 16, HeartEventHandler >::BeginEvent(), GenericEventHandler< 16, HeartEventHandler >::EndEvent(), FileFinder::Exists(), HeartConfig::GetConductivityHeterogeneities(), HeartConfig::GetConductivityHeterogeneitiesProvided(), HeartConfig::GetConductivityMedia(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd(), HeartConfig::GetIntracellularConductivities(), HeartConfig::GetLoadMesh(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::Init(), HeartConfig::Instance(), HeartConfig::IsMeshProvided(), AbstractCardiacTissue< SPACE_DIM >::mFibreFilePathNoExtension, ExtendedBidomainTissue< SPACE_DIM >::mIntracellularConductivitiesSecondCell, AbstractCardiacTissue< SPACE_DIM >::mpConfig, ExtendedBidomainTissue< SPACE_DIM >::mpIntracellularConductivityTensorsSecondCell, AbstractCardiacTissue< SPACE_DIM >::mpMesh, NEVER_REACHED, PetscTools::ReplicateException(), AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::SetConstantConductivities(), AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::SetFibreOrientationFile(), and AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::SetNonConstantConductivities().

Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), and ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue().

template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::GetAmFirstCell (  )  [inline]
Returns:
Am for the first cell

Definition at line 602 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mAmFirstCell.

template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::GetAmGap (  )  [inline]
Returns:
Am for the gap junction

Definition at line 614 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mAmGap.

template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::GetAmSecondCell (  )  [inline]
Returns:
Am for the second cell

Definition at line 608 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mAmSecondCell.

template<unsigned SPACE_DIM>
AbstractCardiacCellInterface * ExtendedBidomainTissue< SPACE_DIM >::GetCardiacSecondCell ( unsigned  globalIndex  )  [inline]
template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::GetCmFirstCell (  )  [inline]
Returns:
Cm for the first cell

Definition at line 620 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mCmFirstCell.

template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::GetCmSecondCell (  )  [inline]
Returns:
Cm for the second cell

Definition at line 626 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mCmSecondCell.

template<unsigned SPACE_DIM>
boost::shared_ptr< AbstractStimulusFunction > ExtendedBidomainTissue< SPACE_DIM >::GetExtracellularStimulus ( unsigned  globalIndex  )  [inline]
Returns:
a pointer to the extracellular stimulus. Useful for testing
Parameters:
globalIndex the global index in the mesh

Definition at line 505 of file ExtendedBidomainTissue.cpp.

References DistributedVectorFactory::GetLow(), ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimuliDistributed, and AbstractCardiacTissue< SPACE_DIM >::mpDistributedVectorFactory.

template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::GetGGap (  )  [inline]
Returns:
the conducatnce of the gap junction (mGGap)

Definition at line 632 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mGGap.

template<unsigned SPACE_DIM>
c_vector< double, SPACE_DIM > ExtendedBidomainTissue< SPACE_DIM >::GetIntracellularConductivitiesSecondCell (  )  const [inline]
Returns:
the intracellular conductivities of the second cell

Definition at line 465 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mIntracellularConductivitiesSecondCell.

template<unsigned SPACE_DIM>
bool ExtendedBidomainTissue< SPACE_DIM >::HasTheUserSuppliedExtracellularStimulus (  )  [inline]

This method gives access to the member variable mUserSuppliedExtracellularStimulus, which is false by default but turned true if the user supplies an extracellular stimulus in any form.

Returns:
true if the user supplied an extracellular stimulus.

Definition at line 300 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mUserSuppliedExtracellularStimulus.

template<unsigned SPACE_DIM>
template<class Archive >
static void ExtendedBidomainTissue< SPACE_DIM >::LoadExtendedBidomainCells ( Archive &  archive,
const unsigned int  version,
std::vector< AbstractCardiacCellInterface * > &  rCells,
std::vector< AbstractCardiacCellInterface * > &  rSecondCells,
std::vector< double > &  rGgaps,
AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM > *  pMesh 
) [inline, static]

Load our tissue from an archive. This is the equivalent of LoadCardiacCells in the abstract class. it loads the two cells instead of only one.

Handles the checkpoint migration case, deleting loaded cells immediately if they are not local to this process.

Parameters:
archive the process-specific archive to load from
version archive version
rCells vector to fill in with pointers to local cells
rSecondCells vector to fill in with pointers to the second cells
rGgaps vector of values of gap junctions
pMesh the mesh, so we can get at the node permutation, if any

Definition at line 467 of file ExtendedBidomainTissue.hpp.

template<unsigned SPACE_DIM>
template<class Archive >
void ExtendedBidomainTissue< SPACE_DIM >::LoadExtracellularStimulus ( Archive &  archive,
const unsigned int  version,
std::vector< boost::shared_ptr< AbstractStimulusFunction > > &  rStimuli,
AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM > *  pMesh 
) [inline]

This method is the equivalent of LoadCardiacCells but Load the extracellular stimulus instead

Parameters:
archive the master archive; cells will actually be written to the process-specific archive.
version 
rStimuli the extracellular stimuli (will be filled from the archive).
pMesh the mesh (needed to work out number of nodes). Here it is assumed we have already unarchived the mesh somewhere and the pointer passed in is not NULL.

Definition at line 577 of file ExtendedBidomainTissue.hpp.

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::ReplicateAdditionalCaches (  )  [inline, private]

The parent class AbstractCardiacTissue has a method ReplicateCaches that replicates some caches of general use. This method replicates more caches that are specific to extended bidomain problems, namely:

  • Iionic and intracellular stimulus for the second cell
  • Extracellular stimulus
  • Gap junction conductivities (Ggap)

It is typically called right after the ReplicateCaches method in the parent class.

Definition at line 569 of file ExtendedBidomainTissue.cpp.

References DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLow(), ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimulusCacheReplicated, ExtendedBidomainTissue< SPACE_DIM >::mGgapCacheReplicated, ExtendedBidomainTissue< SPACE_DIM >::mIionicCacheReplicatedSecondCell, ExtendedBidomainTissue< SPACE_DIM >::mIntracellularStimulusCacheReplicatedSecondCell, AbstractCardiacTissue< SPACE_DIM >::mpDistributedVectorFactory, and ReplicatableVector::Replicate().

Referenced by ExtendedBidomainTissue< SPACE_DIM >::SolveCellSystems().

template<unsigned SPACE_DIM>
const c_matrix< double, SPACE_DIM, SPACE_DIM > & ExtendedBidomainTissue< SPACE_DIM >::rGetExtracellularConductivityTensor ( unsigned  elementIndex  )  [inline, virtual]
Returns:
the extracellular conductivity tensor for the given element
Parameters:
elementIndex index of the element of interest

Reimplemented from AbstractCardiacTissue< SPACE_DIM >.

Definition at line 471 of file ExtendedBidomainTissue.cpp.

References AbstractCardiacTissue< SPACE_DIM >::mpConductivityModifier, ExtendedBidomainTissue< SPACE_DIM >::mpExtracellularConductivityTensors, and AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM >::rGetModifiedConductivityTensor().

template<unsigned SPACE_DIM>
ReplicatableVector & ExtendedBidomainTissue< SPACE_DIM >::rGetExtracellularStimulusCacheReplicated (  )  [inline]
Returns:
the extracellular stimulus

Definition at line 590 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimulusCacheReplicated.

template<unsigned SPACE_DIM>
const std::vector< boost::shared_ptr< AbstractStimulusFunction > > & ExtendedBidomainTissue< SPACE_DIM >::rGetExtracellularStimulusDistributed (  )  const [inline]
Returns:
a reference to the vector of distributed extracellular stimuli. Needed for archiving.

Definition at line 324 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimuliDistributed.

Referenced by ExtendedBidomainTissue< DIM >::SaveExtracellularStimulus().

template<unsigned SPACE_DIM>
const std::vector< double > & ExtendedBidomainTissue< SPACE_DIM >::rGetGapsDistributed (  )  const [inline]
Returns:
a reference to the vector of distributed values of Ggaps. Needed for archiving.

Definition at line 318 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mGgapDistributed.

Referenced by ExtendedBidomainTissue< DIM >::SaveExtendedBidomainCells().

template<unsigned SPACE_DIM>
ReplicatableVector & ExtendedBidomainTissue< SPACE_DIM >::rGetGgapCacheReplicated (  )  [inline]
Returns:
the values of ggap

Definition at line 596 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mGgapCacheReplicated.

template<unsigned SPACE_DIM>
ReplicatableVector & ExtendedBidomainTissue< SPACE_DIM >::rGetIionicCacheReplicatedSecondCell (  )  [inline]
Returns:
the entire ionic current cache for the second cell

Definition at line 578 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mIionicCacheReplicatedSecondCell.

template<unsigned SPACE_DIM>
const c_matrix< double, SPACE_DIM, SPACE_DIM > & ExtendedBidomainTissue< SPACE_DIM >::rGetIntracellularConductivityTensorSecondCell ( unsigned  elementIndex  )  [inline]
Returns:
the intracellular conductivity tensor for the given element for tehs econd cell
Parameters:
elementIndex index of the element of interest

Definition at line 485 of file ExtendedBidomainTissue.cpp.

References AbstractCardiacTissue< SPACE_DIM >::mpConductivityModifier, ExtendedBidomainTissue< SPACE_DIM >::mpIntracellularConductivityTensorsSecondCell, and AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM >::rGetModifiedConductivityTensor().

template<unsigned SPACE_DIM>
ReplicatableVector & ExtendedBidomainTissue< SPACE_DIM >::rGetIntracellularStimulusCacheReplicatedSecondCell (  )  [inline]
Returns:
the entire stimulus current cache for the second cell

Definition at line 584 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mIntracellularStimulusCacheReplicatedSecondCell.

template<unsigned SPACE_DIM>
const std::vector< AbstractCardiacCellInterface * > & ExtendedBidomainTissue< SPACE_DIM >::rGetSecondCellsDistributed (  )  const [inline]
Returns:
a reference to the vector of distributed cells (second cell). Needed for archiving.

Definition at line 312 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mCellsDistributedSecondCell.

Referenced by ExtendedBidomainTissue< DIM >::SaveExtendedBidomainCells().

template<unsigned SPACE_DIM>
template<class Archive >
void ExtendedBidomainTissue< SPACE_DIM >::SaveExtendedBidomainCells ( Archive &  archive,
const unsigned int  version 
) const [inline]

This method is the equivalent of SaveCardiacCells in the abstract class but save both cells of the extended bidomain tissue

Parameters:
archive the master archive; cells will actually be written to the process-specific archive.
version 

Definition at line 420 of file ExtendedBidomainTissue.hpp.

template<unsigned SPACE_DIM>
template<class Archive >
void ExtendedBidomainTissue< SPACE_DIM >::SaveExtracellularStimulus ( Archive &  archive,
const unsigned int  version 
) const [inline]

This method is the equivalent of SaveCardiacCells but Saves the extracellular stimulus instead

Parameters:
archive the master archive; cells will actually be written to the process-specific archive.
version 

Definition at line 555 of file ExtendedBidomainTissue.hpp.

template<unsigned SPACE_DIM>
template<class Archive >
void ExtendedBidomainTissue< SPACE_DIM >::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]

Archive the member variables.

Parameters:
archive 
version 

Definition at line 91 of file ExtendedBidomainTissue.hpp.

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetAmFirstCell ( double  value  )  [inline]
Parameters:
value Am for the first cell

Definition at line 638 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mAmFirstCell.

Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetAmGap ( double  value  )  [inline]
Parameters:
value Am for the gap junction

Definition at line 650 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mAmGap.

Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetAmSecondCell ( double  value  )  [inline]
Parameters:
value Am for the second cell

Definition at line 644 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mAmSecondCell.

Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetCmFirstCell ( double  value  )  [inline]
Parameters:
value Cm for the first cell

Definition at line 662 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mCmFirstCell.

Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetCmSecondCell ( double  value  )  [inline]
Parameters:
value Cm for the first cell

Definition at line 668 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mCmSecondCell.

Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetGGap ( double  value  )  [inline]
Parameters:
value conductance, in mS of the gap junction

Definition at line 656 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mGGap.

Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetGgapHeterogeneities ( std::vector< boost::shared_ptr< AbstractChasteRegion< SPACE_DIM > > > &  rGgapHeterogeneityRegions,
std::vector< double rGgapValues 
) [inline]

Set the values of mCellHeterogeneityRegions and mGgapValues for the heterogeneities of Ggap.

Parameters:
rGgapHeterogeneityRegions a vector of (pointers to) heterogeneity regions for gap junctions
rGgapValues a vector (of the same size as rGgapHeterogeneityRegions) with the respective values of Ggap for every region.

Definition at line 147 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mGgapHeterogeneityRegions, and ExtendedBidomainTissue< SPACE_DIM >::mGgapValues.

Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetIntracellularConductivitiesSecondCell ( c_vector< double, SPACE_DIM >  conductivities  )  [inline]

Sets the value of the conductivities for the second cell.

Parameters:
conductivities the conductivities to be set.

Definition at line 456 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mIntracellularConductivitiesSecondCell.

Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetUserSuppliedExtracellularStimulus ( bool  flag  )  [inline]

This method allows modifications of the mUserSuppliedExtracellularStimulus flag (false by default). Other classes (e.g., Problem classes) can use this method to tell the Tissue that the user specified an extracellular stimulus.

Parameters:
flag ; true if you want to tell the Tissue object that the user supplied an extracellular stimulus explicitly

Definition at line 306 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mUserSuppliedExtracellularStimulus.

Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SolveCellSystems ( Vec  existingSolution,
double  time,
double  nextTime,
bool  updateVoltage = false 
) [inline, virtual]
template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::UpdateAdditionalCaches ( unsigned  globalIndex,
unsigned  localIndex,
double  nextTime 
) [inline, private]

The parent class AbstractCardiacTissue has a method UpdateCaches that updates some caches of general use. This method updates more caches that are specific to extended bidomain problems, namely:

  • Iionic and intracellular stimulus for the second cell
  • Extracellular stimulus
  • Gap junction conductivities (Ggap)

It is typically called right after the UpdateCaches method in the parent class.

Parameters:
globalIndex global index of the entry to update
localIndex local index of the entry to update
nextTime the next PDE time point, at which to evaluate the stimulus current

Definition at line 560 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mCellsDistributedSecondCell, ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimuliDistributed, ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimulusCacheReplicated, ExtendedBidomainTissue< SPACE_DIM >::mGgapCacheReplicated, ExtendedBidomainTissue< SPACE_DIM >::mGgapDistributed, ExtendedBidomainTissue< SPACE_DIM >::mIionicCacheReplicatedSecondCell, and ExtendedBidomainTissue< SPACE_DIM >::mIntracellularStimulusCacheReplicatedSecondCell.

Referenced by ExtendedBidomainTissue< SPACE_DIM >::SolveCellSystems().


Friends And Related Function Documentation

template<unsigned SPACE_DIM>
friend class boost::serialization::access [friend]

Needed for serialization.

Reimplemented from AbstractCardiacTissue< SPACE_DIM >.

Definition at line 83 of file ExtendedBidomainTissue.hpp.


Member Data Documentation

template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::mAmFirstCell [private]

the Am for the first cell, set by the problem class and picked up by the assembler

Definition at line 152 of file ExtendedBidomainTissue.hpp.

Referenced by ExtendedBidomainTissue< SPACE_DIM >::GetAmFirstCell(), ExtendedBidomainTissue< DIM >::serialize(), and ExtendedBidomainTissue< SPACE_DIM >::SetAmFirstCell().

template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::mAmGap [private]

the Am for the gap junction, set by the problem class and picked up by the assembler

Definition at line 156 of file ExtendedBidomainTissue.hpp.

Referenced by ExtendedBidomainTissue< SPACE_DIM >::GetAmGap(), ExtendedBidomainTissue< DIM >::serialize(), and ExtendedBidomainTissue< SPACE_DIM >::SetAmGap().

template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::mAmSecondCell [private]

the Am for the second cell, set by the problem class and picked up by the assembler

Definition at line 154 of file ExtendedBidomainTissue.hpp.

Referenced by ExtendedBidomainTissue< SPACE_DIM >::GetAmSecondCell(), ExtendedBidomainTissue< DIM >::serialize(), and ExtendedBidomainTissue< SPACE_DIM >::SetAmSecondCell().

template<unsigned SPACE_DIM>
std::vector< AbstractCardiacCellInterface* > ExtendedBidomainTissue< SPACE_DIM >::mCellsDistributedSecondCell [private]
template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::mCmFirstCell [private]

the Cm for the first cell, set by the problem class and picked up by the assembler

Definition at line 158 of file ExtendedBidomainTissue.hpp.

Referenced by ExtendedBidomainTissue< SPACE_DIM >::GetCmFirstCell(), ExtendedBidomainTissue< DIM >::serialize(), and ExtendedBidomainTissue< SPACE_DIM >::SetCmFirstCell().

template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::mCmSecondCell [private]

the Cm for the second cell, set by the problem class and picked up by the assembler

Definition at line 160 of file ExtendedBidomainTissue.hpp.

Referenced by ExtendedBidomainTissue< SPACE_DIM >::GetCmSecondCell(), ExtendedBidomainTissue< DIM >::serialize(), and ExtendedBidomainTissue< SPACE_DIM >::SetCmSecondCell().

template<unsigned SPACE_DIM>
std::vector<boost::shared_ptr<AbstractStimulusFunction> > ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimuliDistributed [private]
template<unsigned SPACE_DIM>
ReplicatableVector ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimulusCacheReplicated [private]
template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::mGGap [private]

the conductance of the gap junction, in mS/cm2. Set by the problem class and picked up by the assembler

Definition at line 162 of file ExtendedBidomainTissue.hpp.

Referenced by ExtendedBidomainTissue< SPACE_DIM >::CreateGGapConductivities(), ExtendedBidomainTissue< SPACE_DIM >::GetGGap(), ExtendedBidomainTissue< DIM >::serialize(), and ExtendedBidomainTissue< SPACE_DIM >::SetGGap().

template<unsigned SPACE_DIM>
ReplicatableVector ExtendedBidomainTissue< SPACE_DIM >::mGgapCacheReplicated [private]
template<unsigned SPACE_DIM>
std::vector<double> ExtendedBidomainTissue< SPACE_DIM >::mGgapDistributed [private]
template<unsigned SPACE_DIM>
std::vector<boost::shared_ptr<AbstractChasteRegion<SPACE_DIM> > > ExtendedBidomainTissue< SPACE_DIM >::mGgapHeterogeneityRegions [private]
template<unsigned SPACE_DIM>
std::vector<double> ExtendedBidomainTissue< SPACE_DIM >::mGgapValues [private]

values of heterogeneous Ggaps corresponding to mGgapHeterogeneityRegions. This has the same size as mGgapHeterogeneityRegions

Definition at line 206 of file ExtendedBidomainTissue.hpp.

Referenced by ExtendedBidomainTissue< SPACE_DIM >::CreateGGapConductivities(), and ExtendedBidomainTissue< SPACE_DIM >::SetGgapHeterogeneities().

template<unsigned SPACE_DIM>
ReplicatableVector ExtendedBidomainTissue< SPACE_DIM >::mIionicCacheReplicatedSecondCell [private]
template<unsigned SPACE_DIM>
c_vector<double, SPACE_DIM> ExtendedBidomainTissue< SPACE_DIM >::mIntracellularConductivitiesSecondCell [private]

Stores the values of the conductivities for the second cell. Accessible via get and set methods. The problem class will set it This variable is a convenient interface for other classes. It is used to fill in mpIntracellularConductivityTensorsSecondCell.

Definition at line 112 of file ExtendedBidomainTissue.hpp.

Referenced by ExtendedBidomainTissue< SPACE_DIM >::CreateIntracellularConductivityTensorSecondCell(), ExtendedBidomainTissue< SPACE_DIM >::GetIntracellularConductivitiesSecondCell(), and ExtendedBidomainTissue< SPACE_DIM >::SetIntracellularConductivitiesSecondCell().

template<unsigned SPACE_DIM>
AbstractConductivityTensors<SPACE_DIM, SPACE_DIM>* ExtendedBidomainTissue< SPACE_DIM >::mpExtracellularConductivityTensors [private]
template<unsigned SPACE_DIM>
AbstractConductivityTensors<SPACE_DIM, SPACE_DIM>* ExtendedBidomainTissue< SPACE_DIM >::mpIntracellularConductivityTensorsSecondCell [private]
template<unsigned SPACE_DIM>
bool ExtendedBidomainTissue< SPACE_DIM >::mUserSuppliedExtracellularStimulus [private]

Whether the extracellular stimulus that is passed in was supplied by the user or not (it could be the default zero implementation). Initialise to false (user did not pass in anything).

Definition at line 168 of file ExtendedBidomainTissue.hpp.

Referenced by ExtendedBidomainTissue< SPACE_DIM >::HasTheUserSuppliedExtracellularStimulus(), ExtendedBidomainTissue< DIM >::serialize(), and ExtendedBidomainTissue< SPACE_DIM >::SetUserSuppliedExtracellularStimulus().


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

Generated by  doxygen 1.6.2