Nektar++
|
Stores a set of points of datatype DataT, defined by a PointKey. More...
#include <Points.h>
Public Types | |
typedef DataT | DataType |
typedef std::shared_ptr< NekMatrix< DataType > > | MatrixSharedPtrType |
Protected Member Functions | |
virtual void | v_Initialize (void) |
virtual void | v_CalculatePoints () |
virtual void | v_CalculateWeights () |
virtual void | v_CalculateBaryWeights () |
This function calculates the barycentric weights used for enhanced interpolation speed. More... | |
virtual void | v_CalculateDerivMatrix () |
Points (const PointsKey &key) | |
virtual const MatrixSharedPtrType | v_GetI (const PointsKey &key) |
virtual const MatrixSharedPtrType | v_GetI (const Array< OneD, const DataType > &x) |
virtual const MatrixSharedPtrType | v_GetI (unsigned int, const Array< OneD, const DataType > &x) |
virtual const MatrixSharedPtrType | v_GetI (const Array< OneD, const DataType > &x, const Array< OneD, const DataType > &y) |
virtual const MatrixSharedPtrType | v_GetI (const Array< OneD, const DataType > &x, const Array< OneD, const DataType > &y, const Array< OneD, const DataType > &z) |
virtual const MatrixSharedPtrType | v_GetGalerkinProjection (const PointsKey &pkey) |
Protected Attributes | |
PointsKey | m_pointsKey |
Points type for this points distributions. More... | |
Array< OneD, DataType > | m_points [3] |
Storage for the point locations, allowing for up to a 3D points storage. More... | |
Array< OneD, DataType > | m_weights |
Quadrature weights for the weights. More... | |
Array< OneD, DataType > | m_bcweights |
Barycentric weights. More... | |
MatrixSharedPtrType | m_derivmatrix [3] |
Derivative matrices. More... | |
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > | m_InterpManager |
NekManager< PointsKey, NekMatrix< DataType >, PointsKey::opLess > | m_GalerkinProjectionManager |
Private Member Functions | |
Points (const Points &pts) | |
Points () | |
Stores a set of points of datatype DataT, defined by a PointKey.
This encapsulates a set of points, specified by a PointKey. The class stores not only the point coordinates, but also the integration weights and derivative matrix coefficients. Memory is allocated from the memory pool if in use.
typedef DataT Nektar::LibUtilities::Points< DataT >::DataType |
typedef std::shared_ptr<NekMatrix<DataType> > Nektar::LibUtilities::Points< DataT >::MatrixSharedPtrType |
|
inlinevirtual |
|
inlineprotected |
Definition at line 456 of file Points.h.
|
inlineprivate |
Definition at line 524 of file Points.h.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
inlineprivate |
|
inline |
Definition at line 305 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::m_bcweights.
|
inline |
Definition at line 331 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::m_derivmatrix.
|
inline |
Definition at line 365 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::v_GetGalerkinProjection().
|
inline |
Definition at line 341 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::v_GetI().
|
inline |
Definition at line 352 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::v_GetI().
|
inline |
Definition at line 358 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::v_GetI().
|
inline |
Definition at line 336 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::v_GetI().
|
inline |
Definition at line 346 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::v_GetI().
|
inline |
Definition at line 273 of file Points.h.
References Nektar::LibUtilities::PointsKey::GetNumPoints(), and Nektar::LibUtilities::Points< DataT >::m_pointsKey.
|
inline |
Definition at line 310 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::m_points.
|
inline |
Definition at line 315 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::m_points.
|
inline |
Definition at line 268 of file Points.h.
References Nektar::LibUtilities::PointsKey::GetPointsDim(), and Nektar::LibUtilities::Points< DataT >::m_pointsKey.
Referenced by Nektar::LibUtilities::Points< DataT >::v_CalculatePoints().
|
inline |
Definition at line 283 of file Points.h.
References Nektar::LibUtilities::PointsKey::GetPointsType(), and Nektar::LibUtilities::Points< DataT >::m_pointsKey.
|
inline |
Definition at line 278 of file Points.h.
References Nektar::LibUtilities::PointsKey::GetTotNumPoints(), and Nektar::LibUtilities::Points< DataT >::m_pointsKey.
Referenced by Nektar::LibUtilities::Points< DataT >::v_CalculateDerivMatrix(), Nektar::LibUtilities::Points< DataT >::v_CalculatePoints(), and Nektar::LibUtilities::Points< DataT >::v_CalculateWeights().
|
inline |
Definition at line 293 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::m_weights.
|
inline |
Definition at line 288 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::m_points.
|
inline |
Definition at line 298 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::m_points, and Nektar::LibUtilities::Points< DataT >::m_weights.
|
inline |
Definition at line 263 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::v_Initialize().
|
inlineprotectedvirtual |
This function calculates the barycentric weights used for enhanced interpolation speed.
For the points distribution \( z_i \) with \f% 1\leq z_i \leq N
Definition at line 422 of file Points.h.
References Nektar::LibUtilities::PointsKey::GetNumPoints(), Nektar::LibUtilities::Points< DataT >::m_bcweights, Nektar::LibUtilities::Points< DataT >::m_points, and Nektar::LibUtilities::Points< DataT >::m_pointsKey.
Referenced by Nektar::LibUtilities::Points< DataT >::v_Initialize().
|
inlineprotectedvirtual |
Reimplemented in Nektar::LibUtilities::PolyEPoints, Nektar::LibUtilities::NodalTriSPI, Nektar::LibUtilities::NodalTriFekete, Nektar::LibUtilities::NodalTriEvenlySpaced, Nektar::LibUtilities::NodalTriElec, Nektar::LibUtilities::NodalTetSPI, Nektar::LibUtilities::NodalTetEvenlySpaced, Nektar::LibUtilities::NodalTetElec, Nektar::LibUtilities::NodalQuadElec, Nektar::LibUtilities::NodalPrismSPI, Nektar::LibUtilities::NodalPrismEvenlySpaced, Nektar::LibUtilities::NodalPrismElec, Nektar::LibUtilities::NodalHexElec, Nektar::LibUtilities::GaussPoints, Nektar::LibUtilities::FourierSingleModePoints, Nektar::LibUtilities::FourierPoints, and Nektar::LibUtilities::BLPoints.
Definition at line 445 of file Points.h.
References Nektar::LibUtilities::PointsKey::GetPointsDim(), Nektar::LibUtilities::Points< DataT >::GetTotNumPoints(), Nektar::LibUtilities::Points< DataT >::m_derivmatrix, and Nektar::LibUtilities::Points< DataT >::m_pointsKey.
Referenced by Nektar::LibUtilities::BLPoints::v_CalculateDerivMatrix(), Nektar::LibUtilities::FourierPoints::v_CalculateDerivMatrix(), Nektar::LibUtilities::FourierSingleModePoints::v_CalculateDerivMatrix(), and Nektar::LibUtilities::Points< DataT >::v_Initialize().
|
inlineprotectedvirtual |
Reimplemented in Nektar::LibUtilities::PolyEPoints, Nektar::LibUtilities::NodalTriSPI, Nektar::LibUtilities::NodalTriFekete, Nektar::LibUtilities::NodalTriEvenlySpaced, Nektar::LibUtilities::NodalTriElec, Nektar::LibUtilities::NodalTetSPI, Nektar::LibUtilities::NodalTetEvenlySpaced, Nektar::LibUtilities::NodalTetElec, Nektar::LibUtilities::NodalQuadElec, Nektar::LibUtilities::NodalPrismSPI, Nektar::LibUtilities::NodalPrismEvenlySpaced, Nektar::LibUtilities::NodalPrismElec, Nektar::LibUtilities::NodalHexElec, Nektar::LibUtilities::GaussPoints, Nektar::LibUtilities::FourierSingleModePoints, Nektar::LibUtilities::FourierPoints, and Nektar::LibUtilities::BLPoints.
Definition at line 395 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::GetPointsDim(), Nektar::LibUtilities::Points< DataT >::GetTotNumPoints(), and Nektar::LibUtilities::Points< DataT >::m_points.
Referenced by Nektar::LibUtilities::NodalTetElec::v_CalculatePoints(), and Nektar::LibUtilities::Points< DataT >::v_Initialize().
|
inlineprotectedvirtual |
Reimplemented in Nektar::LibUtilities::PolyEPoints, Nektar::LibUtilities::NodalTriSPI, Nektar::LibUtilities::NodalTriFekete, Nektar::LibUtilities::NodalTriEvenlySpaced, Nektar::LibUtilities::NodalTriElec, Nektar::LibUtilities::NodalTetSPI, Nektar::LibUtilities::NodalTetEvenlySpaced, Nektar::LibUtilities::NodalTetElec, Nektar::LibUtilities::NodalQuadElec, Nektar::LibUtilities::NodalPrismSPI, Nektar::LibUtilities::NodalPrismEvenlySpaced, Nektar::LibUtilities::NodalPrismElec, Nektar::LibUtilities::NodalHexElec, Nektar::LibUtilities::GaussPoints, Nektar::LibUtilities::FourierSingleModePoints, Nektar::LibUtilities::FourierPoints, and Nektar::LibUtilities::BLPoints.
Definition at line 406 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::GetTotNumPoints(), and Nektar::LibUtilities::Points< DataT >::m_weights.
Referenced by Nektar::LibUtilities::Points< DataT >::v_Initialize().
|
inlineprotectedvirtual |
Reimplemented in Nektar::LibUtilities::GaussPoints.
Definition at line 512 of file Points.h.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by Nektar::LibUtilities::Points< DataT >::GetGalerkinProjection().
|
inlineprotectedvirtual |
Reimplemented in Nektar::LibUtilities::PolyEPoints, Nektar::LibUtilities::GaussPoints, Nektar::LibUtilities::FourierSingleModePoints, Nektar::LibUtilities::FourierPoints, and Nektar::LibUtilities::BLPoints.
Definition at line 469 of file Points.h.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
inlineprotectedvirtual |
Reimplemented in Nektar::LibUtilities::NodalTriFekete, Nektar::LibUtilities::NodalTriEvenlySpaced, and Nektar::LibUtilities::NodalTriElec.
Definition at line 489 of file Points.h.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
inlineprotectedvirtual |
Reimplemented in Nektar::LibUtilities::NodalTetEvenlySpaced, Nektar::LibUtilities::NodalTetElec, Nektar::LibUtilities::NodalPrismEvenlySpaced, and Nektar::LibUtilities::NodalPrismElec.
Definition at line 500 of file Points.h.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
inlineprotectedvirtual |
Reimplemented in Nektar::LibUtilities::PolyEPoints, Nektar::LibUtilities::NodalTriFekete, Nektar::LibUtilities::NodalTriEvenlySpaced, Nektar::LibUtilities::NodalTriElec, Nektar::LibUtilities::NodalTetEvenlySpaced, Nektar::LibUtilities::NodalTetElec, Nektar::LibUtilities::NodalPrismEvenlySpaced, Nektar::LibUtilities::NodalPrismElec, Nektar::LibUtilities::GaussPoints, Nektar::LibUtilities::FourierSingleModePoints, Nektar::LibUtilities::FourierPoints, and Nektar::LibUtilities::BLPoints.
Definition at line 460 of file Points.h.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by Nektar::LibUtilities::Points< DataT >::GetI().
|
inlineprotectedvirtual |
Reimplemented in Nektar::LibUtilities::PolyEPoints, Nektar::LibUtilities::GaussPoints, Nektar::LibUtilities::FourierSingleModePoints, Nektar::LibUtilities::FourierPoints, and Nektar::LibUtilities::BLPoints.
Definition at line 479 of file Points.h.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
inlineprotectedvirtual |
Definition at line 387 of file Points.h.
References Nektar::LibUtilities::Points< DataT >::v_CalculateBaryWeights(), Nektar::LibUtilities::Points< DataT >::v_CalculateDerivMatrix(), Nektar::LibUtilities::Points< DataT >::v_CalculatePoints(), and Nektar::LibUtilities::Points< DataT >::v_CalculateWeights().
Referenced by Nektar::LibUtilities::Points< DataT >::Initialize().
|
protected |
Barycentric weights.
Definition at line 379 of file Points.h.
Referenced by Nektar::LibUtilities::Points< DataT >::GetBaryWeights(), and Nektar::LibUtilities::Points< DataT >::v_CalculateBaryWeights().
|
protected |
Derivative matrices.
Definition at line 381 of file Points.h.
Referenced by Nektar::LibUtilities::Points< DataT >::GetD(), and Nektar::LibUtilities::Points< DataT >::v_CalculateDerivMatrix().
|
protected |
|
protected |
|
protected |
Storage for the point locations, allowing for up to a 3D points storage.
Definition at line 375 of file Points.h.
Referenced by Nektar::LibUtilities::Points< DataT >::GetPoints(), Nektar::LibUtilities::Points< DataT >::GetZ(), Nektar::LibUtilities::Points< DataT >::GetZW(), Nektar::LibUtilities::Points< DataT >::v_CalculateBaryWeights(), and Nektar::LibUtilities::Points< DataT >::v_CalculatePoints().
|
protected |
Points type for this points distributions.
Definition at line 372 of file Points.h.
Referenced by Nektar::LibUtilities::Points< DataT >::GetNumPoints(), Nektar::LibUtilities::Points< DataT >::GetPointsDim(), Nektar::LibUtilities::Points< DataT >::GetPointsType(), Nektar::LibUtilities::Points< DataT >::GetTotNumPoints(), Nektar::LibUtilities::Points< DataT >::v_CalculateBaryWeights(), and Nektar::LibUtilities::Points< DataT >::v_CalculateDerivMatrix().
|
protected |
Quadrature weights for the weights.
Definition at line 377 of file Points.h.
Referenced by Nektar::LibUtilities::Points< DataT >::GetW(), Nektar::LibUtilities::Points< DataT >::GetZW(), and Nektar::LibUtilities::Points< DataT >::v_CalculateWeights().