44 namespace LocalRegions
48 m_metricinfo(m_geom->GetGeomFactors())
57 int nDim =
m_base.num_elements();
58 string type =
"regular";
65 err << nDim <<
"D " << type <<
" Jacobian not positive "
66 <<
"(element ID = " <<
m_geom->GetGlobalID() <<
") "
67 <<
"(first vertex ID = " <<
m_geom->GetVid(0) <<
")";
74 m_metricinfo(pSrc.m_metricinfo)
128 Array<OneD, NekDouble> &outarray)
165 Array<OneD, NekDouble> &coords_0,
166 Array<OneD, NekDouble> &coords_1,
167 Array<OneD, NekDouble> &coords_2)
174 const int expDim =
m_base.num_elements();
178 Array<OneD, LibUtilities::BasisSharedPtr> CBasis(expDim);
179 Array<OneD, Array<OneD, NekDouble> > tmp(3);
181 for (
int i = 0; i < expDim; ++i)
183 CBasis[i] =
m_geom->GetBasis(i);
184 nqGeom *= CBasis[i]->GetNumPoints();
185 doCopy = doCopy &&
m_base[i]->GetBasisKey().SamePoints(
186 CBasis[i]->GetBasisKey());
195 for (
int i = 0; i <
m_geom->GetCoordim(); ++i)
197 m_geom->GetXmap()->BwdTrans(
m_geom->GetCoeffs(i), tmp[i]);
202 for (
int i = 0; i <
m_geom->GetCoordim(); ++i)
204 Array<OneD, NekDouble> tmpGeom(nqGeom);
205 m_geom->GetXmap()->BwdTrans(
m_geom->GetCoeffs(i), tmpGeom);
212 CBasis[0]->GetPointsKey(), &tmpGeom[0],
213 m_base[0]->GetPointsKey(), &tmp[i][0]);
219 CBasis[0]->GetPointsKey(),
220 CBasis[1]->GetPointsKey(),
222 m_base[0]->GetPointsKey(),
223 m_base[1]->GetPointsKey(),
230 CBasis[0]->GetPointsKey(),
231 CBasis[1]->GetPointsKey(),
232 CBasis[2]->GetPointsKey(),
234 m_base[0]->GetPointsKey(),
235 m_base[1]->GetPointsKey(),
236 m_base[2]->GetPointsKey(),