HeartConfigRelatedCellFactory< SPACE_DIM > Class Template Reference

#include <HeartConfigRelatedCellFactory.hpp>

Inheritance diagram for HeartConfigRelatedCellFactory< SPACE_DIM >:

Inheritance graph
[legend]
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 ()
void SetCellParameters (AbstractCardiacCell *pCell, unsigned nodeIndex)
void SetCellIntracellularStimulus (AbstractCardiacCell *pCell, unsigned nodeIndex)
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
< AbstractStimulusFunction > > 
mStimuliApplied
std::vector
< AbstractChasteRegion
< SPACE_DIM > * > 
mCellHeterogeneityAreas
std::vector< double > mScaleFactorGks
std::vector< double > mScaleFactorIto
std::vector< double > mScaleFactorGkr
std::vector< std::map
< std::string, double > > 
mParameterSettings


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 73 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>
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 80 of file HeartConfigRelatedCellFactory.cpp.

References HeartConfigRelatedCellFactory< SPACE_DIM >::LoadDynamicModel(), HeartConfigRelatedCellFactory< SPACE_DIM >::mDefaultIonicModel, and HeartConfigRelatedCellFactory< SPACE_DIM >::mIonicModelsDefined.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory().

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 96 of file HeartConfigRelatedCellFactory.cpp.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus(), and HeartConfigRelatedCellFactory< SPACE_DIM >::PreconvertCellmlFiles().

template<unsigned SPACE_DIM>
AbstractCardiacCell * HeartConfigRelatedCellFactory< SPACE_DIM >::CreateCellWithIntracellularStimulus ( boost::shared_ptr< AbstractStimulusFunction intracellularStimulus,
unsigned  nodeIndex 
) [inline]

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 303 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>
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 322 of file HeartConfigRelatedCellFactory.cpp.

References NEVER_REACHED.

template<unsigned SPACE_DIM>
void HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellParameters ( AbstractCardiacCell pCell,
unsigned  nodeIndex 
) [inline]

template<unsigned SPACE_DIM>
void HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellIntracellularStimulus ( AbstractCardiacCell pCell,
unsigned  nodeIndex 
) [inline]

Set the intracellular stimulus for a cell based on the definitions in HeartConfig.

Parameters:
pCell the cell to set stimulus of
nodeIndex the index of the node corresponding to this cell in the mesh

Definition at line 284 of file HeartConfigRelatedCellFactory.cpp.

References AbstractCardiacCellFactory< SPACE_DIM >::GetMesh(), HeartConfigRelatedCellFactory< SPACE_DIM >::mStimulatedAreas, HeartConfigRelatedCellFactory< SPACE_DIM >::mStimuliApplied, and AbstractCardiacCellInterface::SetIntracellularStimulusFunction().

Referenced by CardiacSimulation::CreateAndRun().

template<>
void HeartConfigRelatedCellFactory< 3u >::FillInCellularTransmuralAreas (  )  [inline, virtual]


Member Data Documentation

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 77 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 79 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<ChasteCuboid<SPACE_DIM> > HeartConfigRelatedCellFactory< SPACE_DIM >::mStimulatedAreas [private]

template<unsigned SPACE_DIM>
std::vector<boost::shared_ptr<AbstractStimulusFunction> > HeartConfigRelatedCellFactory< SPACE_DIM >::mStimuliApplied [private]

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 99 of file HeartConfigRelatedCellFactory.hpp.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::FillInCellularTransmuralAreas(), HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory(), HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellParameters(), 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 101 of file HeartConfigRelatedCellFactory.hpp.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory(), and HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellParameters().

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 103 of file HeartConfigRelatedCellFactory.hpp.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory(), and HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellParameters().

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 105 of file HeartConfigRelatedCellFactory.hpp.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory(), and HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellParameters().

template<unsigned SPACE_DIM>
std::vector<std::map<std::string, double> > HeartConfigRelatedCellFactory< SPACE_DIM >::mParameterSettings [private]

Named parameters to be set in each region (size of list matches that of mCellHeterogeneityAreas)

Definition at line 108 of file HeartConfigRelatedCellFactory.hpp.

Referenced by HeartConfigRelatedCellFactory< SPACE_DIM >::HeartConfigRelatedCellFactory(), and HeartConfigRelatedCellFactory< SPACE_DIM >::SetCellParameters().


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

Generated on Mon Nov 1 12:36:47 2010 for Chaste by  doxygen 1.5.5