44 namespace LibUtilities
64 for(
unsigned int i=0; i < numPoints-2; ++i)
89 for(
unsigned int j=0; j < 4; ++j)
107 for(
unsigned int j=0; j < 6; ++j)
125 for(
unsigned int j=0; j < 12; ++j)
143 for(
unsigned int j=0; j < 12; ++j)
161 for(
unsigned int j=0; j < 12; ++j)
178 for(
unsigned int j=0; j < 24; ++j)
226 std::shared_ptr<NekMatrix<NekDouble> > mat =
227 m_util->GetInterpolationMatrix(xi);
228 Vmath::Vcopy(mat->GetRows() * mat->GetColumns(), mat->GetRawPtr(),
245 returnval->Initialize();
254 const int nVerts = 4;
259 if(nEdgeInteriorPoints==0)
266 for(
int i = cnt = istart; i < nAllPoints; i++)
279 iend = istart + nEdgeInteriorPoints;
280 for(
int i = istart; i < iend; i++)
282 for(
int j = istart+1; j < iend; j++)
295 for(
int i = cnt = istart; i < nAllPoints; i++)
308 iend = istart + nEdgeInteriorPoints;
309 for(
int i = istart; i < iend; i++)
311 for(
int j = istart+1; j < iend; j++)
324 for(
int i = cnt = istart; i < nAllPoints; i++)
337 iend = istart + nEdgeInteriorPoints;
338 for(
int i = istart; i < iend; i++)
340 for(
int j = istart+1; j < iend; j++)
353 for(
int i = cnt = istart; i < nAllPoints; i++)
366 iend = istart + nEdgeInteriorPoints;
367 for(
int i = istart; i < iend; i++)
369 for(
int j = istart+1; j < iend; j++)
382 for(
int i = cnt = istart; i < nAllPoints; i++)
395 iend = istart + nEdgeInteriorPoints;
396 for(
int i = istart; i < iend; i++)
398 for(
int j = istart+1; j < iend; j++)
411 for(
int i = cnt = istart; i < nAllPoints; i++)
424 iend = istart + nEdgeInteriorPoints;
425 for(
int i = istart; i < iend; i++)
427 for(
int j = istart+1; j < iend; j++)
446 for(
int i = cnt = istart; i < nAllPoints; i++)
458 iend = istart + nFaceInteriorPoints;
463 for(
int i = istart; i < iend - 1; i++)
482 for(
int i = offset+istart; i < offset+istart + npl - 1; i++)
499 for(
int i = cnt = istart; i < nAllPoints; i++)
511 iend = istart + nFaceInteriorPoints;
516 for(
int i = istart; i < iend - 1; i++)
535 for(
int i = offset+istart; i < offset+istart + npl - 1; i++)
552 for(
int i = cnt = istart; i < nAllPoints; i++)
564 iend = istart + nFaceInteriorPoints;
569 for(
int i = istart; i < iend - 1; i++)
588 for(
int i = offset+istart; i < offset+istart + npl - 1; i++)
605 for(
int i = cnt = istart; i < nAllPoints; i++)
617 iend = istart + nFaceInteriorPoints;
622 for(
int i = istart; i < iend - 1; i++)
641 for(
int i = offset+istart; i < offset+istart + npl - 1; i++)
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode....
bool RegisterCreator(const KeyType &key, const CreateFuncType &createFunc)
Register the given function and associate it with the key. The return value is just to facilitate cal...
static std::shared_ptr< PointsBaseType > Create(const PointsKey &key)
static bool initPointsManager[]
void CalculateInterpMatrix(const Array< OneD, const NekDouble > &xia, const Array< OneD, const NekDouble > &yia, const Array< OneD, const NekDouble > &zia, Array< OneD, NekDouble > &interp)
void NodalPointReorder3d()
void CalculateDerivMatrix()
std::shared_ptr< NodalUtilTetrahedron > m_util
Array< OneD, DataType > m_points[3]
Storage for the point locations, allowing for up to a 3D points storage.
MatrixSharedPtrType m_derivmatrix[3]
Derivative matrices.
virtual void CalculateWeights()
virtual void CalculateDerivMatrix()
PointsKey m_pointsKey
Points type for this points distributions.
unsigned int GetNumPoints() const
virtual void CalculatePoints()
Array< OneD, DataType > m_weights
Quadrature weights for the weights.
Defines a specification for a set of points.
unsigned int GetTotNumPoints() const
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
Array< OneD, DataType > & GetPtr()
unsigned int GetRows() const
static const unsigned int perm6_3d[6][4]
static const unsigned int perm12B_3d[12][4]
static const unsigned int perm12C_3d[12][4]
static const unsigned int perm12A_3d[12][4]
PointsManagerT & PointsManager(void)
static const unsigned int NodalTetElecNPTS[NodalTetElecAvailable]
static const NekDouble NodalTetElecData[][9]
static const unsigned int perm24_3d[24][4]
static const unsigned int perm4_3d[4][4]
@ eNodalTetElec
3D Nodal Electrostatic Points on a Tetrahedron
static const NekDouble kNekZeroTol
The above copyright notice and this permission notice shall be included.
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)