#include <AbstractPurkinjeCellFactory.hpp>
Inherits AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >.
Subclass for also creating cell models for Purkinje cells. The user has to implement the CreatePurkinjeCellForTissueNode() method.
The dimensions should be 2 or 3.
Definition at line 49 of file AbstractPurkinjeCellFactory.hpp.
void AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateJunction | ( | const Node< SPACE_DIM > * | pNode, | |
AbstractCardiacCellInterface * | pPurkinjeCell, | |||
AbstractCardiacCellInterface * | pCardiacCell, | |||
double | resistance | |||
) | [inline, protected] |
pNode | the node in the mesh at which this junction is located | |
pPurkinjeCell | the Purkinje cell | |
pCardiacCell | the ventricular cell | |
resistance | the junction resistance, in kilo-Ohms |
Definition at line 121 of file AbstractPurkinjeCellFactory.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetAttribute(), HeartConfig::GetPurkinjeSurfaceAreaToVolumeRatio(), AbstractCardiacCellInterface::GetStimulusFunction(), HeartConfig::Instance(), AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::mpMixedDimensionMesh, and AbstractCardiacCellInterface::SetStimulusFunction().
Referenced by AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateJunctionFromFile().
void AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateJunctionFromFile | ( | const Node< SPACE_DIM > * | pNode, | |
AbstractCardiacCellInterface * | pPurkinjeCell, | |||
AbstractCardiacCellInterface * | pCardiacCell | |||
) | [inline, protected] |
ReadJunctionsFile() must be called before calling this method
pNode | the node in the mesh at which this junction is located | |
pPurkinjeCell | the Purkinje cell | |
pCardiacCell | the ventricular cell |
Definition at line 215 of file AbstractPurkinjeCellFactory.cpp.
References AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateJunction(), Node< SPACE_DIM >::GetIndex(), and AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::mJunctionMap.
AbstractCardiacCellInterface * AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreatePurkinjeCellForNode | ( | Node< SPACE_DIM > * | pNode, | |
AbstractCardiacCellInterface * | pCardiacCell | |||
) | [inline] |
The default implementation checks whether the node is in a Purkinje node, in which case it calls CreatePurkinjeCellForTissueNode (which must be defined by subclasses), otherwise it returns a pointer to a (unique) fake cell
pNode | pointer to node | |
pCardiacCell | the cardiac cell that has already been created at this node |
Definition at line 188 of file AbstractPurkinjeCellFactory.cpp.
References AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreatePurkinjeCellForTissueNode(), Node< SPACE_DIM >::GetIndex(), AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::mLocalPurkinjeNodes, AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::mpSolver, and AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::mpZeroStimulus.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue().
virtual AbstractCardiacCellInterface* AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreatePurkinjeCellForTissueNode | ( | Node< SPACE_DIM > * | pNode, | |
AbstractCardiacCellInterface * | pCardiacCell | |||
) | [protected, pure virtual] |
pNode | pointer to node object | |
pCardiacCell | the cardiac cell that has already been created at this node |
Referenced by AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreatePurkinjeCellForNode().
virtual void AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::FinalisePurkinjeCellCreation | ( | std::vector< AbstractCardiacCellInterface * > * | pPurkinjeCellsDistributed, | |
unsigned | lo, | |||
unsigned | hi | |||
) | [inline, virtual] |
May be overridden by subclasses to perform any necessary work after all Purkinje cells have been created.
pPurkinjeCellsDistributed | Pointer to a vector of Purkinje cell pointers. | |
lo | Lowest index owned by this process. | |
hi | Highest index owned by this process. |
Definition at line 139 of file AbstractPurkinjeCellFactory.hpp.
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue().
MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM > * AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::GetMixedDimensionMesh | ( | ) | [inline] |
Definition at line 205 of file AbstractPurkinjeCellFactory.cpp.
References EXCEPTION, and AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::mpMixedDimensionMesh.
void AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::ReadJunctionsFile | ( | ) | [inline, private] |
Reads in node id and resistance values of junction nodes
The .pvj file path is specified by HeartConfig::Instance()->GetMeshFileName() + ".pvj"
Note, this is called by SetMesh
Definition at line 53 of file AbstractPurkinjeCellFactory.cpp.
References RelativeTo::AbsoluteOrCwd, EXCEPTION, FileFinder::Exists(), FileFinder::GetAbsolutePath(), HeartConfig::GetMeshName(), HeartConfig::Instance(), AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::mJunctionMap, and AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::mpMixedDimensionMesh.
Referenced by AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::SetMesh().
void AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::SetMesh | ( | AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh | ) | [inline, virtual] |
Overridden set mesh which must take a MixedDimensionMesh
pMesh | Pointer to the mesh. |
Reimplemented from AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >.
Definition at line 166 of file AbstractPurkinjeCellFactory.cpp.
References EXCEPTION, AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::mLocalPurkinjeNodes, AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::mpMixedDimensionMesh, and AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::ReadJunctionsFile().
std::map<unsigned, double> AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::mJunctionMap [protected] |
A map between junction node ids and resistances
Definition at line 69 of file AbstractPurkinjeCellFactory.hpp.
Referenced by AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateJunctionFromFile(), and AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::ReadJunctionsFile().
std::set<unsigned> AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::mLocalPurkinjeNodes [protected] |
A set of local purkinje node indices
Definition at line 66 of file AbstractPurkinjeCellFactory.hpp.
Referenced by AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreatePurkinjeCellForNode(), and AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::SetMesh().
MixedDimensionMesh<ELEMENT_DIM,SPACE_DIM>* AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::mpMixedDimensionMesh [protected] |
Saved pointer to the mixed dimension mesh
Definition at line 63 of file AbstractPurkinjeCellFactory.hpp.
Referenced by AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreateJunction(), AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::GetMixedDimensionMesh(), AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::ReadJunctionsFile(), and AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::SetMesh().