#include <HeartConfigRelatedCellFactory.hpp>
Inherits AbstractCardiacCellFactory< SPACE_DIM >.
This is a cardiac cell factory which uses the settings from HeartConfig to set up the cells.
It thus supports such features as heterogeneities (in both the type of cell, and for some cells, cell model parameters), and the ability to dynamically convert CellML files into C++ code, compile this, and load the resulting model.
Definition at line 74 of file HeartConfigRelatedCellFactory.hpp.
HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory | ( | ) | [inline] |
Constructor reads settings from the configuration file.
Definition at line 37 of file HeartConfigRelatedCellFactory.cpp.
References HeartConfig::GetCellHeterogeneities(), HeartConfig::GetIonicModelRegions(), HeartConfig::GetStimuli(), HeartConfig::Instance(), HeartConfigRelatedCellFactory< SPACE_DIM >::mCellHeterogeneityAreas, HeartConfigRelatedCellFactory< SPACE_DIM >::mIonicModelRegions, HeartConfigRelatedCellFactory< SPACE_DIM >::mIonicModelsDefined, HeartConfigRelatedCellFactory< SPACE_DIM >::mScaleFactorGkr, HeartConfigRelatedCellFactory< SPACE_DIM >::mScaleFactorGks, HeartConfigRelatedCellFactory< SPACE_DIM >::mScaleFactorIto, HeartConfigRelatedCellFactory< SPACE_DIM >::mStimulatedAreas, HeartConfigRelatedCellFactory< SPACE_DIM >::mStimuliApplied, and HeartConfigRelatedCellFactory< SPACE_DIM >::PreconvertCellmlFiles().
HeartConfigRelatedCellFactory< SPACE_DIM >::~HeartConfigRelatedCellFactory | ( | ) | [inline] |
Destructor
Definition at line 101 of file HeartConfigRelatedCellFactory.cpp.
References HeartConfigRelatedCellFactory< SPACE_DIM >::mCellHeterogeneityAreas.
AbstractCardiacCell * HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCardiacCellForTissueNode | ( | unsigned | nodeIndex | ) | [inline, virtual] |
Create the correct stimulated tissue cell for a given region in the mesh The stimulus is determined in this method (using the list of stimulation regions). The cardiac cell type (and parameters) are determined in the CreateCellWithIntracellularStimulus method
nodeIndex | is the global index within the mesh |
Implements AbstractCardiacCellFactory< SPACE_DIM >.
Definition at line 259 of file HeartConfigRelatedCellFactory.cpp.
References HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), AbstractCardiacCellFactory< SPACE_DIM >::GetMesh(), HeartConfigRelatedCellFactory< SPACE_DIM >::mStimulatedAreas, and HeartConfigRelatedCellFactory< SPACE_DIM >::mStimuliApplied.
AbstractCardiacCell * HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus | ( | boost::shared_ptr< AbstractStimulusFunction > | intracellularStimulus, | |
unsigned | nodeIndex | |||
) | [inline] |
Create the correct tissue cell for a given region in the mesh
intracellularStimulus | is computed in CreateCardiacCellForTissueNode determined by the list of stimulation regions | |
nodeIndex | is the global index within the mesh |
Definition at line 110 of file HeartConfigRelatedCellFactory.cpp.
References DynamicCellModelLoader::CreateCell(), HeartConfig::GetCheckpointSimulation(), AbstractCardiacCellFactory< SPACE_DIM >::GetMesh(), HeartConfig::Instance(), HeartConfigRelatedCellFactory< SPACE_DIM >::LoadDynamicModel(), HeartConfigRelatedCellFactory< SPACE_DIM >::mCellHeterogeneityAreas, HeartConfigRelatedCellFactory< SPACE_DIM >::mDefaultIonicModel, HeartConfigRelatedCellFactory< SPACE_DIM >::mIonicModelRegions, HeartConfigRelatedCellFactory< SPACE_DIM >::mIonicModelsDefined, AbstractCardiacCellFactory< SPACE_DIM >::mpSolver, HeartConfigRelatedCellFactory< SPACE_DIM >::mScaleFactorGkr, HeartConfigRelatedCellFactory< SPACE_DIM >::mScaleFactorGks, HeartConfigRelatedCellFactory< SPACE_DIM >::mScaleFactorIto, FaberRudy2000Version3::SetScaleFactorGkr(), Maleckar2009OdeSystem::SetScaleFactorGkr(), TenTusscher2006OdeSystem::SetScaleFactorGkr(), FaberRudy2000Version3::SetScaleFactorGks(), Maleckar2009OdeSystem::SetScaleFactorGks(), TenTusscher2006OdeSystem::SetScaleFactorGks(), FaberRudy2000Version3::SetScaleFactorIto(), Maleckar2009OdeSystem::SetScaleFactorIto(), and TenTusscher2006OdeSystem::SetScaleFactorIto().
Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCardiacCellForTissueNode().
void HeartConfigRelatedCellFactory< 3u >::FillInCellularTransmuralAreas | ( | ) | [inline, virtual] |
Method that fills in the vector of heterogeneity areas with the NodesLists that correspond to a given layer (implemented in subclasses)
Reimplemented from AbstractCardiacCellFactory< SPACE_DIM >.
Definition at line 284 of file HeartConfigRelatedCellFactory.cpp.
References HeartGeometryInformation< SPACE_DIM >::DetermineLayerForEachNode(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetDistributedVectorFactory(), HeartConfig::GetEndoLayerFraction(), HeartConfig::GetEndoLayerIndex(), HeartConfig::GetEpiLayerFraction(), HeartConfig::GetEpiLayerIndex(), AbstractCardiacCellFactory< SPACE_DIM >::GetMesh(), HeartConfig::GetMeshName(), HeartConfig::GetMidLayerIndex(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), HeartConfig::Instance(), DistributedVectorFactory::IsGlobalIndexLocal(), HeartConfigRelatedCellFactory< SPACE_DIM >::mCellHeterogeneityAreas, and HeartGeometryInformation< SPACE_DIM >::rGetLayerForEachNode().
void HeartConfigRelatedCellFactory< SPACE_DIM >::FillInCellularTransmuralAreas | ( | ) | [inline, virtual] |
Helper method to calculate and fill in the heterogeneities areas (mCellHeterogeneityAreas)
Reimplemented from AbstractCardiacCellFactory< SPACE_DIM >.
Definition at line 278 of file HeartConfigRelatedCellFactory.cpp.
DynamicCellModelLoader * HeartConfigRelatedCellFactory< SPACE_DIM >::LoadDynamicModel | ( | const cp::ionic_model_selection_type & | rModel, | |
bool | isCollective | |||
) | [inline, private] |
Get a loader for the given (dynamically loadable) cell model.
rModel | model to load | |
isCollective | whether we are being called collectively |
Definition at line 90 of file HeartConfigRelatedCellFactory.cpp.
Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), and HeartConfigRelatedCellFactory< SPACE_DIM >::PreconvertCellmlFiles().
void HeartConfigRelatedCellFactory< SPACE_DIM >::PreconvertCellmlFiles | ( | ) | [inline, private] |
Called by the constructor to convert any CellML files used as dynamically loaded cell models to shared libraries. This is necessary since the conversion process must be done collectively.
Definition at line 74 of file HeartConfigRelatedCellFactory.cpp.
References HeartConfigRelatedCellFactory< SPACE_DIM >::LoadDynamicModel(), HeartConfigRelatedCellFactory< SPACE_DIM >::mDefaultIonicModel, and HeartConfigRelatedCellFactory< SPACE_DIM >::mIonicModelsDefined.
Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory().
std::vector<AbstractChasteRegion<SPACE_DIM>* > HeartConfigRelatedCellFactory< SPACE_DIM >::mCellHeterogeneityAreas [private] |
List of regions which represent areas in which to give parametric heterogeneity (scaling gating parameters) This vector will be filled in by the HeartConfig::GetCellHeterogeneity method if the user requested to specify the heterogeneity areas by cuboids, or, alternatively, by the FillInCellularTransmuralAreas method in the cell factory called by the problem class AFTER setting the mesh (which is needed for the calculations of the distance maps for the calculations of heterogeneities).
When creating a cardiac cell for each node (CreateCardiacCellForTissueNode) the code will check whether that node is contained in the heterogeneity area or not.
Definition at line 100 of file HeartConfigRelatedCellFactory.hpp.
Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), HeartConfigRelatedCellFactory< SPACE_DIM >::FillInCellularTransmuralAreas(), HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory(), and HeartConfigRelatedCellFactory< SPACE_DIM >::~HeartConfigRelatedCellFactory().
cp::ionic_model_selection_type HeartConfigRelatedCellFactory< SPACE_DIM >::mDefaultIonicModel [private] |
Default cardiac cell model to be used in all tissue (except heterogeneous regions)
Definition at line 78 of file HeartConfigRelatedCellFactory.hpp.
Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), and HeartConfigRelatedCellFactory< SPACE_DIM >::PreconvertCellmlFiles().
std::vector<ChasteCuboid<SPACE_DIM> > HeartConfigRelatedCellFactory< SPACE_DIM >::mIonicModelRegions [private] |
List of axis-aligned box regions which contain heterogeneous cardiac ionic model types
Definition at line 80 of file HeartConfigRelatedCellFactory.hpp.
Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), and HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory().
std::vector<cp::ionic_model_selection_type> HeartConfigRelatedCellFactory< SPACE_DIM >::mIonicModelsDefined [private] |
List of ionic model (size matches that of mIonicModelRegions)
Definition at line 82 of file HeartConfigRelatedCellFactory.hpp.
Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory(), and HeartConfigRelatedCellFactory< SPACE_DIM >::PreconvertCellmlFiles().
std::vector<double> HeartConfigRelatedCellFactory< SPACE_DIM >::mScaleFactorGkr [private] |
List of scale factors for Gkr scaling in each region (size of list matches that of mCellHeterogeneityAreas)
Definition at line 106 of file HeartConfigRelatedCellFactory.hpp.
Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), and HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory().
std::vector<double> HeartConfigRelatedCellFactory< SPACE_DIM >::mScaleFactorGks [private] |
List of scale factors for Gks scaling in each region (size of list matches that of mCellHeterogeneityAreas)
Definition at line 102 of file HeartConfigRelatedCellFactory.hpp.
Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), and HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory().
std::vector<double> HeartConfigRelatedCellFactory< SPACE_DIM >::mScaleFactorIto [private] |
List of scale factors for Ito scaling in each region (size of list matches that of mCellHeterogeneityAreas)
Definition at line 104 of file HeartConfigRelatedCellFactory.hpp.
Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), and HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory().
std::vector<ChasteCuboid<SPACE_DIM> > HeartConfigRelatedCellFactory< SPACE_DIM >::mStimulatedAreas [private] |
List of axis-aligned box regions which represent areas to stimulate
Definition at line 85 of file HeartConfigRelatedCellFactory.hpp.
Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCardiacCellForTissueNode(), and HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory().
std::vector<boost::shared_ptr<SimpleStimulus> > HeartConfigRelatedCellFactory< SPACE_DIM >::mStimuliApplied [private] |
List of intracellular current stimuli to apply (size matches that of mStimulatedAreas)
Definition at line 87 of file HeartConfigRelatedCellFactory.hpp.
Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCardiacCellForTissueNode(), and HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory().