36 #ifndef NEKTAR_SOLVERS_APESOLVER_EQUATIONSYSTEMS_APE_H
37 #define NEKTAR_SOLVERS_APESOLVER_EQUATIONSYSTEMS_APE_H
42 using namespace Nektar::SolverUtils;
83 virtual void v_InitObject();
86 virtual void v_DoInitialise();
88 void DoOdeRhs(
const Array<
OneD,
const Array<OneD, NekDouble> > &inarray,
89 Array<
OneD, Array<OneD, NekDouble> > &outarray,
92 void DoOdeProjection(
const Array<
OneD,
const Array<OneD, NekDouble> > &inarray,
93 Array<
OneD, Array<OneD, NekDouble> > &outarray,
96 virtual void v_GetFluxVector(
const int i,
97 Array<
OneD, Array<OneD, NekDouble> > &physfield,
98 Array<
OneD, Array<OneD, NekDouble> > &flux);
101 virtual void v_GetFluxVector(
const int i,
const int j,
102 Array<
OneD, Array<OneD, NekDouble> > &physfield,
103 Array<
OneD, Array<OneD, NekDouble> > &flux);
106 virtual void v_NumericalFlux(Array<
OneD, Array<OneD, NekDouble> > &physfield,
107 Array<
OneD, Array<OneD, NekDouble> > &numflux);
109 virtual void v_NumericalFlux(Array<
OneD, Array<OneD, NekDouble> > &physfield,
110 Array<
OneD, Array<OneD, NekDouble> > &numfluxX,
111 Array<
OneD, Array<OneD, NekDouble> > &numfluxY);
113 void AddSource(
const Array<
OneD, Array< OneD, NekDouble > > &inarray, Array<
OneD, Array< OneD, NekDouble > > &outarray);
115 const Array<OneD, const Array<OneD, NekDouble> > &GetNormals();
117 const Array<OneD, const Array<OneD, NekDouble> > &GetVecLocs();
119 const Array<OneD, const Array<OneD, NekDouble> > &GetBasefield();
127 void SetBoundaryConditions(Array<
OneD, Array<OneD, NekDouble> > &physarray,
NekDouble time);
129 void WallBC(
int bcRegion,
int cnt, Array<
OneD, Array<OneD, NekDouble> > &physarray);