36#ifndef NEKTAR_SOLVERS_CARDIACEPSOLVER_STIMULI_STIMULUS
37#define NEKTAR_SOLVERS_CARDIACEPSOLVER_STIMULI_STIMULUS
103 const TiXmlElement *pXml);
Provides a generic Factory class.
virtual void v_Update(Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time)=0
Stimulus(const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField, const TiXmlElement *pXml)
void Initialise()
Initialise the stimulus storage and set initial conditions.
static std::vector< StimulusSharedPtr > LoadStimuli(const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField)
MultiRegions::ExpListSharedPtr m_field
Transmembrane potential field from PDE system.
void GenerateSummary(SolverUtils::SummaryList &s)
Print a summary of the outarray.
ProtocolSharedPtr m_Protocol
Stimulus protocol to apply.
int m_nq
Number of physical points.
LibUtilities::SessionReaderSharedPtr m_session
Session.
virtual void v_GenerateSummary(SolverUtils::SummaryList &s)=0
void Update(Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time)
Updates RHS of outarray by adding a stimulus to it.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
std::vector< std::pair< std::string, std::string > > SummaryList
std::shared_ptr< Stimulus > StimulusSharedPtr
A shared pointer to an EquationSystem object.
StimulusFactory & GetStimulusFactory()
std::shared_ptr< Protocol > ProtocolSharedPtr
A shared pointer to an EquationSystem object.
LibUtilities::NekFactory< std::string, Stimulus, const LibUtilities::SessionReaderSharedPtr &, const MultiRegions::ExpListSharedPtr &, const TiXmlElement * > StimulusFactory
Datatype of the NekFactory used to instantiate classes derived from the EquationSystem class.