HeartConfigRelatedCellFactory< SPACE_DIM > Class Template Reference

#include <HeartConfigRelatedCellFactory.hpp>

Inherits AbstractCardiacCellFactory< SPACE_DIM >.

Collaboration diagram for HeartConfigRelatedCellFactory< SPACE_DIM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 HeartConfigRelatedCellFactory ()
 ~HeartConfigRelatedCellFactory ()
AbstractCardiacCellCreateCellWithIntracellularStimulus (boost::shared_ptr< AbstractStimulusFunction > intracellularStimulus, unsigned nodeIndex)
AbstractCardiacCellCreateCardiacCellForTissueNode (unsigned nodeIndex)
void FillInCellularTransmuralAreas ()
template<>
void FillInCellularTransmuralAreas ()

Private Member Functions

void PreconvertCellmlFiles ()
DynamicCellModelLoaderLoadDynamicModel (const cp::ionic_model_selection_type &rModel, bool isCollective)

Private Attributes

cp::ionic_model_selection_type mDefaultIonicModel
std::vector< ChasteCuboid
< SPACE_DIM > > 
mIonicModelRegions
std::vector
< cp::ionic_model_selection_type > 
mIonicModelsDefined
std::vector< ChasteCuboid
< SPACE_DIM > > 
mStimulatedAreas
std::vector< boost::shared_ptr
< SimpleStimulus > > 
mStimuliApplied
std::vector
< AbstractChasteRegion
< SPACE_DIM > * > 
mCellHeterogeneityAreas
std::vector< doublemScaleFactorGks
std::vector< doublemScaleFactorIto
std::vector< doublemScaleFactorGkr

Detailed Description

template<unsigned SPACE_DIM>
class HeartConfigRelatedCellFactory< 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.


Constructor & Destructor Documentation

template<unsigned SPACE_DIM>
HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory (  )  [inline]
template<unsigned SPACE_DIM>
HeartConfigRelatedCellFactory< SPACE_DIM >::~HeartConfigRelatedCellFactory (  )  [inline]

Member Function Documentation

template<unsigned SPACE_DIM>
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

Parameters:
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.

template<unsigned SPACE_DIM>
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

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

template<>
void HeartConfigRelatedCellFactory< 3u >::FillInCellularTransmuralAreas (  )  [inline, virtual]
template<unsigned SPACE_DIM>
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.

template<unsigned SPACE_DIM>
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.

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

template<unsigned SPACE_DIM>
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.

Note:
Must be called 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().


Member Data Documentation

template<unsigned SPACE_DIM>
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().

template<unsigned SPACE_DIM>
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().

template<unsigned SPACE_DIM>
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().

template<unsigned SPACE_DIM>
std::vector<cp::ionic_model_selection_type> HeartConfigRelatedCellFactory< SPACE_DIM >::mIonicModelsDefined [private]
template<unsigned SPACE_DIM>
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().

template<unsigned SPACE_DIM>
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().

template<unsigned SPACE_DIM>
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().

template<unsigned SPACE_DIM>
std::vector<ChasteCuboid<SPACE_DIM> > HeartConfigRelatedCellFactory< SPACE_DIM >::mStimulatedAreas [private]
template<unsigned SPACE_DIM>
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().


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

Generated by  doxygen 1.6.2