49 namespace LibUtilities
126 ASSERTL0(
false,
"Unknown Gauss quadrature point distribution requested");
143 NekDouble *dmtemp = dmtempSharedArray.data();
212 ASSERTL0(
false,
"Unknown Gauss quadrature point distribution requested");
275 for(
unsigned int i=0;i<
npts;++i)
286 ASSERTL0(
false,
"Unknown Gauss quadrature point distribution requested");
294 returnval->Initialize();
307 return GetI(numpoints, xpoints);
313 ASSERTL0(pkey.
GetPointsDim()==1,
"Gauss Points can only interp to other 1d point distributions");
323 return GetI(numpoints, x);
344 for(
int i=0;i<
npts;++i)
356 for(
int i=0;i<pt; ++i)
358 h = h * (x - xpts[i])/(xpts[pt]-xpts[i]);
361 for(
int i=pt+1;i<
npts;++i)
363 h = h * (x - xpts[i])/(xpts[pt]-xpts[i]);
374 for(
int j=0;j<
npts;++j)
379 for(
int i=0;i<
npts;++i)
387 h = h/(xpts[pt]-xpts[i]);
418 boost::shared_ptr< NekMatrix<NekDouble> > Interp =
GetI(pkey);
424 for(
int i = 0; i < numpointsto; ++i)
426 Vmath::Vmul(numpointsfrom,Interp->GetPtr().get() +i*numpointsfrom,1,
427 &weightsfrom[0],1,&GalProj[0] +i,numpointsto);
429 &GalProj[0]+i,numpointsto);
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > m_GalerkinProjectionManager
void Dgj(double *D, const double *z, const int np, const double alpha, const double beta)
Compute the Derivative Matrix and its transpose associated.
1D Gauss-Radau-Kronrod-Legendre quadrature points, pinned at x=-1
#define ASSERTL0(condition, msg)
NekDouble LagrangePolyDeriv(NekDouble x, int pt, int npts, const Array< OneD, const NekDouble > &xpts)
1D Gauss-Radau-Chebyshev quadrature points, pinned at x=-1
NekDouble LagrangePoly(NekDouble x, int pt, int npts, const Array< OneD, const NekDouble > &xpts)
virtual void CalculatePoints()
void zwgrjp(double *z, double *w, const int np, const double alpha, const double beta)
Gauss-Radau-Jacobi zeros and weights with end point at z=1.
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
1D Gauss-Radau-Legendre quadrature points, pinned at x=1
void Imgrjp(double *im, const double *zgrj, const double *zm, const int nz, const int mz, const double alpha, const double beta)
Interpolation Operator from Gauss-Radau-Jacobi points.
MatrixSharedPtrType m_derivmatrix[3]
void zwglj(double *z, double *w, const int np, const double alpha, const double beta)
Gauss-Lobatto-Jacobi zeros and weights with end point at z=-1,1.
Array< OneD, DataType > m_points[3]
const boost::shared_ptr< NekMatrix< NekDouble > > GetI(const PointsKey &pkey)
1D Gauss-Kronrod-Legendre quadrature points
void zwlk(double *z, double *w, const int npt, const double alpha, const double beta)
Gauss-Lobatto-Kronrod-Jacobi zeros and weights.
1D Gauss-Gauss-Legendre quadrature points
Gauss Radau pinned at x=-1, .
1D Gauss-Radau-Kronrod-Legendre pinned at x=-1,
1D Lobatto Kronrod quadrature points
void Smul(int n, const T alpha, const T *x, const int incx, T *y, const int incy)
Scalar multiply y = alpha*y.
const boost::shared_ptr< NekMatrix< NekDouble > > GetGalerkinProjection(const PointsKey &pkey)
void CalculateDerivMatrix()
void Imglj(double *im, const double *zglj, const double *zm, const int nz, const int mz, const double alpha, const double beta)
Interpolation Operator from Gauss-Lobatto-Jacobi points.
unsigned int GetNumPoints() const
void Dgrjm(double *D, const double *z, const int np, const double alpha, const double beta)
Compute the Derivative Matrix and its transpose associated.
void zwgk(double *z, double *w, const int npt, const double alpha, const double beta)
Gauss-Kronrod-Jacobi zeros and weights.
void Imgrjm(double *im, const double *zgrj, const double *zm, const int nz, const int mz, const double alpha, const double beta)
Interpolation Operator from Gauss-Radau-Jacobi points.
unsigned int GetTotNumPoints() const
1D Gauss-Radau-Chebyshev quadrature points, pinned at x=1
unsigned int GetPointsDim() const
PointsManagerT & PointsManager(void)
static boost::shared_ptr< Points< NekDouble > > Create(const PointsKey &pkey)
1D Gauss-Gauss-Chebyshev quadrature points
Array< OneD, DataType > m_weights
Defines a specification for a set of points.
void Dgrjp(double *D, const double *z, const int np, const double alpha, const double beta)
Compute the Derivative Matrix associated with the.
void zwgrjm(double *z, double *w, const int np, const double alpha, const double beta)
Gauss-Radau-Jacobi zeros and weights with end point at z=-1.
void CalculateInterpMatrix(unsigned int npts, const Array< OneD, const NekDouble > &xpoints, Array< OneD, NekDouble > &interp)
virtual void CalculateDerivMatrix()
boost::shared_ptr< NekMatrix< NekDouble > > CalculateGalerkinProjectionMatrix(const PointsKey &pkey)
unsigned int GetNumPoints() const
void zwrk(double *z, double *w, const int npt, const double alpha, const double beta)
Gauss-Radau-Kronrod-Jacobi zeros and weights.
Gauss Radau pinned at x=-1, .
NekDouble LagrangeInterpolant(NekDouble x, int npts, const Array< OneD, const NekDouble > &xpts, const Array< OneD, const NekDouble > &funcvals)
functions used by the Kronrod points
boost::shared_ptr< NekMatrix< NekDouble > > CreateMatrix(const PointsKey &pkey)
boost::shared_ptr< NekMatrix< NekDouble > > CreateGPMatrix(const PointsKey &pkey)
Gauss Radau pinned at x=-1, .
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > m_InterpManager
Gauss Radau pinned at x=-1, .
void Dglj(double *D, const double *z, const int np, const double alpha, const double beta)
Compute the Derivative Matrix associated with the.
void Imgj(double *im, const double *zgj, const double *zm, const int nz, const int mz, const double alpha, const double beta)
Interpolation Operator from Gauss-Jacobi points to an.
1D Gauss-Lobatto-Legendre quadrature points
PointsType GetPointsType() const
void Vmul(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x*y.
1D Gauss-Radau-Legendre quadrature points, pinned at x=-1
virtual void CalculateWeights()
1D Gauss-Lobatto-Legendre quadrature points
void zwgj(double *z, double *w, const int np, const double alpha, const double beta)
Gauss-Jacobi zeros and weights.