48 namespace LibUtilities
67 for(
unsigned int i=0; i < numPoints-2; ++i)
88 for(
unsigned int j=0; j < 3; ++j)
101 for(
unsigned int j=0; j < 3; ++j)
115 for(
unsigned int j=0; j < 6; ++j)
157 std::shared_ptr<NekMatrix<NekDouble> > mat =
158 m_util->GetInterpolationMatrix(xi);
159 Vmath::Vcopy(mat->GetRows() * mat->GetColumns(), mat->GetRawPtr(),
177 returnval->Initialize();
187 const int nVerts = 3;
189 const int nBoundaryPoints = 3*nEdgeInteriorPoints + 3;
191 if(nEdgeInteriorPoints==0)
198 for(i = cnt = istart; i < nBoundaryPoints; i++)
209 iend = istart + nEdgeInteriorPoints;
210 for(i = istart; i < iend; i++)
212 for(j = istart+1; j < iend; j++)
224 for(i = cnt = istart; i < nBoundaryPoints; i++)
235 iend = istart + nEdgeInteriorPoints;
236 for(i = istart; i < iend; i++)
238 for(j = istart+1; j < iend; j++)
250 for(i = cnt = istart; i < nBoundaryPoints; i++)
260 iend = istart + nEdgeInteriorPoints;
261 for(i = istart; i < iend; i++)
263 for(j = istart+1; j < iend; j++)
302 for(i = 0; i < xc.num_elements() - 1; i++)
306 std::swap(xc[i],xc[i+1]);
307 std::swap(yc[i],yc[i+1]);
321 for(i = offset; i < offset + npl - 1; i++)
325 std::swap(xc[i],xc[i+1]);
326 std::swap(yc[i],yc[i+1]);
static std::shared_ptr< PointsBaseType > Create(const PointsKey &key)
Array< OneD, DataType > m_weights
static const unsigned int perm3B_2d[3][3]
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
static const unsigned int NodalTriFeketeNPTS[NodalTriFeketeAvailable]
virtual void CalculatePoints()
static bool initPointsManager[]
static const NekDouble kNekZeroTol
void CalculateInterpMatrix(const Array< OneD, const NekDouble > &xi, const Array< OneD, const NekDouble > &yi, Array< OneD, NekDouble > &interp)
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
PointsManagerT & PointsManager(void)
unsigned int GetTotNumPoints() const
Defines a specification for a set of points.
virtual void CalculateDerivMatrix()
static const unsigned int perm3A_2d[3][3]
2D Nodal Fekete Points on a Triangle
void CalculateDerivMatrix()
std::shared_ptr< NodalUtilTriangle > m_util
void NodalPointReorder2d()
Array< OneD, DataType > m_points[3]
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...
virtual void CalculateWeights()
unsigned int GetRows() const
MatrixSharedPtrType m_derivmatrix[3]
size_t num_elements() const
Returns the array's size.
static const unsigned int perm6_2d[6][3]
unsigned int GetNumPoints() const
static const NekDouble NodalTriFeketeData[][6]
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
Array< OneD, DataType > & GetPtr()