47 Loki::NoDestroy > Type;
48 return Type::Instance();
67 const TiXmlElement* pXml)
71 m_nq = pField->GetTotPoints();
73 const TiXmlElement* vProtocol = pXml->FirstChildElement(
"PROTOCOL");
74 string vTypeP = vProtocol->Attribute(
"TYPE");
77 vTypeP, pSession, vProtocol);
97 vector<StimulusSharedPtr> vStimList;
99 TiXmlElement* vStimuli = pSession->GetElement(
"Nektar/Stimuli");
102 TiXmlElement* vStimulus = vStimuli->FirstChildElement(
"STIMULUS");
105 string vType = vStimulus->Attribute(
"TYPE");
108 vType, pSession, pField, vStimulus));
109 vStimulus = vStimulus->NextSiblingElement(
"STIMULUS");
tBaseSharedPtr CreateInstance(tKey idKey BOOST_PP_COMMA_IF(MAX_PARAM) BOOST_PP_ENUM_BINARY_PARAMS(MAX_PARAM, tParam, x))
Create an instance of the class referred to by idKey.
ProtocolSharedPtr m_Protocol
Stimulus protocol to apply.
ProtocolFactory & GetProtocolFactory()
LibUtilities::SessionReaderSharedPtr m_session
Session.
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
int m_nq
Number of physical points.
static std::vector< StimulusSharedPtr > LoadStimuli(const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField)
boost::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList 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...
Stimulus(const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField, const TiXmlElement *pXml)
void Initialise()
Initialise the stimulus storage and set initial conditions.
MultiRegions::ExpListSharedPtr m_field
Transmembrane potential field from PDE system.
StimulusFactory & GetStimulusFactory()
Provides a generic Factory class.