42 "UnsteadyInviscidBurger",
44 "Inviscid Burger equation");
48 : UnsteadySystem(pSession),
49 AdvectionSystem(pSession)
74 m_session->LoadSolverInfo(
"AdvectionType", advName,
"NonConservative");
85 m_session->LoadSolverInfo(
"AdvectionType", advName,
"WeakDG");
89 m_session->LoadSolverInfo(
"UpwindType", riemName,
"Upwind");
99 ASSERTL0(
false,
"Unsupported projection type.");
113 ASSERTL0(
false,
"Implicit unsteady Advection not set up.");
139 int nVariables =
m_fields.num_elements();
142 Array<OneD, NekDouble> Fwd (nTracePts);
143 Array<OneD, Array<OneD, NekDouble> > physfield (nVariables);
152 for(i = 0; i < nVariables; ++i)
154 physfield[i] = Array<OneD, NekDouble>(nSolutionPts);
160 m_fields[0]->ExtractTracePhys(physfield[0], Fwd);
184 const Array<
OneD,
const Array<OneD, NekDouble> >&inarray,
185 Array<
OneD, Array<OneD, NekDouble> >&outarray,
192 int nVariables = inarray.num_elements();
198 Array<OneD, Array<OneD, NekDouble> > advVel;
205 for (i = 0; i < nVariables; ++i)
219 const Array<
OneD,
const Array<OneD, NekDouble> >&inarray,
220 Array<
OneD, Array<OneD, NekDouble> >&outarray,
227 int nVariables = inarray.num_elements();
242 for(i = 0; i < nVariables; ++i)
244 Vmath::Vcopy(nQuadraturePts, inarray[i], 1, outarray[i], 1);
255 for(i = 0; i < nVariables; ++i)
257 m_fields[i]->FwdTrans(inarray[i], coeffs);
258 m_fields[i]->BwdTrans_IterPerExp(coeffs, outarray[i]);
263 ASSERTL0(
false,
"Unknown projection scheme");
276 const Array<
OneD, Array<OneD, NekDouble> > &physfield,
277 Array<
OneD, Array<
OneD, Array<OneD, NekDouble> > > &flux)
281 for (
int i = 0; i < flux.num_elements(); ++i)
283 for (
int j = 0; j < flux[0].num_elements(); ++j)
287 Vmath::Smul(nq, 0.5, flux[i][j], 1, flux[i][j], 1);