Chaste Release::3.1
AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <AbstractStimulusFactory.hpp>

Inheritance diagram for AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >:
Collaboration diagram for AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >:

List of all members.

Public Member Functions

virtual boost::shared_ptr
< AbstractStimulusFunction
CreateStimulusForNode (unsigned nodeIndex)
virtual unsigned GetNumberOfCells ()
virtual void SetCompatibleExtracellularStimulus ()
 AbstractStimulusFactory ()
virtual ~AbstractStimulusFactory ()
void SetMesh (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh)
AbstractTetrahedralMesh
< ELEMENT_DIM, SPACE_DIM > * 
GetMesh ()
std::vector
< AbstractChasteRegion
< SPACE_DIM > * > 
GetRegionsToBeGrounded ()

Protected Attributes

AbstractTetrahedralMesh
< ELEMENT_DIM, SPACE_DIM > * 
mpMesh
std::vector
< AbstractChasteRegion
< SPACE_DIM > * > 
mGroundedRegions

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
class AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >

Abstract class that specifies a stimulus factory. The core method is CreateStimulusForNode which creates a stimulus object at each node in the mesh. The default implementation (here) specifies a ZeroStimulus. child classes may override this method.

The other crucial method is SetCompatibleExtracellularStimulus which ensures that the stimulus specified obeys compatibility conditions. The implementation here is empty (compatible with ZeroStimulus which implicitly obeys compatibility conditions). child classes may over-ride the method.

Definition at line 60 of file AbstractStimulusFactory.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::AbstractStimulusFactory ( )

Default constructor.

Definition at line 56 of file AbstractStimulusFactory.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::~AbstractStimulusFactory ( ) [virtual]

Destructor

Definition at line 63 of file AbstractStimulusFactory.cpp.


Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
boost::shared_ptr< AbstractStimulusFunction > AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::CreateStimulusForNode ( unsigned  nodeIndex) [virtual]

Create a stimulus object for the given node. Default implementation here returns a zero stimulus.

May be overridden by child classes.

Parameters:
nodeIndexGlobal node index.

Reimplemented in ElectrodesStimulusFactory< DIM >, and ZeroNetChargeElectrodes< DIM >.

Definition at line 41 of file AbstractStimulusFactory.cpp.

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

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::GetMesh ( )
Returns:
the mesh used to create the stimuli.

Definition at line 80 of file AbstractStimulusFactory.cpp.

References EXCEPTION.

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

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::GetNumberOfCells ( ) [virtual]
Returns:
The number of cells

Definition at line 49 of file AbstractStimulusFactory.cpp.

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

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< AbstractChasteRegion< SPACE_DIM > * > AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::GetRegionsToBeGrounded ( )

Access to the variable mGroundedRegions which stores the regions to be grounded

Definition at line 96 of file AbstractStimulusFactory.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::SetCompatibleExtracellularStimulus ( ) [virtual]

Empty default implementation that is compatible with the default implementation of CreateStimulusForNode (i.e., empty implementation for zero stimulus).

If needed, over-ride this

Reimplemented in ElectrodesStimulusFactory< DIM >.

Definition at line 74 of file AbstractStimulusFactory.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::SetMesh ( AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *  pMesh)
Parameters:
pMeshthe mesh for which to create stimuli.

Definition at line 68 of file AbstractStimulusFactory.cpp.


Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
std::vector<AbstractChasteRegion<SPACE_DIM>* > AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::mGroundedRegions [protected]

Vector of regions of nodes to be grounded

Definition at line 70 of file AbstractStimulusFactory.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
AbstractTetrahedralMesh<ELEMENT_DIM,SPACE_DIM>* AbstractStimulusFactory< ELEMENT_DIM, SPACE_DIM >::mpMesh [protected]

The mesh, set by the problem class

Definition at line 67 of file AbstractStimulusFactory.hpp.


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