47 APESolver::APESolver() :
59 const Array<
OneD,
const Array<OneD, NekDouble> > &Fwd,
60 const Array<
OneD,
const Array<OneD, NekDouble> > &Bwd,
61 Array<
OneD, Array<OneD, NekDouble> > &flux)
70 for (
int i = 0; i < Fwd[0].num_elements(); ++i)
73 Fwd[0][i], Fwd[1][i], 0.0, 0.0,
74 Bwd[0][i], Bwd[1][i], 0.0, 0.0,
75 basefield[0][i], basefield[1][i], 0.0, 0.0,
76 flux[0][i], flux[1][i], uF, vF);
81 for (
int i = 0; i < Fwd[0].num_elements(); ++i)
84 Fwd[0][i], Fwd[1][i], Fwd[2][i], 0.0,
85 Bwd[0][i], Bwd[1][i], Bwd[2][i], 0.0,
86 basefield[0][i], basefield[1][i], basefield[2][i], 0.0,
87 flux[0][i], flux[1][i], flux[2][i], vF);
92 for (
int i = 0; i < Fwd[0].num_elements(); ++i)
95 Fwd[0][i], Fwd[1][i], Fwd[2][i], Fwd[3][i],
96 Bwd[0][i], Bwd[1][i], Bwd[2][i], Bwd[3][i],
97 basefield[0][i], basefield[1][i], basefield[2][i], basefield[3][i],
98 flux[0][i], flux[1][i], flux[2][i], flux[3][i]);
112 const Array<OneD, const Array<OneD, NekDouble> > normals =
m_vectors[
"N"]();
113 const Array<OneD, const Array<OneD, NekDouble> > basefield =
116 int nTracePts = normals[0].num_elements();
117 int nDim = normals.num_elements();
119 Array< OneD, Array< OneD, NekDouble > > rotBasefield(nDim+1);
120 for (
int i = 0; i < nDim + 1; i++)
122 rotBasefield[i] = Array<OneD, NekDouble>(nTracePts);
124 Array<OneD, Array<OneD, NekDouble> > baseVecLocs(1);
125 baseVecLocs[0] = Array<OneD, NekDouble>(nDim);
126 for (
int i = 0; i < nDim; ++i)
128 baseVecLocs[0][i] = 1+i;