66 const TiXmlElement *pXml)
70 m_nq = pField->GetTotPoints();
72 const TiXmlElement *vProtocol = pXml->FirstChildElement(
"PROTOCOL");
73 string vTypeP = vProtocol->Attribute(
"TYPE");
93 vector<StimulusSharedPtr> vStimList;
95 TiXmlElement *vStimuli = pSession->GetElement(
"Nektar/Stimuli");
98 TiXmlElement *vStimulus = vStimuli->FirstChildElement(
"STIMULUS");
101 string vType = vStimulus->Attribute(
"TYPE");
104 vType, pSession, pField, vStimulus));
105 vStimulus = vStimulus->NextSiblingElement(
"STIMULUS");
Provides a generic Factory class.
tBaseSharedPtr CreateInstance(tKey idKey, tParam... args)
Create an instance of the class referred to by idKey.
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.
ProtocolSharedPtr m_Protocol
Stimulus protocol to apply.
int m_nq
Number of physical points.
LibUtilities::SessionReaderSharedPtr m_session
Session.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
ProtocolFactory & GetProtocolFactory()
StimulusFactory & GetStimulusFactory()