Chaste Release::3.1
ExtendedBidomainTissue< SPACE_DIM > Class Template Reference

#include <ExtendedBidomainTissue.hpp>

Inheritance diagram for ExtendedBidomainTissue< SPACE_DIM >:
Collaboration diagram for ExtendedBidomainTissue< SPACE_DIM >:

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)
 ~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:

  • div ( sigma_i1 grad Phi_1 ) + Am1*Cm1*d(phi_1)/dt - Am2*Cm2*d(phi_e)/dt + Am1*I_ion1 - Am1*I_stim1 + Amgap*G_gap*(phi_1 - phi_2)
  • div ( sigma_i2 grad Phi_2 ) + Am2*Cm2*d(phi_2)/dt - Am2*Cm2*d(phi_e)/dt + Am2*I_ion2 - Am2*I_stim2 - Amgap*G_gap*(phi_1 - phi_2) div ( sigma_e grad Phi_e ) + div ( sigma_i1 grad Phi_1 ) + div ( sigma_i2 grad Phi_2 ) = I_stim

The unknowns are:

  • Phi_1 (intracellular potential of the first cell).
  • Phi_2 (intracellular potential of the second cell).
  • Phi_e (extracellular potential).

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 
)

Constructor sets up extracellular conductivity tensors.

Parameters:
pCellFactoryfactory to pass on to the base class constructor
pCellFactorySecondCellfactory to pass on to the base class constructor for the second cell
pExtracellularStimulusFactoryfactory for creating extracellular stimuli

Definition at line 46 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< 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 
)

Archiving constructor

Parameters:
rCellsDistributedlocal cell models (recovered from archive)
rSecondCellsDistributedlocal cell models for second cells (recovered from archive)
rExtraStimuliDistributedlocal extracellular stimuli (recovered from archive)
rGgapsDistributeddistributed Ggaps (recovered from archive)
pMesha pointer to the AbstractTetrahedral mesh (recovered from archive).
intracellularConductivitiesSecondCella 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 115 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 ( )

Destructor

Definition at line 361 of file ExtendedBidomainTissue.cpp.


Member Function Documentation

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

Convenience method for extracellular conductivity tensors creation

Definition at line 292 of file ExtendedBidomainTissue.cpp.

References HeartConfig::GetConductivityHeterogeneities(), HeartConfig::Instance(), and PetscTools::ReplicateException().

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

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::CreateGGapConductivities ( )

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

References PetscTools::ReplicateException().

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

Definition at line 518 of file ExtendedBidomainTissue.cpp.

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

Definition at line 530 of file ExtendedBidomainTissue.cpp.

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

Definition at line 524 of file ExtendedBidomainTissue.cpp.

template<unsigned SPACE_DIM>
AbstractCardiacCellInterface * ExtendedBidomainTissue< SPACE_DIM >::GetCardiacSecondCell ( unsigned  globalIndex)

Returns a pointer to the second cell

Parameters:
globalIndexthe global index in the mesh

Definition at line 412 of file ExtendedBidomainTissue.cpp.

template<unsigned SPACE_DIM>
double ExtendedBidomainTissue< SPACE_DIM >::GetCmFirstCell ( )
Returns:
Cm for the first cell

Definition at line 536 of file ExtendedBidomainTissue.cpp.

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

Definition at line 542 of file ExtendedBidomainTissue.cpp.

template<unsigned SPACE_DIM>
boost::shared_ptr< AbstractStimulusFunction > ExtendedBidomainTissue< SPACE_DIM >::GetExtracellularStimulus ( unsigned  globalIndex)

Returns a pointer to the extracellular stimulus. Useful for testing

Parameters:
globalIndexthe global index in the mesh

Definition at line 418 of file ExtendedBidomainTissue.cpp.

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

Definition at line 548 of file ExtendedBidomainTissue.cpp.

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

Definition at line 392 of file ExtendedBidomainTissue.cpp.

template<unsigned SPACE_DIM>
bool ExtendedBidomainTissue< SPACE_DIM >::HasTheUserSuppliedExtracellularStimulus ( )

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

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:
archivethe process-specific archive to load from
versionarchive version
rCellsvector to fill in with pointers to local cells
rSecondCellsvector to fill in with pointers to the second cells
rGgapsvector of values of gap junctions
pMeshthe mesh, so we can get at the node permutation, if any

Definition at line 465 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:
archivethe master archive; cells will actually be written to the process-specific archive.
version
rStimulithe extracellular stimuli (will be filled from the archive).
pMeshthe 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 573 of file ExtendedBidomainTissue.hpp.

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::ReplicateAdditionalCaches ( ) [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 485 of file ExtendedBidomainTissue.cpp.

template<unsigned SPACE_DIM>
const c_matrix< double, SPACE_DIM, SPACE_DIM > & ExtendedBidomainTissue< SPACE_DIM >::rGetExtracellularConductivityTensor ( unsigned  elementIndex) [virtual]

Get the extracellular conductivity tensor for the given element

Parameters:
elementIndexindex of the element of interest

Reimplemented from AbstractCardiacTissue< SPACE_DIM >.

Definition at line 398 of file ExtendedBidomainTissue.cpp.

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

Get the extracellular stimulus

Definition at line 506 of file ExtendedBidomainTissue.cpp.

template<unsigned SPACE_DIM>
const std::vector< boost::shared_ptr< AbstractStimulusFunction > > & ExtendedBidomainTissue< SPACE_DIM >::rGetExtracellularStimulusDistributed ( ) const

Returns a reference to the vector of distributed extracellular stimuli. Needed for archiving.

Definition at line 285 of file ExtendedBidomainTissue.cpp.

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

template<unsigned SPACE_DIM>
const std::vector< double > & ExtendedBidomainTissue< SPACE_DIM >::rGetGapsDistributed ( ) const

Returns a reference to the vector of distributed values of Ggaps. Needed for archiving.

Definition at line 279 of file ExtendedBidomainTissue.cpp.

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

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

Get the values of ggap

Definition at line 512 of file ExtendedBidomainTissue.cpp.

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

Get the entire ionic current cache for the second cell

Definition at line 494 of file ExtendedBidomainTissue.cpp.

template<unsigned SPACE_DIM>
const c_matrix< double, SPACE_DIM, SPACE_DIM > & ExtendedBidomainTissue< SPACE_DIM >::rGetIntracellularConductivityTensorSecondCell ( unsigned  elementIndex)

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

Parameters:
elementIndexindex of the element of interest

Definition at line 405 of file ExtendedBidomainTissue.cpp.

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

Get the entire stimulus current cache for the second cell

Definition at line 500 of file ExtendedBidomainTissue.cpp.

template<unsigned SPACE_DIM>
const std::vector< AbstractCardiacCellInterface * > & ExtendedBidomainTissue< SPACE_DIM >::rGetSecondCellsDistributed ( ) const

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

Definition at line 273 of file ExtendedBidomainTissue.cpp.

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:
archivethe 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:
archivethe master archive; cells will actually be written to the process-specific archive.
version

Definition at line 551 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)
Parameters:
valueAm for the first cell

Definition at line 554 of file ExtendedBidomainTissue.cpp.

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetAmGap ( double  value)
Parameters:
valueAm for the gap junction

Definition at line 566 of file ExtendedBidomainTissue.cpp.

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetAmSecondCell ( double  value)
Parameters:
valueAm for the second cell

Definition at line 560 of file ExtendedBidomainTissue.cpp.

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetCmFirstCell ( double  value)
Parameters:
valueCm for the first cell

Definition at line 578 of file ExtendedBidomainTissue.cpp.

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::SetCmSecondCell ( double  value)
Parameters:
valueCm for the first cell

Definition at line 584 of file ExtendedBidomainTissue.cpp.

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

Definition at line 572 of file ExtendedBidomainTissue.cpp.

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

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

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

Definition at line 145 of file ExtendedBidomainTissue.cpp.

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

Sets the value of the conductivities for the second cell.

Parameters:
conductivitiesthe conductivities to be set.

Definition at line 383 of file ExtendedBidomainTissue.cpp.

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

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

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

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

Integrate the cell ODEs and update ionic current etc for each of the cells, between the two times provided. This is a re-implementation from the version in the base class.

Parameters:
existingSolutionthe current voltage solution vector
timethe current simulation time
nextTimewhen to simulate the cells until
updateVoltage(unused here)

Reimplemented from AbstractCardiacTissue< SPACE_DIM >.

Definition at line 424 of file ExtendedBidomainTissue.cpp.

References DistributedVector::Begin(), GenericEventHandler< 16, HeartEventHandler >::BeginEvent(), DistributedVector::End(), GenericEventHandler< 16, HeartEventHandler >::EndEvent(), and PetscTools::ReplicateException().

template<unsigned SPACE_DIM>
void ExtendedBidomainTissue< SPACE_DIM >::UpdateAdditionalCaches ( unsigned  globalIndex,
unsigned  localIndex,
double  nextTime 
) [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:
globalIndexglobal index of the entry to update
localIndexlocal index of the entry to update
nextTimethe next PDE time point, at which to evaluate the stimulus current

Definition at line 476 of file ExtendedBidomainTissue.cpp.


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< DIM >::serialize().

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< DIM >::serialize().

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< DIM >::serialize().

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

The vector of cells (the second one). Distributed.

Definition at line 143 of file ExtendedBidomainTissue.hpp.

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

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< DIM >::serialize().

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< DIM >::serialize().

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

The vector of stimuli for the extracellular stimulus. Distributed.

Definition at line 146 of file ExtendedBidomainTissue.hpp.

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

template<unsigned SPACE_DIM>
ReplicatableVector ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimulusCacheReplicated [private]

Cache containing all the stimulus currents for each node, replicated over all processes.

Definition at line 122 of file ExtendedBidomainTissue.hpp.

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

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< DIM >::serialize().

template<unsigned SPACE_DIM>
ReplicatableVector ExtendedBidomainTissue< SPACE_DIM >::mGgapCacheReplicated [private]

Cache containing all the stimulus currents for each node, replicated over all processes.

Definition at line 128 of file ExtendedBidomainTissue.hpp.

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

template<unsigned SPACE_DIM>
std::vector<double> ExtendedBidomainTissue< SPACE_DIM >::mGgapDistributed [private]

The vector of gap junction conductances. Distributed

Definition at line 149 of file ExtendedBidomainTissue.hpp.

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

template<unsigned SPACE_DIM>
std::vector<boost::shared_ptr<AbstractChasteRegion<SPACE_DIM> > > ExtendedBidomainTissue< SPACE_DIM >::mGgapHeterogeneityRegions [private]

vector of regions for Ggap heterogeneities

Definition at line 204 of file ExtendedBidomainTissue.hpp.

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.

template<unsigned SPACE_DIM>
ReplicatableVector ExtendedBidomainTissue< SPACE_DIM >::mIionicCacheReplicatedSecondCell [private]

Cache containing all the ionic currents for each node for the seconed cell, replicated over all processes.

Definition at line 134 of file ExtendedBidomainTissue.hpp.

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

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.

Cache containing all the stimulus currents for each node for the second cell, replicated over all processes.

Definition at line 140 of file ExtendedBidomainTissue.hpp.

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

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

Extracellular conductivity tensors.

Definition at line 116 of file ExtendedBidomainTissue.hpp.

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

Intracellular conductivity tensors for the second cell.

Definition at line 106 of file ExtendedBidomainTissue.hpp.

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< DIM >::serialize().


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