47 "Rectangular stimulus.");
65 const TiXmlElement* pXml)
70 m_nq = pField->GetTotPoints();
80 const TiXmlElement *pXmlparameter;
82 pXmlparameter = pXml->FirstChildElement(
"p_x1");
83 m_px1 = atof(pXmlparameter->GetText());
85 pXmlparameter = pXml->FirstChildElement(
"p_y1");
86 m_py1 = atof(pXmlparameter->GetText());
88 pXmlparameter = pXml->FirstChildElement(
"p_z1");
89 m_pz1 = atof(pXmlparameter->GetText());
91 pXmlparameter = pXml->FirstChildElement(
"p_x2");
92 m_px2 = atof(pXmlparameter->GetText());
94 pXmlparameter = pXml->FirstChildElement(
"p_y2");
95 m_py2 = atof(pXmlparameter->GetText());
97 pXmlparameter = pXml->FirstChildElement(
"p_z2");
98 m_pz2 = atof(pXmlparameter->GetText());
100 pXmlparameter = pXml->FirstChildElement(
"p_is");
101 m_pis = atof(pXmlparameter->GetText());
103 pXmlparameter = pXml->FirstChildElement(
"p_strength");
122 if (
m_field->GetNumElmts() == 0)
128 int dim =
m_field->GetCoordim(0);
131 int nq =
m_field->GetNpoints();
144 for(
int j=0; j<nq; j++)
146 outarray[0][j] += v_amp * ( ( tanh(
m_pis*(x0[j] -
m_px1))
152 for(
int j=0; j<nq; j++)
154 outarray[0][j] += v_amp * ( ( (tanh(
m_pis*(x0[j] -
m_px1))
162 for(
int j=0; j<nq; j++)
164 outarray[0][j] += v_amp * ( ( (tanh(
m_pis*(x0[j] -
m_px1))
virtual void v_Update(Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time)
std::vector< std::pair< std::string, std::string > > SummaryList
ProtocolSharedPtr m_Protocol
Stimulus protocol to apply.
void Initialise()
Initialise the stimulus storage and set initial conditions.
LibUtilities::SessionReaderSharedPtr m_session
Session.
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
int m_nq
Number of physical points.
StimulusRect(const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField, const TiXmlElement *pXml)
boost::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
MultiRegions::ExpListSharedPtr m_field
Transmembrane potential field from PDE system.
StimulusFactory & GetStimulusFactory()
static StimulusSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const MultiRegions::ExpListSharedPtr &pField, const TiXmlElement *pXml)
Creates an instance of this class.
static std::string className
Name of class.
virtual void v_GenerateSummary(SolverUtils::SummaryList &s)
NekDouble m_chiCapMembrane
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.