43 RegisterCreatorFunction(
"NonConservative",
60 Array<OneD, MultiRegions::ExpListSharedPtr> pFields)
66 const int nConvectiveFields,
67 const Array<OneD, MultiRegions::ExpListSharedPtr> &fields,
68 const Array<
OneD, Array<OneD, NekDouble> > &advVel,
69 const Array<
OneD, Array<OneD, NekDouble> > &inarray,
70 Array<
OneD, Array<OneD, NekDouble> > &outarray,
73 int nDim = advVel.num_elements();
74 int nPointsTot = fields[0]->GetNpoints();
75 Array<OneD, NekDouble> grad0,grad1,grad2;
77 grad0 = Array<OneD, NekDouble> (nPointsTot);
81 grad1 = Array<OneD,NekDouble>(nPointsTot);
86 grad2 = Array<OneD,NekDouble>(nPointsTot);
90 for (
int i = 0; i < nConvectiveFields; ++i)
96 fields[0]->PhysDeriv(inarray[i], grad0);
104 fields[0]->PhysDeriv(inarray[i], grad0, grad1);
121 fields[0]->PhysDeriv(inarray[i], grad0, grad1, grad2);
142 ASSERTL0(
false,
"dimension unknown");