36 #ifndef NEKTAR_LIB_UTILITIES_FOUNDATIONS_POINTS_H
37 #define NEKTAR_LIB_UTILITIES_FOUNDATIONS_POINTS_H
52 namespace LibUtilities
135 return (*
this == *y);
140 return (!(*
this == y));
145 return (!(*
this == *y));
223 template<
typename DataT>
306 ASSERTL0(
false,
"Method not implemented ");
313 ASSERTL0(
false,
"Method not implemented");
320 ASSERTL0(
false,
"Method not implemented");
327 ASSERTL0(
false,
"Method not implemented");
335 ASSERTL0(
false,
"Method not implemented");
342 ASSERTL0(
false,
"Method not implemented ");
360 for (
unsigned int i=0; i<pointsDim; ++i)
374 for(
unsigned int i = 0; i < m_pointsKey.
GetPointsDim(); ++i)
399 #endif //NEKTAR_LIB_UTILITIES_FOUNDATIONS_POINTS_H
bool operator!=(const PointsKey &y)
static const PointsKey NullPointsKey(0, eNoPointsType)
unsigned int GetTotNumPoints() const
virtual void Initialize(void)
#define ASSERTL0(condition, msg)
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Array< OneD, DataType > m_weights
std::vector< PointsKey > PointsKeyVector
virtual const MatrixSharedPtrType GetI(unsigned int numpoints, const Array< OneD, const DataType > &x)
NekDouble GetFactor() const
Points(const PointsKey &key)
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
PointsKey(const PointsKey &key)
Copy constructor.
NekDouble m_factor
optional factor
void GetPoints(Array< OneD, const DataType > &x, Array< OneD, const DataType > &y, Array< OneD, const DataType > &z) const
virtual const MatrixSharedPtrType GetI(const PointsKey &pkey)
PointsType m_pointstype
Type of Points.
virtual const MatrixSharedPtrType GetI(const Array< OneD, const DataType > &x)
unsigned int m_numpoints
number of the points (as appropriately defined for PointsType)
virtual void CalculatePoints()
Stores a set of points of datatype DataT, defined by a PointKey.
bool operator==(const BasisKey &x, const BasisKey &y)
const Array< OneD, const DataType > & GetZ() const
void GetPoints(Array< OneD, const DataType > &x) const
void GetZW(Array< OneD, const DataType > &z, Array< OneD, const DataType > &w) const
std::ostream & operator<<(std::ostream &os, const BasisKey &rhs)
bool operator()(const PointsKey &lhs, const PointsKey &rhs) const
static const NekDouble kNekZeroTol
PointsKey & operator=(const PointsKey &key)
#define LIB_UTILITIES_EXPORT
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > m_InterpManager
virtual const MatrixSharedPtrType GetGalerkinProjection(const PointsKey &pkey)
3D Nodal Electrostatic Points on a Tetrahedron
unsigned int GetTotNumPoints() const
unsigned int GetPointsDim() const
Defines a specification for a set of points.
const MatrixSharedPtrType & GetD(Direction dir=xDir) const
bool operator==(const PointsKey &key)
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > m_GalerkinProjectionManager
static const NekDouble kNekUnsetDouble
bool operator<(const BasisKey &lhs, const BasisKey &rhs)
3D Evenly-spaced points on a Tetrahedron
virtual const MatrixSharedPtrType GetI(const Array< OneD, const DataType > &x, const Array< OneD, const DataType > &y, const Array< OneD, const DataType > &z)
virtual void CalculateDerivMatrix()
2D Nodal Fekete Points on a Triangle
virtual ~PointsKey()
Destructor.
PointsKey(void)
Default constructor.
Points(const Points &pts)
unsigned int GetNumPoints() const
const Array< OneD, const DataType > & GetW() const
virtual const MatrixSharedPtrType GetI(const Array< OneD, const DataType > &x, const Array< OneD, const DataType > &y)
friend bool operator<(const PointsKey &lhs, const PointsKey &rhs)
unsigned int GetNumPoints() const
unsigned int GetPointsDim() const
void GetPoints(Array< OneD, const DataType > &x, Array< OneD, const DataType > &y) const
boost::shared_ptr< NekMatrix< DataType > > MatrixSharedPtrType
PointsKey(const int &numpoints, const PointsType &pointstype, const NekDouble factor=NekConstants::kNekUnsetDouble)
Constructor defining the number and distribution of points.
Array< OneD, DataType > m_points[3]
3D Evenly-spaced points on a Prism
virtual void CalculateWeights()
2D Evenly-spaced points on a Triangle
MatrixSharedPtrType m_derivmatrix[3]
PointsType GetPointsType() const
1D Array of constant elements with garbage collection and bounds checking.
PointsType GetPointsType() const
2D Nodal Electrostatic Points on a Triangle