#include <ExtendedBidomainTissue.hpp>
Inherits AbstractCardiacTissue< 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.
ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue | ( | AbstractCardiacCellFactory< SPACE_DIM > * | pCellFactory, | |
AbstractCardiacCellFactory< SPACE_DIM > * | pCellFactorySecondCell, | |||
AbstractStimulusFactory< SPACE_DIM > * | pExtracellularStimulusFactory | |||
) | [inline] |
Constructor sets up extracellular conductivity tensors.
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().
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
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().
ExtendedBidomainTissue< SPACE_DIM >::~ExtendedBidomainTissue | ( | ) | [inline] |
Destructor
Definition at line 347 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mCellsDistributedSecondCell, ExtendedBidomainTissue< SPACE_DIM >::mpExtracellularConductivityTensors, and ExtendedBidomainTissue< SPACE_DIM >::mpIntracellularConductivityTensorsSecondCell.
void ExtendedBidomainTissue< SPACE_DIM >::CreateExtracellularConductivityTensors | ( | ) | [inline, private] |
Convenience method for extracellular conductivity tensors creation
Definition at line 278 of file ExtendedBidomainTissue.cpp.
References HeartConfig::GetConductivityHeterogeneities(), HeartConfig::GetConductivityHeterogeneitiesProvided(), HeartConfig::GetExtracellularConductivities(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::Init(), HeartConfig::Instance(), AbstractCardiacTissue< SPACE_DIM >::mpConfig, ExtendedBidomainTissue< SPACE_DIM >::mpExtracellularConductivityTensors, AbstractCardiacTissue< SPACE_DIM >::mpMesh, PetscTools::ReplicateException(), AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::SetConstantConductivities(), and AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::SetNonConstantConductivities().
Referenced by ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue().
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().
void ExtendedBidomainTissue< SPACE_DIM >::CreateIntracellularConductivityTensorSecondCell | ( | ) | [inline] |
Convenience method for intracellular conductivity tensors creation for the second cell
Definition at line 176 of file ExtendedBidomainTissue.cpp.
References GenericEventHandler< 16, HeartEventHandler >::BeginEvent(), GenericEventHandler< 16, HeartEventHandler >::EndEvent(), HeartConfig::GetConductivityHeterogeneities(), HeartConfig::GetConductivityHeterogeneitiesProvided(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd(), HeartConfig::GetIntracellularConductivities(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::Init(), HeartConfig::Instance(), ExtendedBidomainTissue< SPACE_DIM >::mIntracellularConductivitiesSecondCell, AbstractCardiacTissue< SPACE_DIM >::mpConfig, ExtendedBidomainTissue< SPACE_DIM >::mpIntracellularConductivityTensorsSecondCell, AbstractCardiacTissue< SPACE_DIM >::mpMesh, PetscTools::ReplicateException(), AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::SetConstantConductivities(), and AbstractConductivityTensors< ELEMENT_DIM, SPACE_DIM >::SetNonConstantConductivities().
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue(), and ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue().
double ExtendedBidomainTissue< SPACE_DIM >::GetAmFirstCell | ( | ) | [inline] |
Definition at line 504 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mAmFirstCell.
double ExtendedBidomainTissue< SPACE_DIM >::GetAmGap | ( | ) | [inline] |
Definition at line 516 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mAmGap.
double ExtendedBidomainTissue< SPACE_DIM >::GetAmSecondCell | ( | ) | [inline] |
Definition at line 510 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mAmSecondCell.
AbstractCardiacCell * ExtendedBidomainTissue< SPACE_DIM >::GetCardiacSecondCell | ( | unsigned | globalIndex | ) | [inline] |
Returns a pointer to the second cell
globalIndex | the global index in the mesh |
Definition at line 398 of file ExtendedBidomainTissue.cpp.
References DistributedVectorFactory::GetLow(), ExtendedBidomainTissue< SPACE_DIM >::mCellsDistributedSecondCell, and AbstractCardiacTissue< SPACE_DIM >::mpDistributedVectorFactory.
Referenced by ExtendedBidomainProblem< DIM >::CreateInitialCondition().
double ExtendedBidomainTissue< SPACE_DIM >::GetCmFirstCell | ( | ) | [inline] |
Definition at line 522 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mCmFirstCell.
double ExtendedBidomainTissue< SPACE_DIM >::GetCmSecondCell | ( | ) | [inline] |
Definition at line 528 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mCmSecondCell.
boost::shared_ptr< AbstractStimulusFunction > ExtendedBidomainTissue< SPACE_DIM >::GetExtracellularStimulus | ( | unsigned | globalIndex | ) | [inline] |
Returns a pointer to the extracellular stimulus. Useful for testing
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.
double ExtendedBidomainTissue< SPACE_DIM >::GetGGap | ( | ) | [inline] |
Definition at line 534 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mGGap.
c_vector< double, SPACE_DIM > ExtendedBidomainTissue< SPACE_DIM >::GetIntracellularConductivitiesSecondCell | ( | ) | const [inline] |
Definition at line 378 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mIntracellularConductivitiesSecondCell.
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.
Definition at line 247 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mUserSuppliedExtracellularStimulus.
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.
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.
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
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.
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:
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().
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
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.
ReplicatableVector & ExtendedBidomainTissue< SPACE_DIM >::rGetExtracellularStimulusCacheReplicated | ( | ) | [inline] |
Get the extracellular stimulus
Definition at line 492 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimulusCacheReplicated.
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().
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().
ReplicatableVector & ExtendedBidomainTissue< SPACE_DIM >::rGetGgapCacheReplicated | ( | ) | [inline] |
Get the values of ggap
Definition at line 498 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mGgapCacheReplicated.
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.
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
elementIndex | index of the element of interest |
Definition at line 391 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mpIntracellularConductivityTensorsSecondCell.
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.
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().
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
archive | the master archive; cells will actually be written to the process-specific archive. | |
version |
Definition at line 413 of file ExtendedBidomainTissue.hpp.
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
archive | the master archive; cells will actually be written to the process-specific archive. | |
version |
Definition at line 544 of file ExtendedBidomainTissue.hpp.
void ExtendedBidomainTissue< SPACE_DIM >::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the member variables.
archive | ||
version |
Definition at line 84 of file ExtendedBidomainTissue.hpp.
void ExtendedBidomainTissue< SPACE_DIM >::SetAmFirstCell | ( | double | value | ) | [inline] |
value | Am for the first cell |
Definition at line 540 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mAmFirstCell.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().
void ExtendedBidomainTissue< SPACE_DIM >::SetAmGap | ( | double | value | ) | [inline] |
value | Am for the gap junction |
Definition at line 552 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mAmGap.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().
void ExtendedBidomainTissue< SPACE_DIM >::SetAmSecondCell | ( | double | value | ) | [inline] |
value | Am for the second cell |
Definition at line 546 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mAmSecondCell.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().
void ExtendedBidomainTissue< SPACE_DIM >::SetCmFirstCell | ( | double | value | ) | [inline] |
value | Cm for the first cell |
Definition at line 564 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mCmFirstCell.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().
void ExtendedBidomainTissue< SPACE_DIM >::SetCmSecondCell | ( | double | value | ) | [inline] |
value | Cm for the first cell |
Definition at line 570 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mCmSecondCell.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().
void ExtendedBidomainTissue< SPACE_DIM >::SetGGap | ( | double | value | ) | [inline] |
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().
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.
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().
void ExtendedBidomainTissue< SPACE_DIM >::SetIntracellularConductivitiesSecondCell | ( | c_vector< double, SPACE_DIM > | conductivities | ) | [inline] |
Sets the value of the conductivities for the second cell.
conductivities | the conductivities to be set. |
Definition at line 369 of file ExtendedBidomainTissue.cpp.
References ExtendedBidomainTissue< SPACE_DIM >::mIntracellularConductivitiesSecondCell.
Referenced by ExtendedBidomainProblem< DIM >::CreateCardiacTissue().
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.
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().
void ExtendedBidomainTissue< SPACE_DIM >::SolveCellSystems | ( | Vec | existingSolution, | |
double | time, | |||
double | nextTime, | |||
bool | updateVoltage = false | |||
) | [inline, 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.
existingSolution | the current voltage solution vector | |
time | the current simulation time | |
nextTime | when to simulate the cells until | |
updateVoltage | (unused here) |
Reimplemented from AbstractCardiacTissue< SPACE_DIM >.
Definition at line 410 of file ExtendedBidomainTissue.cpp.
References DistributedVector::Begin(), GenericEventHandler< 16, HeartEventHandler >::BeginEvent(), DistributedVectorFactory::CreateDistributedVector(), DistributedVector::End(), GenericEventHandler< 16, HeartEventHandler >::EndEvent(), AbstractCardiacTissue< SPACE_DIM >::mCellsDistributed, ExtendedBidomainTissue< SPACE_DIM >::mCellsDistributedSecondCell, AbstractCardiacTissue< SPACE_DIM >::mDoCacheReplication, AbstractCardiacTissue< SPACE_DIM >::mpDistributedVectorFactory, ExtendedBidomainTissue< SPACE_DIM >::ReplicateAdditionalCaches(), AbstractCardiacTissue< SPACE_DIM >::ReplicateCaches(), PetscTools::ReplicateException(), ExtendedBidomainTissue< SPACE_DIM >::UpdateAdditionalCaches(), and AbstractCardiacTissue< SPACE_DIM >::UpdateCaches().
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:
It is typically called right after the UpdateCaches method in the parent class.
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().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractCardiacTissue< SPACE_DIM >.
Definition at line 76 of file ExtendedBidomainTissue.hpp.
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().
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().
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().
std::vector< AbstractCardiacCell* > ExtendedBidomainTissue< SPACE_DIM >::mCellsDistributedSecondCell [private] |
The vector of cells (the second one). Distributed.
Definition at line 136 of file ExtendedBidomainTissue.hpp.
Referenced by ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue(), ExtendedBidomainTissue< SPACE_DIM >::GetCardiacSecondCell(), ExtendedBidomainTissue< SPACE_DIM >::rGetSecondCellsDistributed(), ExtendedBidomainTissue< SPACE_DIM >::SolveCellSystems(), ExtendedBidomainTissue< SPACE_DIM >::UpdateAdditionalCaches(), and ExtendedBidomainTissue< SPACE_DIM >::~ExtendedBidomainTissue().
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().
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().
std::vector<boost::shared_ptr<AbstractStimulusFunction> > ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimuliDistributed [private] |
The vector of stimuli for the extracellular stimulus. Distributed.
Definition at line 139 of file ExtendedBidomainTissue.hpp.
Referenced by ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue(), ExtendedBidomainTissue< SPACE_DIM >::GetExtracellularStimulus(), ExtendedBidomainTissue< SPACE_DIM >::rGetExtracellularStimulusDistributed(), and ExtendedBidomainTissue< SPACE_DIM >::UpdateAdditionalCaches().
ReplicatableVector ExtendedBidomainTissue< SPACE_DIM >::mExtracellularStimulusCacheReplicated [private] |
Cache containing all the stimulus currents for each node, replicated over all processes.
Definition at line 115 of file ExtendedBidomainTissue.hpp.
Referenced by ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue(), ExtendedBidomainTissue< SPACE_DIM >::ReplicateAdditionalCaches(), ExtendedBidomainTissue< SPACE_DIM >::rGetExtracellularStimulusCacheReplicated(), and ExtendedBidomainTissue< SPACE_DIM >::UpdateAdditionalCaches().
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().
ReplicatableVector ExtendedBidomainTissue< SPACE_DIM >::mGgapCacheReplicated [private] |
Cache containing all the stimulus currents for each node, replicated over all processes.
Definition at line 121 of file ExtendedBidomainTissue.hpp.
Referenced by ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue(), ExtendedBidomainTissue< SPACE_DIM >::ReplicateAdditionalCaches(), ExtendedBidomainTissue< SPACE_DIM >::rGetGgapCacheReplicated(), and ExtendedBidomainTissue< SPACE_DIM >::UpdateAdditionalCaches().
std::vector<double> ExtendedBidomainTissue< SPACE_DIM >::mGgapDistributed [private] |
The vector of gap junction conductances. Distributed
Definition at line 142 of file ExtendedBidomainTissue.hpp.
Referenced by ExtendedBidomainTissue< SPACE_DIM >::CreateGGapConductivities(), ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue(), ExtendedBidomainTissue< SPACE_DIM >::rGetGapsDistributed(), and ExtendedBidomainTissue< SPACE_DIM >::UpdateAdditionalCaches().
std::vector<boost::shared_ptr<AbstractChasteRegion<SPACE_DIM> > > ExtendedBidomainTissue< SPACE_DIM >::mGgapHeterogeneityRegions [private] |
vector of regions for Ggap heterogeneities
Definition at line 197 of file ExtendedBidomainTissue.hpp.
Referenced by ExtendedBidomainTissue< SPACE_DIM >::CreateGGapConductivities(), and ExtendedBidomainTissue< SPACE_DIM >::SetGgapHeterogeneities().
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().
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 127 of file ExtendedBidomainTissue.hpp.
Referenced by ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue(), ExtendedBidomainTissue< SPACE_DIM >::ReplicateAdditionalCaches(), ExtendedBidomainTissue< SPACE_DIM >::rGetIionicCacheReplicatedSecondCell(), and ExtendedBidomainTissue< SPACE_DIM >::UpdateAdditionalCaches().
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().
ReplicatableVector ExtendedBidomainTissue< SPACE_DIM >::mIntracellularStimulusCacheReplicatedSecondCell [private] |
Cache containing all the stimulus currents for each node for the second cell, replicated over all processes.
Definition at line 133 of file ExtendedBidomainTissue.hpp.
Referenced by ExtendedBidomainTissue< SPACE_DIM >::ExtendedBidomainTissue(), ExtendedBidomainTissue< SPACE_DIM >::ReplicateAdditionalCaches(), ExtendedBidomainTissue< SPACE_DIM >::rGetIntracellularStimulusCacheReplicatedSecondCell(), and ExtendedBidomainTissue< SPACE_DIM >::UpdateAdditionalCaches().
AbstractConductivityTensors<SPACE_DIM, SPACE_DIM>* ExtendedBidomainTissue< SPACE_DIM >::mpExtracellularConductivityTensors [private] |
Extracellular conductivity tensors.
Definition at line 109 of file ExtendedBidomainTissue.hpp.
Referenced by ExtendedBidomainTissue< SPACE_DIM >::CreateExtracellularConductivityTensors(), ExtendedBidomainTissue< SPACE_DIM >::rGetExtracellularConductivityTensor(), and ExtendedBidomainTissue< SPACE_DIM >::~ExtendedBidomainTissue().
AbstractConductivityTensors<SPACE_DIM, SPACE_DIM>* ExtendedBidomainTissue< SPACE_DIM >::mpIntracellularConductivityTensorsSecondCell [private] |
Intracellular conductivity tensors for the second cell.
Definition at line 99 of file ExtendedBidomainTissue.hpp.
Referenced by ExtendedBidomainTissue< SPACE_DIM >::CreateIntracellularConductivityTensorSecondCell(), ExtendedBidomainTissue< SPACE_DIM >::rGetIntracellularConductivityTensorSecondCell(), and ExtendedBidomainTissue< SPACE_DIM >::~ExtendedBidomainTissue().
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().