#include <AbstractCardiacTissue.hpp>
Public Member Functions | |
AbstractCardiacTissue (AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM > *pCellFactory, bool exchangeHalos=false) | |
AbstractCardiacTissue (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh) | |
virtual | ~AbstractCardiacTissue () |
void | SetCacheReplication (bool doCacheReplication) |
bool | GetDoCacheReplication () |
const c_matrix< double, SPACE_DIM, SPACE_DIM > & | rGetIntracellularConductivityTensor (unsigned elementIndex) |
virtual const c_matrix< double, SPACE_DIM, SPACE_DIM > & | rGetExtracellularConductivityTensor (unsigned elementIndex) |
AbstractCardiacCell * | GetCardiacCell (unsigned globalIndex) |
AbstractCardiacCell * | GetCardiacCellOrHaloCell (unsigned globalIndex) |
virtual void | SolveCellSystems (Vec existingSolution, double time, double nextTime, bool updateVoltage=false) |
ReplicatableVector & | rGetIionicCacheReplicated () |
ReplicatableVector & | rGetIntracellularStimulusCacheReplicated () |
void | UpdateCaches (unsigned globalIndex, unsigned localIndex, double nextTime) |
void | ReplicateCaches () |
const std::vector < AbstractCardiacCell * > & | rGetCellsDistributed () const |
const AbstractTetrahedralMesh < ELEMENT_DIM, SPACE_DIM > * | pGetMesh () const |
void | SetConductivityModifier (AbstractConductivityModifier< ELEMENT_DIM, SPACE_DIM > *pModifier) |
template<class Archive> | |
void | SaveCardiacCells (Archive &archive, const unsigned int version) const |
template<class Archive> | |
void | LoadCardiacCells (Archive &archive, const unsigned int version) |
Protected Member Functions | |
void | CalculateHaloNodesFromNodeExchange () |
void | SetUpHaloCells (AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM > *pCellFactory) |
Protected Attributes | |
AbstractTetrahedralMesh < ELEMENT_DIM, SPACE_DIM > * | mpMesh |
AbstractConductivityTensors < ELEMENT_DIM, SPACE_DIM > * | mpIntracellularConductivityTensors |
std::vector < AbstractCardiacCell * > | mCellsDistributed |
ReplicatableVector | mIionicCacheReplicated |
ReplicatableVector | mIntracellularStimulusCacheReplicated |
HeartConfig * | mpConfig |
bool | mDoCacheReplication |
DistributedVectorFactory * | mpDistributedVectorFactory |
bool | mMeshUnarchived |
std::string | mFibreFilePathNoExtension |
AbstractConductivityModifier < ELEMENT_DIM, SPACE_DIM > * | mpConductivityModifier |
bool | mExchangeHalos |
std::vector< unsigned > | mHaloNodes |
std::vector < AbstractCardiacCell * > | mHaloCellsDistributed |
std::map< unsigned, unsigned > | mHaloGlobalToLocalIndexMap |
std::vector< std::vector < unsigned > > | mNodesToSendPerProcess |
std::vector< std::vector < unsigned > > | mNodesToReceivePerProcess |
Private Member Functions | |
template<class Archive> | |
void | save (Archive &archive, const unsigned int version) const |
template<class Archive> | |
void | load (Archive &archive, const unsigned int version) |
void | CreateIntracellularConductivityTensor () |
Friends | |
class | boost::serialization::access |
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 cells. | |
exchangeHalos | used in state-variable interpolation. Defaults to false. |
Definition at line 41 of file AbstractCardiacTissue.cpp.
References GenericEventHandler< 13, HeartEventHandler >::BeginEvent(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateCardiacCellForNode(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), GenericEventHandler< 13, HeartEventHandler >::EndEvent(), AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::FinaliseCellCreation(), 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 >::mIionicCacheReplicated, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIntracellularStimulusCacheReplicated, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, 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 122 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 137 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, and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpMesh.
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 84 of file AbstractCardiacTissue.hpp.
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::load | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Unarchive the member variables.
archive | ||
version |
Definition at line 157 of file AbstractCardiacTissue.hpp.
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor | ( | ) | [inline, private] |
Convenience method for intracellular conductivity tensor creation
Definition at line 165 of file AbstractCardiacTissue.cpp.
References RelativeTo::AbsoluteOrCwd, GenericEventHandler< 13, HeartEventHandler >::BeginEvent(), GenericEventHandler< 13, 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().
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 340 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 >::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 353 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 >::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 277 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mDoCacheReplication.
Referenced by BasicMonodomainSolver< ELEMENT_DIM, SPACE_DIM >::BasicMonodomainSolver(), MatrixBasedMonodomainSolver< ELEMENT_DIM, SPACE_DIM >::MatrixBasedMonodomainSolver(), and OperatorSplittingMonodomainSolver< ELEMENT_DIM, SPACE_DIM >::OperatorSplittingMonodomainSolver().
bool AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::GetDoCacheReplication | ( | ) | [inline] |
Get whether or not to replicate the caches across all processors.
Definition at line 283 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mDoCacheReplication.
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 289 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpConductivityModifier, and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpIntracellularConductivityTensors.
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 >, and BidomainTissue< DIM >.
Definition at line 303 of file AbstractCardiacTissue.cpp.
References EXCEPTION.
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 309 of file AbstractCardiacTissue.cpp.
References DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLow(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mCellsDistributed, and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory.
Referenced by CardiacSimulation::CreateAndRun().
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 317 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.
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 |
Definition at line 402 of file AbstractCardiacTissue.cpp.
References DistributedVector::Begin(), GenericEventHandler< 13, HeartEventHandler >::BeginEvent(), DistributedVectorFactory::CreateDistributedVector(), DistributedVector::End(), GenericEventHandler< 13, HeartEventHandler >::EndEvent(), DistributedVectorFactory::GetLow(), PetscTools::GetMyRank(), AbstractParameterisedSystem< VECTOR >::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(), AbstractOdeSystem::SetStateVariables(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::UpdateCaches().
ReplicatableVector & AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetIionicCacheReplicated | ( | ) | [inline] |
Get the entire ionic current cache
Definition at line 546 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIionicCacheReplicated.
ReplicatableVector & AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetIntracellularStimulusCacheReplicated | ( | ) | [inline] |
Get the entire stimulus current cache
Definition at line 552 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIntracellularStimulusCacheReplicated.
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 558 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mCellsDistributed, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIionicCacheReplicated, and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIntracellularStimulusCacheReplicated.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems().
void AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::ReplicateCaches | ( | ) | [inline] |
Replicate the Iionic and intracellular stimulus caches.
Definition at line 565 of file AbstractCardiacTissue.cpp.
References DistributedVectorFactory::GetHigh(), DistributedVectorFactory::GetLow(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIionicCacheReplicated, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIntracellularStimulusCacheReplicated, AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpDistributedVectorFactory, 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 572 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mCellsDistributed.
Referenced by AbstractCardiacTissue< SPACE_DIM >::SaveCardiacCells().
const AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::pGetMesh | ( | ) | const [inline] |
Returns a pointer to the mesh object
Definition at line 578 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpMesh.
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 584 of file AbstractCardiacTissue.cpp.
References AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpConductivityModifier.
Referenced by CardiacElectroMechanicsProblem< DIM >::Initialise().
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 454 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< SPACE_DIM >::save().
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 491 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< SPACE_DIM >::load().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented in BidomainTissue< SPACE_DIM >, MonodomainTissue< ELEMENT_DIM, SPACE_DIM >, BidomainTissue< DIM >, and MonodomainTissue< ELEMENT_DIM, ELEMENT_DIM >.
Definition at line 76 of file AbstractCardiacTissue.hpp.
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 215 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().
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 219 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().
std::vector< AbstractCardiacCell* > AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mCellsDistributed [protected] |
The vector of cells. Distributed.
Definition at line 222 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().
ReplicatableVector AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mIionicCacheReplicated [protected] |
Cache containing all the ionic currents for each node, replicated over all processes.
Definition at line 228 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 234 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().
HeartConfig* AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mpConfig [protected] |
Local pointer to the HeartConfig singleton instance, for convenience.
Definition at line 237 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor().
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 248 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().
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 258 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 >::load(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::ReplicateCaches(), AbstractCardiacTissue< SPACE_DIM >::save(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SolveCellSystems().
bool AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mMeshUnarchived [protected] |
Whether the mesh was unarchived or got from elsewhere.
Definition at line 263 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::~AbstractCardiacTissue().
std::string AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mFibreFilePathNoExtension [protected] |
Path to the location of the fibre file without extension.
Definition at line 268 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CreateIntracellularConductivityTensor(), and AbstractCardiacTissue< SPACE_DIM >::save().
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 275 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< SPACE_DIM >::load(), AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::rGetIntracellularConductivityTensor(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetConductivityModifier().
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 281 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::vector<unsigned> AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloNodes [protected] |
Vector of halo node indices for current process
Definition at line 284 of file AbstractCardiacTissue.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::CalculateHaloNodesFromNodeExchange(), AbstractCardiacTissue< SPACE_DIM >::load(), and AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::SetUpHaloCells().
std::vector< AbstractCardiacCell* > AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::mHaloCellsDistributed [protected] |
The vector of halo cells. Distributed.
Definition at line 287 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 290 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<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 297 of file AbstractCardiacTissue.hpp.
Referenced by 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 >::mNodesToReceivePerProcess [protected] |
A vector which will be of size GetNumProcs() for information to receive for process i.
Definition at line 303 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().