35 #include <boost/core/ignore_unused.hpp>
44 namespace LibUtilities
61 "Must set factor in BLPoints key");
63 if (fabs(r - 1.0) < 1e-6)
66 for (
unsigned int i = 0; i < npts; ++i)
73 NekDouble a = 2.0 * (1.0 - r) / (1.0 - pow(r, (
double)(npts - 1)));
76 for (
unsigned int i = 1; i < npts; ++i)
86 std::vector<NekDouble> tmp(npts);
87 for (
unsigned int i = 0; i < npts; ++i)
92 for (
unsigned int i = 0; i < npts; ++i)
111 std::shared_ptr<Points<NekDouble>> returnval(
114 returnval->Initialize();
128 return GetI(numpoints, xpoints);
135 "Fourier Points can only interp to other 1d point distributions");
146 return GetI(numpoints, x);
158 std::shared_ptr<NekMatrix<NekDouble>> returnval(
169 boost::ignore_unused(npts, xpoints, interp);
#define ASSERTL0(condition, msg)
virtual void v_CalculatePoints() override
void CalculateInterpMatrix(unsigned int npts, const Array< OneD, const NekDouble > &xpoints, Array< OneD, NekDouble > &interp)
static std::shared_ptr< PointsBaseType > Create(const PointsKey &key)
virtual void v_CalculateDerivMatrix() override
std::shared_ptr< NekMatrix< NekDouble > > CreateMatrix(const PointsKey &pkey)
virtual void v_CalculateWeights() override
static bool initPointsManager[]
virtual const MatrixSharedPtrType v_GetI(const PointsKey &pkey) override
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 v_CalculatePoints()
PointsKey m_pointsKey
Points type for this points distributions.
unsigned int GetNumPoints() const
virtual void v_CalculateDerivMatrix()
const MatrixSharedPtrType GetI(const PointsKey &key)
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.