#include <AbstractCardiacTissue.hpp>
Inherits boost::noncopyable.
Inherited by MonodomainTissue< ELEMENT_DIM, SPACE_DIM > [virtual]
, and MonodomainTissue< ELEMENT_DIM, ELEMENT_DIM > [virtual]
.
Class containing "tissue-like" functionality used in monodomain and bidomain problems.
Contains the cardiac cells (ODE systems for each node of the mesh) and conductivity tensors (dependent on fibre directions).
Also contains knowledge of parallelisation in the form of the distributed vector factory. This class deals with created a distributed vector of cells, and getting the ionic current and stimuli from these cells and putting them in replicated arrays for the PDE solvers to call.
Definition at line 71 of file AbstractCardiacTissue.hpp.
AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue | ( | AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM > * | pCellFactory, | |
bool | exchangeHalos = false | |||
) | [inline] |
This constructor is called from the Initialise() method of the CardiacProblem class. It creates all the cell objects, and sets up the conductivities.
Note that pCellFactory contains a pointer to the mesh
pCellFactory | factory to use to create cardiac cells. If this is actually an AbstractPurkinjeCellFactory it creates purkinje cells. | |
exchangeHalos | used in state-variable interpolation. Defaults to false. |
Definition at line 42 of file AbstractCardiacTissue.cpp.
References GenericEventHandler< 16, HeartEventHandler >::BeginEvent(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateCardiacCellForNode(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreatePurkinjeCellForNode(), GenericEventHandler< 16, HeartEventHandler >::EndEvent(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::FinaliseCellCreation(), AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::FinalisePurkinjeCellCreation(), DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLocalOwnership(), DistributedVectorFactory::GetLow(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::GetMesh(), HeartConfig::GetMeshName(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::GetNumberOfCells(), HeartConfig::Instance(), PetscTools::IsSequential(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mCellsDistributed, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mExchangeHalos, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mFibreFilePathNoExtension, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHasPurkinje, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIionicCacheReplicated, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIntracellularStimulusCacheReplicated, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mPurkinjeCellsDistributed, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mPurkinjeIionicCacheReplicated, PetscTools::ReplicateException(), ReplicatableVector::Resize(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetUpHaloCells().
AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue | ( | AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh | ) | [inline] |
This constructor is called by the archiver only.
pMesh | a pointer to the AbstractTetrahedral mesh. |
Definition at line 152 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), ArchiveLocationInfo::GetArchiveDirectory(), ArchiveLocationInfo::GetMeshFilename(), DistributedVectorFactory::GetProblemSize(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mFibreFilePathNoExtension, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIionicCacheReplicated, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIntracellularStimulusCacheReplicated, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, and ReplicatableVector::Resize().
AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::~AbstractCardiacTissue | ( | ) | [inline, virtual] |
Virtual destructor
Definition at line 168 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mCellsDistributed, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloCellsDistributed, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mMeshUnarchived, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpIntracellularConductivityTensors, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpMesh, and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mPurkinjeCellsDistributed.
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CalculateHaloNodesFromNodeExchange | ( | ) | [inline, protected] |
If the mesh is a tetrahedral mesh then all elements and nodes are known. The halo nodes to the ones which are actually used as cardiac cells must be calculated explicitly.
Definition at line 393 of file AbstractCardiacTissue.cpp.
References PetscTools::GetNumProcs(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloNodes, and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mNodesToReceivePerProcess.
Referenced by AbstractCardiacTissue< SPACE_DIM >::load(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetUpHaloCells().
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor | ( | ) | [inline, private] |
Convenience method for intracellular conductivity tensor creation
Definition at line 211 of file AbstractCardiacTissue.cpp.
References RelativeTo::AbsoluteOrCwd, GenericEventHandler< 16, HeartEventHandler >::BeginEvent(), GenericEventHandler< 16, HeartEventHandler >::EndEvent(), FileFinder::Exists(), HeartConfig::GetConductivityHeterogeneities(), HeartConfig::GetConductivityHeterogeneitiesProvided(), HeartConfig::GetConductivityMedia(), HeartConfig::GetIntracellularConductivities(), HeartConfig::GetLoadMesh(), HeartConfig::Instance(), HeartConfig::IsMeshProvided(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mFibreFilePathNoExtension, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpConfig, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpIntracellularConductivityTensors, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpMesh, NEVER_REACHED, and PetscTools::ReplicateException().
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue().
AbstractCardiacCell * AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetCardiacCell | ( | unsigned | globalIndex | ) | [inline] |
Get a pointer to a cell, indexed by the global node index.
globalIndex | global node index for which to retrieve a cell |
Definition at line 355 of file AbstractCardiacTissue.cpp.
References DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLow(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mCellsDistributed, and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory.
Referenced by AdaptiveBidomainProblem::AddCurrentSolutionToAdaptiveMesh(), CardiacSimulation::CreateAndRun(), ExtendedBidomainProblem< DIM >::CreateInitialCondition(), and AdaptiveBidomainProblem::InitializeSolutionOnAdaptedMesh().
AbstractCardiacCell * AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetCardiacCellOrHaloCell | ( | unsigned | globalIndex | ) | [inline] |
Get a pointer to a halo cell, indexed by the global node index.
globalIndex | global node index for which to retrieve a cell |
Definition at line 372 of file AbstractCardiacTissue.cpp.
References EXCEPTION, DistributedVectorFactory::GetLow(), PetscTools::GetMyRank(), DistributedVectorFactory::IsGlobalIndexLocal(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mCellsDistributed, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloCellsDistributed, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloGlobalToLocalIndexMap, and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory.
bool AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetDoCacheReplication | ( | ) | [inline] |
Get whether or not to replicate the caches across all processors.
Definition at line 329 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mDoCacheReplication.
AbstractCardiacCell * AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetPurkinjeCell | ( | unsigned | globalIndex | ) | [inline] |
Get a pointer to a Purkinje cell, indexed by the global node index.
globalIndex | global node index for which to retrieve a cell |
Definition at line 363 of file AbstractCardiacTissue.cpp.
References EXCEPT_IF_NOT, DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLow(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHasPurkinje, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mPurkinjeCellsDistributed.
bool AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::HasPurkinje | ( | ) | [inline] |
Determine whether this tissue contains Purkinje fibres.
Definition at line 205 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHasPurkinje.
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::load | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Unarchive the member variables.
archive | ||
version |
Definition at line 162 of file AbstractCardiacTissue.hpp.
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::LoadCardiacCells | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline] |
Load our tissue from an archive.
Handles the checkpoint migration case, deleting loaded cells immediately if they are not local to this process.
Also loads halo cells if we're doing halo exchange, by using the non-local cells from the archive.
archive | the process-specific archive to load from | |
version | archive version |
Definition at line 542 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< SPACE_DIM >::load().
const AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::pGetMesh | ( | ) | const [inline] |
Returns a pointer to the mesh object
Definition at line 657 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpMesh.
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::ReplicateCaches | ( | ) | [inline] |
Replicate the Iionic and intracellular stimulus caches.
Definition at line 631 of file AbstractCardiacTissue.cpp.
References DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLow(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHasPurkinje, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIionicCacheReplicated, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIntracellularStimulusCacheReplicated, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, NEVER_REACHED, and ReplicatableVector::Replicate().
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems().
const std::vector< AbstractCardiacCell * > & AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetCellsDistributed | ( | ) | const [inline] |
Returns a reference to the vector of distributed cells. Needed for archiving.
Definition at line 644 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mCellsDistributed.
Referenced by AbstractCardiacTissue< SPACE_DIM >::SaveCardiacCells().
const c_matrix< double, SPACE_DIM, SPACE_DIM > & AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetExtracellularConductivityTensor | ( | unsigned | elementIndex | ) | [inline, virtual] |
Get the extracellular conductivity tensor for the given element (this throws an exception in this abstract class since monodomain don't have extracellular ones) it is overridden in the BidomainTissue.
elementIndex | index of the element of interest |
Reimplemented in BidomainTissue< SPACE_DIM >, ExtendedBidomainTissue< SPACE_DIM >, BidomainTissue< DIM >, and ExtendedBidomainTissue< DIM >.
Definition at line 349 of file AbstractCardiacTissue.cpp.
References EXCEPTION.
ReplicatableVector & AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetIionicCacheReplicated | ( | ) | [inline] |
Get the entire ionic current cache
Definition at line 599 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIionicCacheReplicated.
const c_matrix< double, SPACE_DIM, SPACE_DIM > & AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetIntracellularConductivityTensor | ( | unsigned | elementIndex | ) | [inline] |
Get the intracellular conductivity tensor for the given element
elementIndex | index of the element of interest |
Definition at line 335 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpConductivityModifier, and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpIntracellularConductivityTensors.
ReplicatableVector & AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetIntracellularStimulusCacheReplicated | ( | ) | [inline] |
Get the entire stimulus current cache
Definition at line 605 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIntracellularStimulusCacheReplicated.
const std::vector< AbstractCardiacCell * > & AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetPurkinjeCellsDistributed | ( | ) | const [inline] |
Returns a reference to the vector of distributed Purkinje cells. Needed for archiving.
Definition at line 650 of file AbstractCardiacTissue.cpp.
References EXCEPT_IF_NOT, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHasPurkinje, and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mPurkinjeCellsDistributed.
Referenced by AbstractCardiacTissue< SPACE_DIM >::SaveCardiacCells().
ReplicatableVector & AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetPurkinjeIionicCacheReplicated | ( | ) | [inline] |
Get the entire Purkinje ionic current cache
Definition at line 611 of file AbstractCardiacTissue.cpp.
References EXCEPT_IF_NOT, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHasPurkinje, and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mPurkinjeIionicCacheReplicated.
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::save | ( | Archive & | archive, | |
const unsigned int | version | |||
) | const [inline, private] |
Archive the member variables.
archive | ||
version |
Definition at line 86 of file AbstractCardiacTissue.hpp.
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SaveCardiacCells | ( | Archive & | archive, | |
const unsigned int | version | |||
) | const [inline] |
Save our tissue to an archive.
Writes:
archive | the process-specific archive to write cells to. | |
version |
Definition at line 501 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< SPACE_DIM >::save().
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetCacheReplication | ( | bool | doCacheReplication | ) | [inline] |
Set whether or not to replicate the caches across all processors.
See also mDoCacheReplication.
doCacheReplication | - true if the cache needs to be replicated |
Definition at line 323 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mDoCacheReplication.
Referenced by MonodomainSolver< ELEMENT_DIM, SPACE_DIM >::MonodomainSolver(), and OperatorSplittingMonodomainSolver< ELEMENT_DIM, SPACE_DIM >::OperatorSplittingMonodomainSolver().
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetConductivityModifier | ( | AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM > * | pModifier | ) | [inline] |
Set a modifier class which will be used to modifier a conductivity obtained from mpIntracellularConductivityTensors when rGetIntracellularConductivityTensor() is called. For example, it is required when conductivities become deformation-dependent.
pModifier | Pointer to the concrete modifier class |
Definition at line 663 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpConductivityModifier.
Referenced by CardiacElectroMechanicsProblem< DIM >::Initialise().
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetUpHaloCells | ( | AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM > * | pCellFactory | ) | [inline, protected] |
If mExchangeHalos is true, this method calls CalculateHaloNodesFromNodeExchange and sets up the halo cell data structures mHaloCellsDistributed and mHaloGlobalToLocalIndexMap.
pCellFactory | cell factory to use to create halo cells |
Definition at line 406 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CalculateHaloNodesFromNodeExchange(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateCardiacCellForNode(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mExchangeHalos, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloCellsDistributed, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloGlobalToLocalIndexMap, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloNodes, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mNodesToReceivePerProcess, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mNodesToSendPerProcess, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpMesh, and PetscTools::ReplicateException().
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue().
void AbstractCardiacTissue< ELEMENT_DIM, 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.
existingSolution | the current voltage solution vector | |
time | the current simulation time | |
nextTime | when to simulate the cells until | |
updateVoltage | whether to also solve for the voltage (generally false, true for operator splitting methods). Defaults to false |
Reimplemented in ExtendedBidomainTissue< SPACE_DIM >, and ExtendedBidomainTissue< DIM >.
Definition at line 455 of file AbstractCardiacTissue.cpp.
References DistributedVector::Begin(), GenericEventHandler< 16, HeartEventHandler >::BeginEvent(), DistributedVectorFactory::CreateDistributedVector(), DistributedVector::End(), GenericEventHandler< 16, HeartEventHandler >::EndEvent(), DistributedVectorFactory::GetLow(), PetscTools::GetMyRank(), AbstractUntemplatedParameterisedSystem::GetNumberOfStateVariables(), PetscTools::GetNumProcs(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mCellsDistributed, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mDoCacheReplication, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mExchangeHalos, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloCellsDistributed, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloGlobalToLocalIndexMap, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mNodesToReceivePerProcess, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mNodesToSendPerProcess, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::ReplicateCaches(), PetscTools::ReplicateException(), DistributedVector::Restore(), AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), AbstractParameterisedSystem< VECTOR >::SetStateVariables(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::UpdateCaches().
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::UpdateCaches | ( | unsigned | globalIndex, | |
unsigned | localIndex, | |||
double | nextTime | |||
) | [inline] |
Update the Iionic and intracellular stimulus caches.
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 618 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mCellsDistributed, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHasPurkinje, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIionicCacheReplicated, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIntracellularStimulusCacheReplicated, and NEVER_REACHED.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented in BidomainTissue< SPACE_DIM >, ExtendedBidomainTissue< SPACE_DIM >, MonodomainTissue< ELEMENT_DIM, SPACE_DIM >, BidomainTissue< DIM >, ExtendedBidomainTissue< DIM >, and MonodomainTissue< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 76 of file AbstractCardiacTissue.hpp.
std::vector< AbstractCardiacCell* > AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mCellsDistributed [protected] |
The vector of cells. Distributed.
Definition at line 235 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetCardiacCell(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetCardiacCellOrHaloCell(), AbstractCardiacTissue< SPACE_DIM >::LoadCardiacCells(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetCellsDistributed(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::UpdateCaches(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::~AbstractCardiacTissue().
bool AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mDoCacheReplication [protected] |
Whether we need to replicate the caches.
When doing matrix-based RHS assembly, we only actually need information from cells/nodes local to the processor, so replicating the caches is an unnecessary communication overhead.
Defaults to true.
Definition at line 295 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetDoCacheReplication(), AbstractCardiacTissue< SPACE_DIM >::load(), AbstractCardiacTissue< SPACE_DIM >::save(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetCacheReplication(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems().
bool AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mExchangeHalos [protected] |
Whether to exchange cell models across the halo boundaries. Used in state variable interpolation.
Definition at line 306 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractCardiacTissue< SPACE_DIM >::load(), AbstractCardiacTissue< SPACE_DIM >::save(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetUpHaloCells(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems().
std::string AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mFibreFilePathNoExtension [protected] |
Path to the location of the fibre file without extension.
Definition at line 274 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), and AbstractCardiacTissue< SPACE_DIM >::save().
std::vector< AbstractCardiacCell* > AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloCellsDistributed [protected] |
The vector of halo cells. Distributed.
Definition at line 312 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetCardiacCellOrHaloCell(), AbstractCardiacTissue< SPACE_DIM >::load(), AbstractCardiacTissue< SPACE_DIM >::LoadCardiacCells(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetUpHaloCells(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::~AbstractCardiacTissue().
std::map<unsigned, unsigned> AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloGlobalToLocalIndexMap [protected] |
Map of global to local indices for halo nodes.
Definition at line 315 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetCardiacCellOrHaloCell(), AbstractCardiacTissue< SPACE_DIM >::load(), AbstractCardiacTissue< SPACE_DIM >::LoadCardiacCells(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetUpHaloCells(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems().
std::vector<unsigned> AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloNodes [protected] |
Vector of halo node indices for current process
Definition at line 309 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CalculateHaloNodesFromNodeExchange(), AbstractCardiacTissue< SPACE_DIM >::load(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetUpHaloCells().
bool AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHasPurkinje [protected] |
Whether this tissue has any Purkinje cells.
Definition at line 284 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetPurkinjeCell(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::HasPurkinje(), AbstractCardiacTissue< SPACE_DIM >::load(), AbstractCardiacTissue< SPACE_DIM >::LoadCardiacCells(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::ReplicateCaches(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetPurkinjeCellsDistributed(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetPurkinjeIionicCacheReplicated(), AbstractCardiacTissue< SPACE_DIM >::save(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::UpdateCaches().
ReplicatableVector AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIionicCacheReplicated [protected] |
Cache containing all the ionic currents for each node, replicated over all processes.
Definition at line 244 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::ReplicateCaches(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetIionicCacheReplicated(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::UpdateCaches().
ReplicatableVector AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIntracellularStimulusCacheReplicated [protected] |
Cache containing all the stimulus currents for each node, replicated over all processes.
Definition at line 256 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::ReplicateCaches(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetIntracellularStimulusCacheReplicated(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::UpdateCaches().
bool AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mMeshUnarchived [protected] |
Whether the mesh was unarchived or got from elsewhere.
Definition at line 300 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::~AbstractCardiacTissue().
std::vector<std::vector<unsigned> > AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mNodesToReceivePerProcess [protected] |
A vector which will be of size GetNumProcs() for information to receive for process i.
Definition at line 328 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CalculateHaloNodesFromNodeExchange(), AbstractCardiacTissue< SPACE_DIM >::load(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetUpHaloCells(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems().
std::vector<std::vector<unsigned> > AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mNodesToSendPerProcess [protected] |
A vector which will be of size GetNumProcs() where each internal vector except i=GetMyRank() contains an ordered list of indices of nodes to send to process i during data exchange
Definition at line 322 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< SPACE_DIM >::load(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetUpHaloCells(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems().
AbstractConductivityModifier<ELEMENT_DIM,SPACE_DIM>* AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpConductivityModifier [protected] |
This class, if not NULL, will be used to modify the conductivity that is obtained from mpIntracellularConductivityTensors when rGetIntracellularConductivityTensor() is called. For example, it is required when conductivities become deformation dependent.
Definition at line 281 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< SPACE_DIM >::load(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetIntracellularConductivityTensor(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetConductivityModifier().
HeartConfig* AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpConfig [protected] |
Local pointer to the HeartConfig singleton instance, for convenience.
Definition at line 259 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor().
DistributedVectorFactory* AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory [protected] |
Local pointer to the distributed vector factory associated with the mesh object used.
Used to retrieve node ownership range when needed.
NB: This is set from mpMesh->GetDistributedVectorFactory() and thus always equal to that. We never assume ownership of the object.
Definition at line 269 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetCardiacCell(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetCardiacCellOrHaloCell(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetPurkinjeCell(), AbstractCardiacTissue< SPACE_DIM >::load(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::ReplicateCaches(), AbstractCardiacTissue< SPACE_DIM >::save(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems().
AbstractConductivityTensors<ELEMENT_DIM,SPACE_DIM>* AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpIntracellularConductivityTensors [protected] |
Intracellular conductivity tensors. Not archived, since it's loaded from the HeartConfig singleton.
Definition at line 232 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetIntracellularConductivityTensor(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::~AbstractCardiacTissue().
AbstractTetrahedralMesh<ELEMENT_DIM,SPACE_DIM>* AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpMesh [protected] |
It's handy to keep a pointer to the mesh object
Definition at line 228 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), AbstractCardiacTissue< SPACE_DIM >::load(), AbstractCardiacTissue< SPACE_DIM >::LoadCardiacCells(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::pGetMesh(), AbstractCardiacTissue< SPACE_DIM >::save(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetUpHaloCells(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::~AbstractCardiacTissue().
std::vector< AbstractCardiacCell* > AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mPurkinjeCellsDistributed [protected] |
The vector of the purkinje cells. Distributed. Empty unless a AbstractPurkinjeCellFactory is given to the constructor.
Definition at line 238 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetPurkinjeCell(), AbstractCardiacTissue< SPACE_DIM >::LoadCardiacCells(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetPurkinjeCellsDistributed(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::~AbstractCardiacTissue().
ReplicatableVector AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mPurkinjeIionicCacheReplicated [protected] |
Cache containing all the ionic currents for each purkinje node, replicated over all processes.
Definition at line 250 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractCardiacTissue< SPACE_DIM >::load(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetPurkinjeIionicCacheReplicated().