35 #include <boost/core/ignore_unused.hpp>
44 namespace LibUtilities
63 ASSERTL0(npts==2,
"Fourier points for single mode analysis should be 2");
77 for(
unsigned int i=0; i<npts; ++i)
94 returnval->Initialize();
108 return GetI(numpoints, xpoints);
113 ASSERTL0(pkey.
GetPointsDim()==1,
"Fourier Points can only interp to other 1d point distributions");
124 return GetI(numpoints, x);
142 boost::ignore_unused(npts, xpoints, interp);
#define ASSERTL0(condition, msg)
static std::shared_ptr< PointsBaseType > Create(const PointsKey &key)
void CalculateDerivMatrix()
void CalculateInterpMatrix(unsigned int npts, const Array< OneD, const NekDouble > &xpoints, Array< OneD, NekDouble > &interp)
const MatrixSharedPtrType GetI(const PointsKey &pkey)
std::shared_ptr< NekMatrix< NekDouble > > CreateMatrix(const PointsKey &pkey)
static bool initPointsManager[]
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 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 GetPointsDim() const
unsigned int GetNumPoints() const
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
PointsManagerT & PointsManager(void)
@ eFourierSingleModeSpaced
1D Non Evenly-spaced points for Single Mode analysis
The above copyright notice and this permission notice shall be included.