48 using namespace LibUtilities;
51 PointsType PointsTypeDir2 = eGaussRadauMAlpha1Beta0;
55 unsigned int numPoints = 8;
56 unsigned int numEQ = 6;
58 const PointsKey PointsKeyDir1(numPoints, PointsTypeDir1);
59 const BasisKey basisKeyDir1(basisTypeDir1, numEQ, PointsKeyDir1);
60 const PointsKey PointsKeyDir2(numPoints - 1, PointsTypeDir2);
61 const BasisKey basisKeyDir2(basisTypeDir2, numEQ, PointsKeyDir2);
65 basisKeyDir1, basisKeyDir2);
72 basisKeyDir1, basisKeyDir2, PointsTypeEq);
77 Exp->GetCoords(c0, c1, c2);
83 ExpEq->GetCoords(ceq0, ceq1, ceq2);
88 double epsilon = 1.0e-8;
94 Exp->PhysInterpToGLL(c0, out, numEQ);
95 ExpEq->FwdTrans(ceq0, outeq);
96 for (
int i = 0; i < Exp->GetNcoeffs(); ++i)
98 BOOST_CHECK_CLOSE(out[i], outeq[sorted[i]], epsilon);
102 Exp->PhysInterpToGLL(c1, out, numEQ);
103 ExpEq->FwdTrans(ceq1, outeq);
104 for (
int i = 0; i < Exp->GetNcoeffs(); ++i)
106 BOOST_CHECK_CLOSE(out[i], outeq[sorted[i]], epsilon);
112 using namespace LibUtilities;
115 PointsType PointsTypeDir2 = eGaussRadauMAlpha1Beta0;
116 PointsType PointsTypeDir3 = eGaussRadauMAlpha2Beta0;
121 unsigned int numPoints = 10;
122 unsigned int numEQ = 8;
125 const PointsKey PointsKeyDir1(numPoints, PointsTypeDir1);
126 const PointsKey PointsKeyDir2(numPoints - 1, PointsTypeDir2);
127 const PointsKey PointsKeyDir3(numPoints - 1, PointsTypeDir3);
128 const BasisKey basisKeyDir2(basisTypeDir2, numEQ, PointsKeyDir2);
129 const BasisKey basisKeyDir1(basisTypeDir1, numEQ, PointsKeyDir1);
130 const BasisKey basisKeyDir3(basisTypeDir3, numEQ, PointsKeyDir3);
134 basisKeyDir1, basisKeyDir2, basisKeyDir3);
141 basisKeyDir1, basisKeyDir2, basisKeyDir3, PointsTypeEq);
147 Exp->GetCoords(c0, c1, c2);
153 ExpEq->GetCoords(ceq0, ceq1, ceq2);
157 double epsilon = 1.0e-8;
163 Exp->PhysInterpToGLL(c0, out, numEQ);
164 ExpEq->FwdTrans(ceq0, outeq);
165 for (
int i = 0; i < Exp->GetNcoeffs(); ++i)
167 BOOST_CHECK_CLOSE(out[i], outeq[sorted[i]], epsilon);
171 Exp->PhysInterpToGLL(c1, out, numEQ);
172 ExpEq->FwdTrans(ceq1, outeq);
173 for (
int i = 0; i < Exp->GetNcoeffs(); ++i)
175 BOOST_CHECK_CLOSE(out[i], outeq[sorted[i]], epsilon);
179 Exp->PhysInterpToGLL(c2, out, numEQ);
180 ExpEq->FwdTrans(ceq2, outeq);
181 for (
int i = 0; i < Exp->GetNcoeffs(); ++i)
183 BOOST_CHECK_CLOSE(out[i], outeq[sorted[i]], epsilon);
189 using namespace LibUtilities;
193 PointsType PointsTypeDir3 = eGaussRadauMAlpha1Beta0;
198 unsigned int numPoints = 5;
199 unsigned int numPt = 4;
202 const PointsKey PointsKeyDir1(numPoints, PointsTypeDir1);
203 const PointsKey PointsKeyDir2(numPoints, PointsTypeDir2);
204 const PointsKey PointsKeyDir3(numPoints - 1, PointsTypeDir3);
205 const BasisKey basisKeyDir1(basisTypeDir1, numPt, PointsKeyDir1);
206 const BasisKey basisKeyDir2(basisTypeDir2, numPt, PointsKeyDir2);
207 const BasisKey basisKeyDir3(basisTypeDir3, numPt, PointsKeyDir3);
211 basisKeyDir1, basisKeyDir2, basisKeyDir3);
218 basisKeyDir1, basisKeyDir2, basisKeyDir3,
PointsType);
224 Exp->GetCoords(c0, c1, c2);
230 ExpGll->GetCoords(cgll0, cgll1, cgll2);
234 double epsilon = 1.0e-8;
240 Exp->PhysInterpToGLL(c0, out, numPt);
241 ExpGll->FwdTrans(cgll0, outgll);
242 for (
int i = 0; i < Exp->GetNcoeffs(); ++i)
244 BOOST_CHECK_CLOSE(out[i], outgll[sorted[i]], epsilon);
248 Exp->PhysInterpToGLL(c1, out, numPt);
249 ExpGll->FwdTrans(cgll1, outgll);
250 for (
int i = 0; i < Exp->GetNcoeffs(); ++i)
252 BOOST_CHECK_CLOSE(out[i], outgll[sorted[i]], epsilon);
256 Exp->PhysInterpToGLL(c2, out, numPt);
257 ExpGll->FwdTrans(cgll2, outgll);
258 for (
int i = 0; i < Exp->GetNcoeffs(); ++i)
260 BOOST_CHECK_CLOSE(out[i], outgll[sorted[i]], epsilon);