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]
Storage for the point locations, allowing for up to a 3D points storage.
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > m_InterpManager
virtual void CalculateDerivMatrix()
PointsKey m_pointsKey
Points type for this points distributions.
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
The above copyright notice and this permission notice shall be included.