Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
|
#include <AbstractPurkinjeCellFactory.hpp>
Protected Member Functions | |
virtual AbstractCardiacCellInterface * | CreatePurkinjeCellForTissueNode (Node< SPACE_DIM > *pNode, AbstractCardiacCellInterface *pCardiacCell)=0 |
void | CreateJunction (const Node< SPACE_DIM > *pNode, AbstractCardiacCellInterface *pPurkinjeCell, AbstractCardiacCellInterface *pCardiacCell, double resistance) |
void | CreateJunctionFromFile (const Node< SPACE_DIM > *pNode, AbstractCardiacCellInterface *pPurkinjeCell, AbstractCardiacCellInterface *pCardiacCell) |
Protected Attributes | |
MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM > * | mpMixedDimensionMesh |
std::set< unsigned > | mLocalPurkinjeNodes |
std::map< unsigned, double > | mJunctionMap |
Protected Attributes inherited from AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM > | |
boost::shared_ptr< ZeroStimulus > | mpZeroStimulus |
boost::shared_ptr< AbstractIvpOdeSolver > | mpSolver |
Private Member Functions | |
void | ReadJunctionsFile () |
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.
AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::AbstractPurkinjeCellFactory | ( | ) |
Definition at line 44 of file AbstractPurkinjeCellFactory.cpp.
|
protected |
Create purkinje-ventricular junction between the two cells provided.
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 119 of file AbstractPurkinjeCellFactory.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetAttribute(), HeartConfig::GetPurkinjeSurfaceAreaToVolumeRatio(), AbstractCardiacCellInterface::GetStimulusFunction(), HeartConfig::Instance(), and AbstractCardiacCellInterface::SetStimulusFunction().
|
protected |
Create purkinje-ventricular junction between the two cells provided if the junction is defined in the corresponding .pvj file.
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 210 of file AbstractPurkinjeCellFactory.cpp.
References Node< SPACE_DIM >::GetIndex().
AbstractCardiacCellInterface * AbstractPurkinjeCellFactory< ELEMENT_DIM, SPACE_DIM >::CreatePurkinjeCellForNode | ( | Node< SPACE_DIM > * | pNode, |
AbstractCardiacCellInterface * | pCardiacCell | ||
) |
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 184 of file AbstractPurkinjeCellFactory.cpp.
References Node< SPACE_DIM >::GetIndex().
Referenced by AbstractCardiacTissue< ELEMENT_DIM, SPACE_DIM >::AbstractCardiacTissue().
|
protectedpure virtual |
pNode | pointer to node object |
pCardiacCell | the cardiac cell that has already been created at this node |
|
inlinevirtual |
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 | ( | ) |
Definition at line 200 of file AbstractPurkinjeCellFactory.cpp.
References EXCEPTION.
|
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 51 of file AbstractPurkinjeCellFactory.cpp.
References RelativeTo::AbsoluteOrCwd, EXCEPTION, FileFinder::Exists(), FileFinder::GetAbsolutePath(), HeartConfig::GetMeshName(), and HeartConfig::Instance().
|
virtual |
Overridden set mesh which must take a MixedDimensionMesh
pMesh | Pointer to the mesh. |
Reimplemented from AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >.
Definition at line 163 of file AbstractPurkinjeCellFactory.cpp.
References EXCEPTION, and AbstractCardiacCellFactory< ELEMENT_DIM, SPACE_DIM >::SetMesh().
|
protected |
A map between junction node ids and resistances
Definition at line 69 of file AbstractPurkinjeCellFactory.hpp.
|
protected |
A set of local purkinje node indices
Definition at line 66 of file AbstractPurkinjeCellFactory.hpp.
|
protected |
Saved pointer to the mixed dimension mesh
Definition at line 63 of file AbstractPurkinjeCellFactory.hpp.