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< AbstractCardiacCell * > &rCellsDistributed, std::vector< AbstractCardiacCell * > &rSecondCellsDistributed, std::vector< boost::shared_ptr< AbstractStimulusFunction > > &rExtraStimuliDistributed, std::vector< double > &rGgapsDistributed, AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM > *pMesh, c_vector< double, SPACE_DIM > intracellularConductivitiesSecondCell)
 ~ExtendedBidomainTissue ()
void SetIntracellularConductivitiesSecondCell (c_vector< double, SPACE_DIM > conductivities)
AbstractCardiacCellGetCardiacSecondCell (unsigned globalIndex)
boost::shared_ptr
< AbstractStimulusFunction
GetExtracellularStimulus (unsigned globalIndex)
const std::vector
< AbstractCardiacCell * > & 
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< AbstractCardiacCell * > &rCells, std::vector< AbstractCardiacCell * > &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
< AbstractCardiacCell * > 
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 70 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 39 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(), 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, PetscTools::ReplicateException(), and ReplicatableVector::Resize().

template<unsigned SPACE_DIM>
ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue ( std::vector< AbstractCardiacCell * > &  rCellsDistributed,
std::vector< AbstractCardiacCell * > &  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 107 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]

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 140 of file ExtendedBidomainTissue.cpp.

References DistributedVectorFactory::GetLocalOwnership(), DistributedVectorFactory::GetLow(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode(), 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]
template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::GetAmFirstCell (  )  [inline]
Returns:
Am for the first cell

Definition at line 504 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 516 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 510 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mAmSecondCell.

template<unsigned SPACE_DIM>
AbstractCardiacCell * 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 522 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 528 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 404 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 534 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 378 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 247 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< AbstractCardiacCell * > &  rCells,
std::vector< AbstractCardiacCell * > &  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 458 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 566 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 471 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]

Get the extracellular conductivity tensor for the given element

Parameters:
elementIndex index of the element of interest

Reimplemented from AbstractCardiacTissue< SPACE_DIM >.

Definition at line 384 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mpExtracellularConductivityTensors.

template<unsigned SPACE_DIM>
ReplicatableVector & ExtendedBidomainTissue< SPACE_DIM >::rGetExtracellularStimulusCacheReplicated (  )  [inline]

Get the extracellular stimulus

Definition at line 492 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 271 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 265 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mGgapDistributed.

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

template<unsigned SPACE_DIM>
ReplicatableVector & ExtendedBidomainTissue< SPACE_DIM >::rGetGgapCacheReplicated (  )  [inline]

Get the values of ggap

Definition at line 498 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mGgapCacheReplicated.

template<unsigned SPACE_DIM>
ReplicatableVector & ExtendedBidomainTissue< SPACE_DIM >::rGetIionicCacheReplicatedSecondCell (  )  [inline]

Get the entire ionic current cache for the second cell

Definition at line 480 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]

Get the intracellular conductivity tensor for the given element for tehs econd cell

Parameters:
elementIndex index of the element of interest

Definition at line 391 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mpIntracellularConductivityTensorsSecondCell.

template<unsigned SPACE_DIM>
ReplicatableVector & ExtendedBidomainTissue< SPACE_DIM >::rGetIntracellularStimulusCacheReplicatedSecondCell (  )  [inline]

Get the entire stimulus current cache for the second cell

Definition at line 486 of file ExtendedBidomainTissue.cpp.

References ExtendedBidomainTissue< SPACE_DIM >::mIntracellularStimulusCacheReplicatedSecondCell.

template<unsigned SPACE_DIM>
const std::vector< AbstractCardiacCell * > & ExtendedBidomainTissue< SPACE_DIM >::rGetSecondCellsDistributed (  )  const [inline]

Returns a reference to the vector of distributed cells (second cell). Needed for archiving.

Definition at line 259 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 413 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 544 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 84 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 540 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 552 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 546 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 564 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 570 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 558 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 132 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 369 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 253 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 462 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 76 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 145 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 149 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 147 of file ExtendedBidomainTissue.hpp.

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

template<unsigned SPACE_DIM>
std::vector< AbstractCardiacCell* > 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 151 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 153 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 155 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 199 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 105 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 161 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 on Thu Dec 22 13:05:18 2011 for Chaste by  doxygen 1.6.3