52 const std::map<std::string, std::string> &pParams)
55 if (pParams.find(
"OutputFile") == pParams.end())
61 ASSERTL0(!(pParams.find(
"OutputFile")->second.empty()),
62 "Missing parameter 'OutputFile'.");
71 if (pParams.find(
"OutputFrequency") == pParams.end())
78 atoi(pParams.find(
"OutputFrequency")->second.c_str());
81 ASSERTL0(pParams.find(
"Points") != pParams.end(),
82 "Missing parameter 'Points'.");
101 const Array<OneD, const MultiRegions::ExpListSharedPtr> &pFields,
105 "No history points in stream.");
108 Array<OneD, NekDouble> gloCoord(3,0.0);
124 gloCoord[1], gloCoord[2]);
131 if (vComm->GetRank() == 0)
137 for (i = 0; i < pFields.num_elements(); ++i)
162 const unsigned int nq = pFields[0]->GetNpoints();
169 Array<OneD, NekDouble> x(nq);
170 Array<OneD, NekDouble> y(nq);
171 Array<OneD, NekDouble> z(nq);
173 Array<OneD, NekDouble> oneOverR(nq);
174 for (
unsigned int i = 0; i <
npts; ++i)
177 m_grad_R_y[i] = Array<OneD, NekDouble>(nq);
178 m_grad_R_z[i] = Array<OneD, NekDouble>(nq);
183 pFields[0]->GetCoords(x,y,z);
188 Vmath::Vvtvvtp(nq, x, 1, x, 1, y, 1, y, 1, oneOverR, 1);
189 Vmath::Vvtvp (nq, z, 1, z, 1, oneOverR, 1, oneOverR, 1);
194 pFields[0]->PhysDeriv(oneOverR,
m_grad_R_x[i], m_grad_R_y[i],
207 const Array<OneD, const MultiRegions::ExpListSharedPtr> &pFields,
216 const unsigned int nq = pFields[0]->GetNpoints();
221 Array<OneD, NekDouble> e(npoints);
224 Array<OneD, NekDouble> grad_V_x(nq), grad_V_y(nq), grad_V_z(nq);
225 pFields[0]->PhysDeriv(pFields[0]->GetPhys(),
226 grad_V_x, grad_V_y, grad_V_z);
228 for (i = 0; i < npoints; ++i)
231 Array<OneD, NekDouble> output(nq);
233 grad_V_y, 1, output, 1);
237 e[i] = pFields[0]->Integral(output);
245 if (vComm->GetRank() == 0)
265 const Array<OneD, const MultiRegions::ExpListSharedPtr> &pFields,
268 if (pFields[0]->GetComm()->GetRank() == 0)