35 #include <boost/core/ignore_unused.hpp>
44 namespace LibUtilities
60 "Must set factor in BLPoints key");
62 if (fabs(r-1.0) < 1e-6)
65 for (
unsigned int i = 0; i < npts; ++i)
72 NekDouble a = 2.0 * (1.0-r) / (1.0 - pow(r,(
double)(npts-1)));
75 for (
unsigned int i = 1; i < npts; ++i)
85 std::vector<NekDouble> tmp(npts);
86 for (
unsigned int i = 0; i < npts; ++i)
91 for (
unsigned int i = 0; i < npts; ++i)
113 returnval->Initialize();
127 return GetI(numpoints, xpoints);
132 ASSERTL0(pkey.
GetPointsDim()==1,
"Fourier Points can only interp to other 1d point distributions");
142 return GetI(numpoints, x);
160 boost::ignore_unused(npts, xpoints, interp);
#define ASSERTL0(condition, msg)
void CalculateInterpMatrix(unsigned int npts, const Array< OneD, const NekDouble > &xpoints, Array< OneD, NekDouble > &interp)
static std::shared_ptr< PointsBaseType > Create(const PointsKey &key)
std::shared_ptr< NekMatrix< NekDouble > > CreateMatrix(const PointsKey &pkey)
static bool initPointsManager[]
void CalculateDerivMatrix()
const MatrixSharedPtrType GetI(const PointsKey &pkey)
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...
Array< OneD, DataType > m_points[3]
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > m_InterpManager
virtual void CalculateDerivMatrix()
unsigned int GetNumPoints() const
virtual void CalculatePoints()
Defines a specification for a set of points.
PointsType GetPointsType() const
unsigned int GetPointsDim() const
NekDouble GetFactor() const
unsigned int GetNumPoints() const
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
PointsManagerT & PointsManager(void)
@ eBoundaryLayerPoints
1D power law distribution for boundary layer points
@ eBoundaryLayerPointsRev
1D power law distribution for boundary layer points
static const NekDouble kNekUnsetDouble