Nektar++
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
Nektar::LibUtilities Namespace Reference

Namespaces

namespace  CheckCastUnitTest
 
namespace  CompressData
 
namespace  H5
 
namespace  StdHexData
 
namespace  StdPrismData
 
namespace  StdPyrData
 
namespace  StdQuadData
 
namespace  StdSegData
 
namespace  StdTetData
 
namespace  StdTriData
 

Classes

class  AdamsBashforthTimeIntegrationScheme
 
class  AdamsMoultonTimeIntegrationScheme
 
class  Basis
 Represents a basis of a given type. More...
 
class  BasisKey
 Describes the specification for a Basis. More...
 
class  BDFImplicitTimeIntegrationScheme
 
class  BLPoints
 
struct  CmdLineArg
 
class  CNABTimeIntegrationScheme
 
class  Comm
 Base communications class. More...
 
class  CommCwipi
 A global linear system. More...
 
class  CommDataTypeTraits
 
class  CommDataTypeTraits< Array< OneD, elemT > >
 
class  CommDataTypeTraits< std::vector< elemT > >
 
class  CommMpi
 A global linear system. More...
 
class  CommRequest
 Class for communicator request type. More...
 
class  CommRequestMpi
 Class for communicator request type. More...
 
class  CommSerial
 A global linear system. More...
 
struct  CppCommandLine
 Helper structure to construct C++ command line argc and argv variables from a C++ vector. More...
 
class  CsvIO
 
class  DataSource
 
struct  defOpLessCreator
 
class  DIRKTimeIntegrationScheme
 
struct  DomainRange
 
class  Equation
 
class  EulerExponentialTimeIntegrationScheme
 
class  EulerTimeIntegrationScheme
 
class  ExplicitTimeIntegrationSchemeSDC
 
struct  FieldDefinitions
 Metadata that describes the storage properties of field output. More...
 
class  FieldIO
 Class for operating on Nektar++ input/output files. More...
 
class  FieldIOHdf5
 
class  FieldIOXml
 
struct  FilterDefinition
 
class  FourierPoints
 
class  FourierSingleModePoints
 
class  FractionalInTimeIntegrationScheme
 Class for fractional-in-time integration. More...
 
struct  func
 
struct  functions
 
struct  FunctionVariableDefinition
 
class  GaussPoints
 
class  GitConsts
 
class  Graph
 
class  GraphEdgeObject
 
class  GraphVertexObject
 
class  H5DataSource
 
class  H5TagWriter
 
class  IMEXdirkTimeIntegrationScheme
 
class  IMEXTimeIntegrationScheme
 
class  IMEXTimeIntegrationSchemeSDC
 
class  ImplicitTimeIntegrationSchemeSDC
 
class  Interpolator
 A class that contains algorithms for interpolation between pts fields, expansions and different meshes. More...
 
class  Interpreter
 Interpreter class for the evaluation of mathematical expressions. More...
 
class  MCNABTimeIntegrationScheme
 
class  NekFactory
 Provides a generic Factory class. More...
 
class  NekFFTW
 
class  NekLinSysIter
 
class  NekLinSysIterCG
 
class  NekLinSysIterCGLoc
 
class  NekLinSysIterFixedpointJacobi
 
class  NekLinSysIterGMRES
 
class  NekLinSysIterGMRESLoc
 
class  NekManager
 
class  NekNonlinSysIter
 
class  NekNonlinSysIterNewton
 
class  NekSys
 
class  NekSysKey
 
class  NekSysOperators
 
class  NektarFFT
 
class  NodalHexElec
 
class  NodalPrismElec
 
class  NodalPrismEvenlySpaced
 
class  NodalPrismSPI
 
class  NodalQuadElec
 
class  NodalTetElec
 
class  NodalTetEvenlySpaced
 
class  NodalTetSPI
 
class  NodalTriElec
 
class  NodalTriEvenlySpaced
 
class  NodalTriFekete
 
class  NodalTriSPI
 
class  NodalUtil
 A class to assist in the construction of nodal simplex and hybrid elements in two and three dimensions. More...
 
class  NodalUtilHex
 Specialisation of the NodalUtil class to support nodal hex elements. More...
 
class  NodalUtilPrism
 Specialisation of the NodalUtil class to support nodal prismatic elements. More...
 
class  NodalUtilQuad
 Specialisation of the NodalUtil class to support nodal quad elements. More...
 
class  NodalUtilTetrahedron
 Specialisation of the NodalUtil class to support nodal tetrahedral elements. More...
 
class  NodalUtilTriangle
 Specialisation of the NodalUtil class to support nodal triangular elements. More...
 
class  NoSchemeTimeIntegrationScheme
 Base class for No time integration schemes. More...
 
class  Points
 Stores a set of points of datatype DataT, defined by a PointKey. More...
 
class  PointsKey
 Defines a specification for a set of points. More...
 
class  PolyEPoints
 
class  PtsField
 
class  PtsIO
 
class  RungeKuttaTimeIntegrationScheme
 
class  SessionReader
 Reads and parses information from a Nektar++ XML session file. More...
 
class  TagWriter
 Base class for writing hierarchical data (XML or HDF5). More...
 
class  TimeIntegrationAlgorithmGLM
 
class  TimeIntegrationScheme
 Base class for time integration schemes. More...
 
class  TimeIntegrationSchemeGEM
 Class for spectral deferred correction integration. More...
 
class  TimeIntegrationSchemeGLM
 Base class for GLM time integration schemes. More...
 
class  TimeIntegrationSchemeOperators
 Binds a set of functions for use by time integration schemes. More...
 
class  TimeIntegrationSchemeSDC
 Class for spectral deferred correction integration. More...
 
class  TimeIntegrationSolutionGLM
 
struct  TimeIntScheme
 
class  Timer
 
class  Transposition
 
class  XmlDataSource
 
class  XmlTagWriter
 

Typedefs

typedef std::shared_ptr< CsvIOCsvIOSharedPtr
 
typedef std::shared_ptr< DomainRangeDomainRangeShPtr
 
typedef std::shared_ptr< EquationEquationSharedPtr
 
typedef std::map< std::string, std::string > FieldMetaDataMap
 
typedef std::shared_ptr< TagWriterTagWriterSharedPtr
 
typedef std::shared_ptr< DataSourceDataSourceSharedPtr
 
typedef std::shared_ptr< FieldDefinitionsFieldDefinitionsSharedPtr
 
typedef LibUtilities::NekFactory< std::string, FieldIO, LibUtilities::CommSharedPtr, bool > FieldIOFactory
 Datatype of the NekFactory used to instantiate classes.
 
typedef std::shared_ptr< FieldIOFieldIOSharedPtr
 
typedef std::shared_ptr< H5DataSourceH5DataSourceSharedPtr
 
typedef std::shared_ptr< H5TagWriterH5TagWriterSharedPtr
 
typedef std::shared_ptr< XmlDataSourceXmlDataSourceSharedPtr
 
typedef std::shared_ptr< XmlTagWriterXmlTagWriterSharedPtr
 
typedef std::shared_ptr< InterpolatorInterpolatorSharedPtr
 
typedef std::shared_ptr< PtsFieldPtsFieldSharedPtr
 
typedef std::map< std::string, std::string > PtsMetaDataMap
 
typedef std::shared_ptr< PtsIOPtsIOSharedPtr
 
typedef std::map< std::string, std::string > SolverInfoMap
 
typedef std::map< std::string, NekDoubleParameterMap
 
typedef std::map< std::string, std::string > GeometricInfoMap
 
typedef std::vector< std::string > VariableList
 
typedef std::map< std::string, std::string > TagMap
 
typedef std::map< std::string, std::string > FilterParams
 
typedef std::vector< FilterDefinitionFilterMap
 
typedef std::map< std::string, CmdLineArgCmdLineArgMap
 
typedef std::map< std::string, int > EnumMap
 
typedef std::map< std::string, EnumMapEnumMapList
 
typedef std::map< std::string, std::string > GloSysInfoMap
 
typedef std::map< std::string, GloSysInfoMapGloSysSolnInfoList
 
typedef std::map< std::pair< std::string, int >, FunctionVariableDefinitionFunctionVariableMap
 
typedef std::map< std::string, FunctionVariableMapFunctionMap
 
typedef std::shared_ptr< SessionReaderSessionReaderSharedPtr
 
typedef std::shared_ptr< CommCommSharedPtr
 Pointer to a Communicator object.
 
typedef LibUtilities::NekFactory< std::string, Comm, int, char ** > CommFactory
 Datatype of the NekFactory used to instantiate classes derived from the EquationSystem class.
 
typedef std::shared_ptr< CommRequestCommRequestSharedPtr
 
typedef std::shared_ptr< CommCwipiCommCwipiSharedPtr
 Pointer to a Communicator object.
 
typedef unsigned int CommDataType
 
typedef std::shared_ptr< CommMpiCommMpiSharedPtr
 Pointer to a Communicator object.
 
typedef std::shared_ptr< CommRequestMpiCommRequestMpiSharedPtr
 
typedef std::shared_ptr< CommSerialCommSerialSharedPtr
 Pointer to a Communicator object.
 
typedef std::shared_ptr< TranspositionTranspositionSharedPtr
 
typedef std::shared_ptr< NekFFTWNekFFTWSharedPtr
 
typedef std::shared_ptr< NektarFFTNektarFFTSharedPtr
 
typedef LibUtilities::NekFactory< std::string, NektarFFT, int > NektarFFTFactory
 Datatype of the NekFactory used to instantiate classes derived from the NektarFFT class.
 
typedef std::vector< BasisKeyBasisKeyVector
 Name for a vector of BasisKeys.
 
typedef std::shared_ptr< BasisBasisSharedPtr
 
typedef std::vector< BasisSharedPtrBasisVector
 
typedef Points< NekDoublePointsBaseType
 
typedef std::shared_ptr< Points< NekDouble > > PointsSharedPtr
 
typedef size_t GraphVertexID
 
typedef NekManager< PointsKey, Points< NekDouble >, PointsKey::opLessPointsManagerT
 
typedef NekManager< BasisKey, Basis, BasisKey::opLessBasisManagerT
 
typedef std::shared_ptr< NekMatrix< NekDouble > > SharedMatrix
 
typedef std::vector< PointsKeyPointsKeyVector
 
typedef NekDouble(* PFD) ()
 
typedef NekDouble(* PFD1) (NekDouble)
 
typedef NekDouble(* PFD2) (NekDouble, NekDouble)
 
typedef NekDouble(* PFD3) (NekDouble, NekDouble, NekDouble)
 
typedef NekDouble(* PFD4) (NekDouble, NekDouble, NekDouble, NekDouble)
 
typedef std::shared_ptr< InterpreterInterpreterSharedPtr
 
typedef std::shared_ptr< NekLinSysIterNekLinSysIterSharedPtr
 
typedef LibUtilities::NekFactory< std::string, NekLinSysIter, const LibUtilities::SessionReaderSharedPtr &, const LibUtilities::CommSharedPtr &, const int, const NekSysKey & > NekLinSysIterFactory
 
typedef std::shared_ptr< NekLinSysIterCGNekLinSysIterCGSharedPtr
 
typedef std::shared_ptr< NekLinSysIterCGLocNekLinSysIterCGLocSharedPtr
 
typedef std::shared_ptr< NekLinSysIterFixedpointJacobiNekLinSysIterFixedpointJacobiSharedPtr
 
typedef std::shared_ptr< NekNonlinSysIterNekNonlinSysIterSharedPtr
 
typedef LibUtilities::NekFactory< std::string, NekNonlinSysIter, const LibUtilities::SessionReaderSharedPtr &, const LibUtilities::CommSharedPtr &, const int, const NekSysKey & > NekNonlinSysIterFactory
 
typedef std::shared_ptr< NekSysNekSysSharedPtr
 
typedef NekFactory< std::string, TimeIntegrationScheme, std::string, size_t, std::vector< NekDouble > > TimeIntegrationSchemeFactory
 Datatype of the NekFactory used to instantiate classes derived from the EquationSystem class.
 
typedef std::shared_ptr< TimeIntegrationSchemeOperatorsTimeIntegrationSchemeOperatorsSharedPtr
 
template<class T >
using AT = Array< OneD, T >
 
typedef const AT< const AT< AT< NekDouble > > > ConstTripleArray
 
typedef AT< AT< AT< NekDouble > > > TripleArray
 
typedef const AT< const AT< NekDouble > > ConstDoubleArray
 
typedef AT< AT< NekDouble > > DoubleArray
 
typedef const AT< const NekDoubleConstSingleArray
 
typedef AT< NekDoubleSingleArray
 
typedef AT< AT< AT< std::complex< NekDouble > > > > ComplexTripleArray
 
typedef const AT< const AT< std::complex< NekDouble > > > ConstComplexDoubleArray
 
typedef AT< AT< std::complex< NekDouble > > > ComplexDoubleArray
 
typedef const AT< const std::complex< NekDouble > > ConstComplexSingleArray
 
typedef AT< std::complex< NekDouble > > ComplexSingleArray
 
typedef std::shared_ptr< TimeIntegrationSchemeTimeIntegrationSchemeSharedPtr
 
typedef std::vector< TimeIntegrationSchemeSharedPtrTimeIntegrationSchemeVector
 
typedef std::shared_ptr< NoSchemeTimeIntegrationSchemeNoTimeIntegrationSchemeSharedPtr
 
typedef std::shared_ptr< FractionalInTimeIntegrationSchemeFractionalInTimeIntegrationSchemeSharedPtr
 
typedef std::vector< FractionalInTimeIntegrationSchemeSharedPtrFractionalInTimeIntegrationSchemeVector
 
typedef std::shared_ptr< TimeIntegrationSchemeGLMTimeIntegrationSchemeGLMSharedPtr
 
typedef std::vector< TimeIntegrationSchemeGLMSharedPtrTimeIntegrationSchemeGLMVector
 
typedef std::shared_ptr< TimeIntegrationAlgorithmGLMTimeIntegrationAlgorithmGLMSharedPtr
 
typedef std::vector< TimeIntegrationAlgorithmGLMSharedPtrTimeIntegrationAlgorithmGLMVector
 
typedef std::shared_ptr< TimeIntegrationSolutionGLMTimeIntegrationSolutionGLMSharedPtr
 
typedef std::vector< TimeIntegrationSolutionGLMSharedPtrTimeIntegrationSolutionGLMVector
 
typedef std::shared_ptr< TimeIntegrationSchemeGEMTimeIntegrationSchemeGEMSharedPtr
 
typedef std::vector< TimeIntegrationSchemeGEMSharedPtrTimeIntegrationSchemeGEMVector
 
typedef std::shared_ptr< TimeIntegrationSchemeSDCTimeIntegrationSchemeSDCSharedPtr
 
typedef std::vector< TimeIntegrationSchemeSDCSharedPtrTimeIntegrationSchemeSDCVector
 

Enumerations

enum  EndianType {
  eEndianUnknown , eEndianBig , eEndianLittle , eEndianBigWord ,
  eEndianLittleWord
}
 
enum  FieldIOType { eXML , eHDF5 }
 Enumerator for auto-detection of FieldIO types. More...
 
enum  InterpMethod {
  eNoMethod , eNearestNeighbour , eQuadratic , eShepard ,
  eGauss
}
 
enum  PtsType {
  ePtsFile , ePtsLine , ePtsPlane , ePtsBox ,
  ePtsSegBlock , ePtsTriBlock , ePtsTetBlock
}
 
enum  PtsInfo { eIsEquiSpacedData , ePtsPerElmtEdge }
 
enum  FunctionType { eFunctionTypeExpression , eFunctionTypeFile , eFunctionTypeTransientFile , eSIZE_FunctionType }
 
enum  ShapeType {
  eNoShapeType , ePoint , eSegment , eTriangle ,
  eQuadrilateral , eTetrahedron , ePyramid , ePrism ,
  eHexahedron , SIZE_ShapeType , Point = ePoint , Seg = eSegment ,
  Tri = eTriangle , Quad = eQuadrilateral , Tet = eTetrahedron , Pyr = ePyramid ,
  Prism = ePrism , Hex = eHexahedron
}
 
enum  ReduceOperator { ReduceSum , ReduceMax , ReduceMin , SIZE_ReduceOperator }
 Type of operation to perform in AllReduce. More...
 
enum  TranspositionDir {
  eXYtoZ , eZtoXY , eXtoYZ , eYZtoX ,
  eYZtoZY , eZYtoYZ , eXtoY , eYtoZ ,
  eZtoX , eNoTrans
}
 
enum  BasisType {
  eNoBasisType , eOrtho_A , eOrtho_B , eOrtho_C ,
  eModified_A , eModified_B , eModified_C , eOrthoPyr_C ,
  eModifiedPyr_C , eFourier , eGLL_Lagrange , eGauss_Lagrange ,
  h_p , eChebyshev , P , eFourierSingleMode ,
  eFourierHalfModeRe , eFourierHalfModeIm , SIZE_BasisType
}
 
enum  PointsType {
  eNoPointsType , eGaussGaussLegendre , eGaussRadauMLegendre , eGaussRadauPLegendre ,
  eGaussLobattoLegendre , eGaussGaussChebyshev , eGaussRadauMChebyshev , eGaussRadauPChebyshev ,
  eGaussLobattoChebyshev , eGaussRadauMAlpha0Beta1 , beta , beta ,
  beta , beta , eGaussRadauKronrodMLegendre , eGaussRadauKronrodMAlpha1Beta0 ,
  eGaussLobattoKronrodLegendre , ePolyEvenlySpaced , eFourierEvenlySpaced , eFourierSingleModeSpaced ,
  eBoundaryLayerPoints , eBoundaryLayerPointsRev , eNodalTriElec , eNodalTriFekete ,
  eNodalTriEvenlySpaced , eNodalTetEvenlySpaced , eNodalTetElec , eNodalPrismEvenlySpaced ,
  eNodalPrismElec , eNodalTriSPI , eNodalTetSPI , eNodalPrismSPI ,
  eNodalQuadElec , eNodalHexElec , eGaussLegendreWithMP , eGaussLegendreWithM ,
  SIZE_PointsType
}
 
enum  TimeIntegrationSchemeType {
  eNoTimeIntegrationSchemeType , eExplicit , eDiagonallyImplicit , eIMEX ,
  eImplicit , eExponential , eFractionalInTime
}
 

Functions

template<class To , class Ti , class = typename std::enable_if< std::is_floating_point_v<typename std::remove_reference<Ti>::type> && std::is_integral_v<typename std::remove_reference<To>::type>>::type>
To checked_cast (const Ti param)
 checked cast from float types only to int types
 
EndianType Endianness (void)
 
FieldIOFactoryGetFieldIOFactory ()
 Returns the FieldIO factory.
 
void Write (const std::string &outFile, std::vector< FieldDefinitionsSharedPtr > &fielddefs, std::vector< std::vector< NekDouble > > &fielddata, const FieldMetaDataMap &fieldinfomap, const bool backup)
 This function allows for data to be written to an FLD file when a session and/or communicator is not instantiated. Typically used in utilities which do not take XML input and operate in serial only.
 
void Import (const std::string &infilename, std::vector< FieldDefinitionsSharedPtr > &fielddefs, std::vector< std::vector< NekDouble > > &fielddata, FieldMetaDataMap &fieldinfomap, const Array< OneD, int > &ElementIDs)
 This function allows for data to be imported from an FLD file when a session and/or communicator is not instantiated. Typically used in utilities which only operate in serial.
 
int GetNumberOfDataPoints (const FieldDefinitionsSharedPtr &fielddefs, unsigned int &cnt)
 Compute the number of values needed to store elemental expansion.
 
static std::string PortablePath (const fs::path &path)
 create portable path on different platforms for std::filesystem path.
 
static fs::path UniquePath (std::string specFileStem)
 Create a unique (random) path, based on an input stem string. The returned string is a filename or directory that does not exist.
 
int PrintProgressbar (const int position, const int goal, const std::string message, int lastprogress=-1)
 Prints a progressbar.
 
template<class T1 , class T2 , class = typename std::enable_if< std::is_floating_point_v<typename std::remove_cv< typename std::remove_reference<T1>::type>::type> && std::is_same_v<typename std::remove_cv< typename std::remove_reference<T1>::type>::type, typename std::remove_cv<typename std::remove_reference< T2>::type>::type>>::type>
bool IsRealEqual (T1 &&lhs, T2 &&rhs, const unsigned int factor=NekConstants::kNekFloatCompFact)
 compare reals of same type with relative tolerance
 
template<class T1 , class T2 , class = typename std::enable_if< std::is_floating_point_v<typename std::remove_cv< typename std::remove_reference<T1>::type>::type> && std::is_same_v<typename std::remove_cv< typename std::remove_reference<T1>::type>::type, typename std::remove_cv<typename std::remove_reference< T2>::type>::type>>::type>
bool IsRealClose (T1 &&lhs, T2 &&rhs, const NekDouble tol=NekConstants::kNekMachineEpsilon)
 compare reals of same type with absolute tolerance
 
TiXmlElement * GetChildElementOrThrow (const std::string &filename, std::string elementName, const TiXmlHandle &docHandle)
 
int GetNumberOfCoefficients (ShapeType shape, std::vector< unsigned int > &modes, int offset=0)
 
int GetNumberOfCoefficients (ShapeType shape, int na, int nb=0, int nc=0)
 
CommFactoryGetCommFactory ()
 
int CommDataTypeGetSize (CommDataType dt)
 Return the size in bytes of a data type dt.
 
NektarFFTFactoryGetNektarFFTFactory ()
 
bool operator< (const BasisKey &lhs, const BasisKey &rhs)
 
bool operator> (const BasisKey &lhs, const BasisKey &rhs)
 
std::ostream & operator<< (std::ostream &os, const BasisKey &rhs)
 
bool operator== (const BasisKey &x, const BasisKey &y)
 
bool operator== (const BasisKey *x, const BasisKey &y)
 
bool operator== (const BasisKey &x, const BasisKey *y)
 
bool operator!= (const BasisKey &x, const BasisKey &y)
 
bool operator!= (const BasisKey *x, const BasisKey &y)
 
bool operator!= (const BasisKey &x, const BasisKey *y)
 
static const BasisKey NullBasisKey (eNoBasisType, 0, NullPointsKey)
 Defines a null basis with no type or points.
 
bool operator== (const GraphVertexObject &x, const GraphVertexObject &y)
 
bool operator!= (const GraphVertexObject &x, const GraphVertexObject &y)
 
void Interp1D (const BasisKey &fbasis0, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, Array< OneD, NekDouble > &to)
 this function interpolates a 1D function \(f\) evaluated at the quadrature points of the basis fbasis0 to the function values at the quadrature points of the basis tbasis0
 
void Interp1D (const PointsKey &fpoints0, const Array< OneD, const NekDouble > &from, const PointsKey &tpoints0, Array< OneD, NekDouble > &to)
 
void Interp1D (const BasisKey &fbasis0, const NekDouble *from, const BasisKey &tbasis0, NekDouble *to)
 
void Interp1D (const PointsKey &fpoints0, const NekDouble *from, const PointsKey &tpoints0, NekDouble *to)
 
void Interp2D (const BasisKey &fbasis0, const BasisKey &fbasis1, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, const BasisKey &tbasis1, Array< OneD, NekDouble > &to)
 this function interpolates a 2D function \(f\) evaluated at the quadrature points of the 2D basis, constructed by fbasis0 and fbasis1, to the function values at the quadrature points of the 2D basis, constructed by tbasis0 and tbasis1
 
void Interp2D (const PointsKey &fpoints0, const PointsKey &fpoints1, const Array< OneD, const NekDouble > &from, const PointsKey &tpoints0, const PointsKey &tpoints1, Array< OneD, NekDouble > &to)
 
void Interp2D (const PointsKey &fpoints0, const PointsKey &fpoints1, const NekDouble *from, const PointsKey &tpoints0, const PointsKey &tpoints1, NekDouble *to)
 
void Interp3D (const BasisKey &fbasis0, const BasisKey &fbasis1, const BasisKey &fbasis2, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, const BasisKey &tbasis1, const BasisKey &tbasis2, Array< OneD, NekDouble > &to)
 this function interpolates a 3D function \(f\) evaluated at the quadrature points of the 3D basis, constructed by fbasis0, fbasis1, and fbasis2 to the function values at the quadrature points of the 3D basis, constructed by tbasis0, tbasis1, and tbasis2.
 
void Interp3D (const PointsKey &fpoints0, const PointsKey &fpoints1, const PointsKey &fpoints2, const Array< OneD, const NekDouble > &from, const PointsKey &tpoints0, const PointsKey &tpoints1, const PointsKey &tpoints2, Array< OneD, NekDouble > &to)
 
void Interp3D (const PointsKey &fpoints0, const PointsKey &fpoints1, const PointsKey &fpoints2, const NekDouble *from, const PointsKey &tpoints0, const PointsKey &tpoints1, const PointsKey &tpoints2, NekDouble *to)
 
void InterpCoeff1D (const BasisKey &fbasis0, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, Array< OneD, NekDouble > &to)
 
void InterpCoeff2D (const BasisKey &fbasis0, const BasisKey &fbasis1, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, const BasisKey &tbasis1, Array< OneD, NekDouble > &to)
 
void InterpCoeff2D (const BasisKey &fbasis0, const BasisKey &fbasis1, const NekDouble *from, const BasisKey &tbasis0, const BasisKey &tbasis1, NekDouble *to)
 
void InterpCoeff3D (const BasisKey &fbasis0, const BasisKey &fbasis1, const BasisKey &fbasis2, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, const BasisKey &tbasis1, const BasisKey &tbasis2, Array< OneD, NekDouble > &to)
 
void InterpCoeff3D (const BasisKey &fbasis0, const BasisKey &fbasis1, const BasisKey &fbasis2, const NekDouble *from, const BasisKey &tbasis0, const BasisKey &tbasis1, const BasisKey &tbasis2, NekDouble *to)
 
PointsManagerTPointsManager (void)
 
BasisManagerTBasisManager (void)
 
void PhysGalerkinProject1D (const BasisKey &fbasis0, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, Array< OneD, NekDouble > &to)
 
void PhysGalerkinProject1D (const PointsKey &fpoints0, const Array< OneD, const NekDouble > &from, const PointsKey &tpoints0, Array< OneD, NekDouble > &to)
 
void PhysGalerkinProject1D (const BasisKey &fbasis0, const NekDouble *from, const BasisKey &tbasis0, NekDouble *to)
 
void PhysGalerkinProject1D (const PointsKey &fpoints0, const NekDouble *from, const PointsKey &tpoints0, NekDouble *to)
 
void PhysGalerkinProject2D (const BasisKey &fbasis0, const BasisKey &fbasis1, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, const BasisKey &tbasis1, Array< OneD, NekDouble > &to)
 
void PhysGalerkinProject2D (const PointsKey &fpoints0, const PointsKey &fpoints1, const Array< OneD, const NekDouble > &from, const PointsKey &tpoints0, const PointsKey &tpoints1, Array< OneD, NekDouble > &to)
 
void PhysGalerkinProject2D (const PointsKey &fpoints0, const PointsKey &fpoints1, const NekDouble *from, const PointsKey &tpoints0, const PointsKey &tpoints1, NekDouble *to)
 
void PhysGalerkinProject3D (const BasisKey &fbasis0, const BasisKey &fbasis1, const BasisKey &fbasis2, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, const BasisKey &tbasis1, const BasisKey &tbasis2, Array< OneD, NekDouble > &to)
 
void PhysGalerkinProject3D (const PointsKey &fpoints0, const PointsKey &fpoints1, const PointsKey &fpoints2, const Array< OneD, const NekDouble > &from, const PointsKey &tpoints0, const PointsKey &tpoints1, const PointsKey &tpoints2, Array< OneD, NekDouble > &to)
 
void PhysGalerkinProject3D (const PointsKey &fpoints0, const PointsKey &fpoints1, const PointsKey &fpoints2, const NekDouble *from, const PointsKey &tpoints0, const PointsKey &tpoints1, const PointsKey &tpoints2, NekDouble *to)
 
bool operator== (const PointsKey &lhs, const PointsKey &rhs)
 
bool operator< (const PointsKey &lhs, const PointsKey &rhs)
 
std::ostream & operator<< (std::ostream &os, const PointsKey &rhs)
 
void GetEffectiveQuadRange (const LibUtilities::PointsKey &pkey, int &q_begin, int &q_end)
 
int GetDegreeOfExactness (const PointsType ptype, const int npt)
 
static const PointsKey NullPointsKey (0, eNoPointsType)
 
NekDouble sign (NekDouble arg)
 
NekDouble awgn (NekDouble sigma)
 
static NekDouble rad (NekDouble x, NekDouble y)
 
static NekDouble ang (NekDouble x, NekDouble y)
 
NekLinSysIterFactoryGetNekLinSysIterFactory ()
 
NekNonlinSysIterFactoryGetNekNonlinSysIterFactory ()
 
 FACTORYREGISTER (AdamsBashforth)
 
 FACTORYREGISTER (AdamsMoulton)
 
 FACTORYREGISTER (BDFImplicit)
 
 FACTORYREGISTER (Euler)
 
 FACTORYREGISTER (EulerExponential)
 
 FACTORYREGISTER (CNAB)
 
 FACTORYREGISTER (DIRK)
 
 FACTORYREGISTER (IMEXdirk)
 
 FACTORYREGISTER (IMEX)
 
 FACTORYREGISTER (MCNAB)
 
 FACTORYREGISTER (RungeKutta)
 
 FACTORYREGISTER (NoScheme)
 
std::ostream & operator<< (std::ostream &os, const TimeIntegrationAlgorithmGLMSharedPtr &rhs)
 
std::ostream & operator<< (std::ostream &os, const TimeIntegrationAlgorithmGLM &rhs)
 
TimeIntegrationSchemeFactoryGetTimeIntegrationSchemeFactory ()
 
std::ostream & operator<< (std::ostream &os, const TimeIntegrationScheme &rhs)
 
std::ostream & operator<< (std::ostream &os, const TimeIntegrationSchemeSharedPtr &rhs)
 
std::ostream & operator<< (std::ostream &os, const FractionalInTimeIntegrationScheme &rhs)
 
std::ostream & operator<< (std::ostream &os, const FractionalInTimeIntegrationSchemeSharedPtr &rhs)
 
std::ostream & operator<< (std::ostream &os, const TimeIntegrationSchemeGEM &rhs)
 
std::ostream & operator<< (std::ostream &os, const TimeIntegrationSchemeGEMSharedPtr &rhs)
 
std::ostream & operator<< (std::ostream &os, const TimeIntegrationSchemeGLM &rhs)
 
std::ostream & operator<< (std::ostream &os, const TimeIntegrationSchemeGLMSharedPtr &rhs)
 
std::ostream & operator<< (std::ostream &os, const TimeIntegrationSchemeSDC &rhs)
 
std::ostream & operator<< (std::ostream &os, const TimeIntegrationSchemeSDCSharedPtr &rhs)
 

Variables

const std::string EndianTypeMap []
 
static DomainRangeShPtr NullDomainRangeShPtr
 
std::string fldCmdFormat
 
static FieldMetaDataMap NullFieldMetaDataMap
 
static std::map< PtsInfo, int > NullPtsInfoMap
 
static PtsFieldSharedPtr NullPtsField
 
static PtsMetaDataMap NullPtsMetaDataMap
 
const char *const FunctionTypeMap []
 
const char *const ShapeTypeMap [SIZE_ShapeType]
 
constexpr unsigned int ShapeTypeDimMap [SIZE_ShapeType]
 
static std::vector< NekDoubleNullNekDoubleVector
 
static std::vector< unsigned int > NullUnsignedIntVector
 
static std::vector< std::vector< NekDouble > > NullVectorNekDoubleVector
 
const char *const ReduceOperatorMap [] = {"ReduceSum", "ReduceMax", "ReduceMin"}
 
static BasisSharedPtr NullBasisSharedPtr
 
static Array< OneD, BasisSharedPtrNullBasisSharedPtr1DArray
 
const char *const BasisTypeMap []
 
const std::string kPointsTypeStr []
 
static const size_t perm4_3d [4][4]
 
static const size_t perm6_3d [6][4]
 
static const size_t perm12A_3d [12][4]
 
static const size_t perm12B_3d [12][4]
 
static const size_t perm12C_3d [12][4]
 
static const size_t perm24_3d [24][4]
 
const size_t NodalTetElecAvailable = 10
 
static const size_t NodalTetElecNPTS [NodalTetElecAvailable]
 
static const NekDouble NodalTetElecData [][9]
 
const size_t NodalTetSPIAvailable = 10
 
static const size_t NodalTetSPINPTS [NodalTetSPIAvailable]
 
static const NekDouble NodalTetSPIData [][4]
 
static const size_t perm3A_2d [3][3]
 
static const size_t perm3B_2d [3][3]
 
static const size_t perm6_2d [6][3]
 
const size_t NodalTriElecAvailable = 16
 
static const size_t NodalTriElecNPTS [NodalTriElecAvailable]
 
static const NekDouble NodalTriElecData [][6]
 
static const size_t perm3A_2d [3][3]
 
static const size_t perm3B_2d [3][3]
 
static const size_t perm3C_2d [3][3]
 
static const size_t perm6_2d [6][3]
 
const size_t NodalTriFeketeAvailable = 16
 
static const size_t NodalTriFeketeNPTS [NodalTriFeketeAvailable]
 
static const NekDouble NodalTriFeketeData [][6]
 
const size_t NodalTriSPIAvailable = 10
 
static const size_t NodalTriSPINPTS [NodalTriSPIAvailable]
 
static const NekDouble NodalTriSPIData [][3]
 
static std::vector< LibUtilities::PointsTypeNullPointsTypeVector
 
Nektar::LibUtilities::functions functions_p
 

Typedef Documentation

◆ AT

template<class T >
using Nektar::LibUtilities::AT = typedef Array<OneD, T>

Definition at line 45 of file TimeIntegrationTypes.hpp.

◆ BasisKeyVector

Name for a vector of BasisKeys.

Definition at line 68 of file FoundationsFwd.hpp.

◆ BasisManagerT

Definition at line 47 of file ManagerAccess.h.

◆ BasisSharedPtr

typedef std::shared_ptr<Basis> Nektar::LibUtilities::BasisSharedPtr

Definition at line 69 of file FoundationsFwd.hpp.

◆ BasisVector

Definition at line 70 of file FoundationsFwd.hpp.

◆ CmdLineArgMap

typedef std::map<std::string, CmdLineArg> Nektar::LibUtilities::CmdLineArgMap

Definition at line 77 of file SessionReader.h.

◆ CommCwipiSharedPtr

Pointer to a Communicator object.

Definition at line 50 of file CommCwipi.h.

◆ CommDataType

typedef unsigned int Nektar::LibUtilities::CommDataType

Definition at line 65 of file CommDataType.h.

◆ CommFactory

Datatype of the NekFactory used to instantiate classes derived from the EquationSystem class.

Definition at line 59 of file Comm.h.

◆ CommMpiSharedPtr

Pointer to a Communicator object.

Definition at line 56 of file CommMpi.h.

◆ CommRequestMpiSharedPtr

Definition at line 86 of file CommMpi.h.

◆ CommRequestSharedPtr

Definition at line 84 of file Comm.h.

◆ CommSerialSharedPtr

Pointer to a Communicator object.

Definition at line 49 of file CommSerial.h.

◆ CommSharedPtr

typedef std::shared_ptr<Comm> Nektar::LibUtilities::CommSharedPtr

Pointer to a Communicator object.

Definition at line 55 of file Comm.h.

◆ ComplexDoubleArray

Definition at line 57 of file TimeIntegrationTypes.hpp.

◆ ComplexSingleArray

Definition at line 59 of file TimeIntegrationTypes.hpp.

◆ ComplexTripleArray

Definition at line 55 of file TimeIntegrationTypes.hpp.

◆ ConstComplexDoubleArray

typedef const AT<const AT< std::complex<NekDouble> > > Nektar::LibUtilities::ConstComplexDoubleArray

Definition at line 56 of file TimeIntegrationTypes.hpp.

◆ ConstComplexSingleArray

typedef const AT< const std::complex<NekDouble> > Nektar::LibUtilities::ConstComplexSingleArray

Definition at line 58 of file TimeIntegrationTypes.hpp.

◆ ConstDoubleArray

Definition at line 50 of file TimeIntegrationTypes.hpp.

◆ ConstSingleArray

Definition at line 52 of file TimeIntegrationTypes.hpp.

◆ ConstTripleArray

Definition at line 48 of file TimeIntegrationTypes.hpp.

◆ CsvIOSharedPtr

typedef std::shared_ptr<CsvIO> Nektar::LibUtilities::CsvIOSharedPtr

Definition at line 74 of file CsvIO.h.

◆ DataSourceSharedPtr

Definition at line 88 of file FieldIO.h.

◆ DomainRangeShPtr

Definition at line 69 of file DomainRange.h.

◆ DoubleArray

Definition at line 51 of file TimeIntegrationTypes.hpp.

◆ EnumMap

typedef std::map<std::string, int> Nektar::LibUtilities::EnumMap

Definition at line 79 of file SessionReader.h.

◆ EnumMapList

typedef std::map<std::string, EnumMap> Nektar::LibUtilities::EnumMapList

Definition at line 80 of file SessionReader.h.

◆ EquationSharedPtr

Definition at line 131 of file Equation.h.

◆ FieldDefinitionsSharedPtr

Definition at line 184 of file FieldIO.h.

◆ FieldIOFactory

Datatype of the NekFactory used to instantiate classes.

Definition at line 205 of file FieldIO.h.

◆ FieldIOSharedPtr

Definition at line 322 of file FieldIO.h.

◆ FieldMetaDataMap

typedef std::map<std::string, std::string> Nektar::LibUtilities::FieldMetaDataMap

Definition at line 50 of file FieldIO.h.

◆ FilterMap

Definition at line 68 of file SessionReader.h.

◆ FilterParams

typedef std::map<std::string, std::string> Nektar::LibUtilities::FilterParams

Definition at line 61 of file SessionReader.h.

◆ FractionalInTimeIntegrationSchemeSharedPtr

Definition at line 78 of file TimeIntegrationTypes.hpp.

◆ FractionalInTimeIntegrationSchemeVector

Definition at line 81 of file TimeIntegrationTypes.hpp.

◆ FunctionMap

Definition at line 116 of file SessionReader.h.

◆ FunctionVariableMap

typedef std::map<std::pair<std::string, int>, FunctionVariableDefinition> Nektar::LibUtilities::FunctionVariableMap

Definition at line 115 of file SessionReader.h.

◆ GeometricInfoMap

typedef std::map<std::string, std::string> Nektar::LibUtilities::GeometricInfoMap

Definition at line 58 of file SessionReader.h.

◆ GloSysInfoMap

typedef std::map< std::string, std::string > Nektar::LibUtilities::GloSysInfoMap

Definition at line 82 of file SessionReader.h.

◆ GloSysSolnInfoList

typedef std::map< std::string, GloSysInfoMap > Nektar::LibUtilities::GloSysSolnInfoList

Definition at line 83 of file SessionReader.h.

◆ GraphVertexID

Definition at line 74 of file FoundationsFwd.hpp.

◆ H5DataSourceSharedPtr

Definition at line 86 of file FieldIOHdf5.h.

◆ H5TagWriterSharedPtr

Definition at line 117 of file FieldIOHdf5.h.

◆ InterpolatorSharedPtr

Definition at line 223 of file LibUtilities/BasicUtils/Interpolator.h.

◆ InterpreterSharedPtr

Definition at line 322 of file Interpreter.h.

◆ NekFFTWSharedPtr

Definition at line 57 of file NekFFTW.h.

◆ NekLinSysIterCGLocSharedPtr

Definition at line 46 of file NekLinSysIterCGLoc.h.

◆ NekLinSysIterCGSharedPtr

Definition at line 46 of file NekLinSysIterCG.h.

◆ NekLinSysIterFactory

Definition at line 52 of file NekLinSysIter.h.

◆ NekLinSysIterFixedpointJacobiSharedPtr

Definition at line 46 of file NekLinSysIterFixedpointJacobi.h.

◆ NekLinSysIterSharedPtr

Definition at line 47 of file NekLinSysIter.h.

◆ NekNonlinSysIterFactory

Definition at line 51 of file NekNonlinSysIter.h.

◆ NekNonlinSysIterSharedPtr

Definition at line 46 of file NekNonlinSysIter.h.

◆ NekSysSharedPtr

Definition at line 242 of file NekSys.h.

◆ NektarFFTFactory

Datatype of the NekFactory used to instantiate classes derived from the NektarFFT class.

Definition at line 62 of file NektarFFT.h.

◆ NektarFFTSharedPtr

Definition at line 58 of file NektarFFT.h.

◆ NoTimeIntegrationSchemeSharedPtr

Definition at line 72 of file TimeIntegrationTypes.hpp.

◆ ParameterMap

typedef std::map<std::string, NekDouble> Nektar::LibUtilities::ParameterMap

Definition at line 57 of file SessionReader.h.

◆ PFD

typedef NekDouble(* Nektar::LibUtilities::PFD) ()

Definition at line 90 of file Interpreter/Interpreter.cpp.

◆ PFD1

typedef NekDouble(* Nektar::LibUtilities::PFD1) (NekDouble)

Definition at line 91 of file Interpreter/Interpreter.cpp.

◆ PFD2

typedef NekDouble(* Nektar::LibUtilities::PFD2) (NekDouble, NekDouble)

Definition at line 92 of file Interpreter/Interpreter.cpp.

◆ PFD3

typedef NekDouble(* Nektar::LibUtilities::PFD3) (NekDouble, NekDouble, NekDouble)

Definition at line 93 of file Interpreter/Interpreter.cpp.

◆ PFD4

typedef NekDouble(* Nektar::LibUtilities::PFD4) (NekDouble, NekDouble, NekDouble, NekDouble)

Definition at line 94 of file Interpreter/Interpreter.cpp.

◆ PointsBaseType

Definition at line 72 of file FoundationsFwd.hpp.

◆ PointsKeyVector

Definition at line 231 of file Points.h.

◆ PointsManagerT

Definition at line 46 of file ManagerAccess.h.

◆ PointsSharedPtr

Definition at line 73 of file FoundationsFwd.hpp.

◆ PtsFieldSharedPtr

Definition at line 184 of file PtsField.h.

◆ PtsIOSharedPtr

typedef std::shared_ptr<PtsIO> Nektar::LibUtilities::PtsIOSharedPtr

Definition at line 90 of file PtsIO.h.

◆ PtsMetaDataMap

typedef std::map<std::string, std::string> Nektar::LibUtilities::PtsMetaDataMap

Definition at line 56 of file PtsIO.h.

◆ SessionReaderSharedPtr

Definition at line 119 of file SessionReader.h.

◆ SharedMatrix

Definition at line 49 of file NodalUtil.h.

◆ SingleArray

Definition at line 53 of file TimeIntegrationTypes.hpp.

◆ SolverInfoMap

typedef std::map<std::string, std::string> Nektar::LibUtilities::SolverInfoMap

Definition at line 56 of file SessionReader.h.

◆ TagMap

typedef std::map<std::string, std::string> Nektar::LibUtilities::TagMap

Definition at line 60 of file SessionReader.h.

◆ TagWriterSharedPtr

Definition at line 78 of file FieldIO.h.

◆ TimeIntegrationAlgorithmGLMSharedPtr

Definition at line 96 of file TimeIntegrationTypes.hpp.

◆ TimeIntegrationAlgorithmGLMVector

Definition at line 99 of file TimeIntegrationTypes.hpp.

◆ TimeIntegrationSchemeFactory

typedef NekFactory<std::string, TimeIntegrationScheme, std::string, size_t, std::vector<NekDouble> > Nektar::LibUtilities::TimeIntegrationSchemeFactory

Datatype of the NekFactory used to instantiate classes derived from the EquationSystem class.

Definition at line 61 of file TimeIntegrationScheme.h.

◆ TimeIntegrationSchemeGEMSharedPtr

Definition at line 114 of file TimeIntegrationTypes.hpp.

◆ TimeIntegrationSchemeGEMVector

Definition at line 117 of file TimeIntegrationTypes.hpp.

◆ TimeIntegrationSchemeGLMSharedPtr

Definition at line 87 of file TimeIntegrationTypes.hpp.

◆ TimeIntegrationSchemeGLMVector

Definition at line 90 of file TimeIntegrationTypes.hpp.

◆ TimeIntegrationSchemeOperatorsSharedPtr

Definition at line 56 of file TimeIntegrationSchemeOperators.h.

◆ TimeIntegrationSchemeSDCSharedPtr

Definition at line 123 of file TimeIntegrationTypes.hpp.

◆ TimeIntegrationSchemeSDCVector

Definition at line 126 of file TimeIntegrationTypes.hpp.

◆ TimeIntegrationSchemeSharedPtr

Definition at line 65 of file TimeIntegrationTypes.hpp.

◆ TimeIntegrationSchemeVector

Definition at line 67 of file TimeIntegrationTypes.hpp.

◆ TimeIntegrationSolutionGLMSharedPtr

Definition at line 105 of file TimeIntegrationTypes.hpp.

◆ TimeIntegrationSolutionGLMVector

Definition at line 108 of file TimeIntegrationTypes.hpp.

◆ TranspositionSharedPtr

Definition at line 160 of file Transposition.h.

◆ TripleArray

Definition at line 49 of file TimeIntegrationTypes.hpp.

◆ VariableList

typedef std::vector<std::string> Nektar::LibUtilities::VariableList

Definition at line 59 of file SessionReader.h.

◆ XmlDataSourceSharedPtr

Definition at line 109 of file FieldIOXml.h.

◆ XmlTagWriterSharedPtr

Definition at line 166 of file FieldIOXml.h.

Enumeration Type Documentation

◆ BasisType

Enumerator
eNoBasisType 
eOrtho_A 

Principle Orthogonal Functions \(\widetilde{\psi}^a_p(z_i)\).

eOrtho_B 

Principle Orthogonal Functions \(\widetilde{\psi}^b_{pq}(z_i)\).

eOrtho_C 

Principle Orthogonal Functions \(\widetilde{\psi}^c_{pqr}(z_i)\).

eModified_A 

Principle Modified Functions \( \phi^a_p(z_i) \).

eModified_B 

Principle Modified Functions \( \phi^b_{pq}(z_i) \).

eModified_C 

Principle Modified Functions \( \phi^c_{pqr}(z_i) \).

eOrthoPyr_C 

Principle Orthogonal Functions \(\widetilde{\psi}^c_{pqr}(z_i) for Pyramids\).

eModifiedPyr_C 

Principle Modified Functions.

eFourier 

Fourier Expansion \( \exp(i p\pi z_i)\).

eGLL_Lagrange 

Lagrange for SEM basis \( h_p(z_i) \).

eGauss_Lagrange 

Lagrange Polynomials using the Gauss points.

h_p 

Legendre Polynomials \( L_p(z_i) = P^{0,0}_p(z_i)\). Same as Ortho_A.

eChebyshev 

Chebyshev Polynomials.

Monomial polynomials \( L_p(z_i) = z_i^{p}\).

eFourierSingleMode 

Fourier ModifiedExpansion with just the first mode \( \exp(i \pi z_i)\).

eFourierHalfModeRe 

Fourier Modified expansions with just the real part of the first mode \( Re[\exp(i \pi z_i)]\).

eFourierHalfModeIm 

Fourier Modified expansions with just the imaginary part of the first mode \( Im[\exp(i \pi z_i)]\).

SIZE_BasisType 

Length of enum list.

Definition at line 39 of file BasisType.h.

40{
42 eOrtho_A, //!< Principle Orthogonal Functions
43 //!< \f$\widetilde{\psi}^a_p(z_i)\f$
44 eOrtho_B, //!< Principle Orthogonal Functions
45 //!< \f$\widetilde{\psi}^b_{pq}(z_i)\f$
46 eOrtho_C, //!< Principle Orthogonal Functions
47 //!< \f$\widetilde{\psi}^c_{pqr}(z_i)\f$
48 eModified_A, //!< Principle Modified Functions \f$ \phi^a_p(z_i) \f$
49 eModified_B, //!< Principle Modified Functions \f$ \phi^b_{pq}(z_i) \f$
50 eModified_C, //!< Principle Modified Functions \f$ \phi^c_{pqr}(z_i) \f$
51 eOrthoPyr_C, //!< Principle Orthogonal Functions
52 //!< \f$\widetilde{\psi}^c_{pqr}(z_i) for Pyramids\f$
53 eModifiedPyr_C, //!< Principle Modified Functions \f$ \phi^c_{pqr}(z_i) for
54 //!< Pyramids\f$
55 eFourier, //!< Fourier Expansion \f$ \exp(i p\pi z_i)\f$
56 eGLL_Lagrange, //!< Lagrange for SEM basis \f$ h_p(z_i) \f$
57 eGauss_Lagrange, //!< Lagrange Polynomials using the Gauss points \f$
58 //!< h_p(z_i) \f$
59 eLegendre, //!< Legendre Polynomials \f$ L_p(z_i) = P^{0,0}_p(z_i)\f$. Same
60 //!< as Ortho_A
61 eChebyshev, //!< Chebyshev Polynomials \f$ T_p(z_i) =
62 //!< P^{-1/2,-1/2}_p(z_i)\f$
63 eMonomial, //!< Monomial polynomials \f$ L_p(z_i) = z_i^{p}\f$
64 eFourierSingleMode, //!< Fourier ModifiedExpansion with just the first mode
65 //!< \f$ \exp(i \pi z_i)\f$
66 eFourierHalfModeRe, //!< Fourier Modified expansions with just the real part
67 //!< of the first mode \f$ Re[\exp(i \pi z_i)]\f$
68 eFourierHalfModeIm, //!< Fourier Modified expansions with just the imaginary
69 //!< part of the first mode \f$ Im[\exp(i \pi z_i)]\f$
70 SIZE_BasisType //!< Length of enum list
71};
@ eModified_B
Principle Modified Functions .
Definition BasisType.h:49
@ eGauss_Lagrange
Lagrange Polynomials using the Gauss points.
Definition BasisType.h:57
@ eOrtho_A
Principle Orthogonal Functions .
Definition BasisType.h:42
@ eModified_C
Principle Modified Functions .
Definition BasisType.h:50
@ eGLL_Lagrange
Lagrange for SEM basis .
Definition BasisType.h:56
@ SIZE_BasisType
Length of enum list.
Definition BasisType.h:70
@ eFourierSingleMode
Fourier ModifiedExpansion with just the first mode .
Definition BasisType.h:64
@ eChebyshev
Chebyshev Polynomials.
Definition BasisType.h:61
@ eOrtho_C
Principle Orthogonal Functions .
Definition BasisType.h:46
@ eModifiedPyr_C
Principle Modified Functions.
Definition BasisType.h:53
@ eOrtho_B
Principle Orthogonal Functions .
Definition BasisType.h:44
@ eModified_A
Principle Modified Functions .
Definition BasisType.h:48
@ eFourierHalfModeIm
Fourier Modified expansions with just the imaginary part of the first mode .
Definition BasisType.h:68
@ eFourierHalfModeRe
Fourier Modified expansions with just the real part of the first mode .
Definition BasisType.h:66
@ eOrthoPyr_C
Principle Orthogonal Functions .
Definition BasisType.h:51
@ eFourier
Fourier Expansion .
Definition BasisType.h:55

◆ EndianType

Enumerator
eEndianUnknown 
eEndianBig 
eEndianLittle 
eEndianBigWord 
eEndianLittleWord 

Definition at line 48 of file CompressData.h.

49{
53 eEndianBigWord, /* Middle-endian, Honeywell 316 style */
54 eEndianLittleWord /* Middle-endian, PDP-11 style */
55};

◆ FieldIOType

Enumerator for auto-detection of FieldIO types.

Enumerator
eXML 
eHDF5 

Definition at line 76 of file FieldIO.cpp.

◆ FunctionType

Enumerator
eFunctionTypeExpression 
eFunctionTypeFile 
eFunctionTypeTransientFile 
eSIZE_FunctionType 

Definition at line 96 of file SessionReader.h.

◆ InterpMethod

◆ PointsType

Enumerator
eNoPointsType 
eGaussGaussLegendre 

1D Gauss-Gauss-Legendre quadrature points

eGaussRadauMLegendre 

1D Gauss-Radau-Legendre quadrature points, pinned at x=-1

eGaussRadauPLegendre 

1D Gauss-Radau-Legendre quadrature points, pinned at x=1

eGaussLobattoLegendre 

1D Gauss-Lobatto-Legendre quadrature points

eGaussGaussChebyshev 

1D Gauss-Gauss-Chebyshev quadrature points

eGaussRadauMChebyshev 

1D Gauss-Radau-Chebyshev quadrature points, pinned at x=-1

eGaussRadauPChebyshev 

1D Gauss-Radau-Chebyshev quadrature points, pinned at x=1

eGaussLobattoChebyshev 

1D Gauss-Lobatto-Legendre quadrature points

eGaussRadauMAlpha0Beta1 

Gauss Radau pinned at x=-1,.

beta 

Gauss Radau pinned at x=-1,.

1D Gauss-Kronrod-Legendre quadrature points

Gauss Radau pinned at x=-1,.

Gauss Radau pinned at x=-1,.

beta 

Gauss Radau pinned at x=-1,.

1D Gauss-Kronrod-Legendre quadrature points

Gauss Radau pinned at x=-1,.

Gauss Radau pinned at x=-1,.

beta 

Gauss Radau pinned at x=-1,.

1D Gauss-Kronrod-Legendre quadrature points

Gauss Radau pinned at x=-1,.

Gauss Radau pinned at x=-1,.

beta 

Gauss Radau pinned at x=-1,.

1D Gauss-Kronrod-Legendre quadrature points

Gauss Radau pinned at x=-1,.

Gauss Radau pinned at x=-1,.

eGaussRadauKronrodMLegendre 

1D Gauss-Radau-Kronrod-Legendre quadrature points, pinned at x=-1

eGaussRadauKronrodMAlpha1Beta0 

1D Gauss-Radau-Kronrod-Legendre pinned at x=-1,

eGaussLobattoKronrodLegendre 

1D Lobatto Kronrod quadrature points

ePolyEvenlySpaced 

1D Evenly-spaced points using Lagrange polynomial

eFourierEvenlySpaced 

1D Evenly-spaced points using Fourier Fit

eFourierSingleModeSpaced 

1D Non Evenly-spaced points for Single Mode analysis

eBoundaryLayerPoints 

1D power law distribution for boundary layer points

eBoundaryLayerPointsRev 

1D power law distribution for boundary layer points

eNodalTriElec 

2D Nodal Electrostatic Points on a Triangle

eNodalTriFekete 

2D Nodal Fekete Points on a Triangle

eNodalTriEvenlySpaced 

2D Evenly-spaced points on a Triangle

eNodalTetEvenlySpaced 

3D Evenly-spaced points on a Tetrahedron

eNodalTetElec 

3D Nodal Electrostatic Points on a Tetrahedron

eNodalPrismEvenlySpaced 

3D Evenly-spaced points on a Prism

eNodalPrismElec 

3D electrostatically spaced points on a Prism

eNodalTriSPI 

2D Nodal Symmetric positive internal triangle (Whitherden, Vincent)

eNodalTetSPI 

3D Nodal Symmetric positive internal tet (Whitherden, Vincent)

eNodalPrismSPI 

3D prism SPI

eNodalQuadElec 

2D GLL for quad

eNodalHexElec 

3D GLL for hex

eGaussLegendreWithMP 

1D Gauss-Legendre quadrature points with additional x=-1 and x=1 end points

eGaussLegendreWithM 

1D Gauss-Legendre quadrature points with additional x=-1 point

SIZE_PointsType 

Length of enum list.

Definition at line 43 of file PointsType.h.

44{
46 eGaussGaussLegendre, //!< 1D Gauss-Gauss-Legendre quadrature points
47 eGaussRadauMLegendre, //!< 1D Gauss-Radau-Legendre quadrature points,
48 //!< pinned at x=-1
49 eGaussRadauPLegendre, //!< 1D Gauss-Radau-Legendre quadrature points,
50 //!< pinned at x=1
51 eGaussLobattoLegendre, //!< 1D Gauss-Lobatto-Legendre quadrature points
52 eGaussGaussChebyshev, //!< 1D Gauss-Gauss-Chebyshev quadrature points
53 eGaussRadauMChebyshev, //!< 1D Gauss-Radau-Chebyshev quadrature points,
54 //!< pinned at x=-1
55 eGaussRadauPChebyshev, //!< 1D Gauss-Radau-Chebyshev quadrature points,
56 //!< pinned at x=1
57 eGaussLobattoChebyshev, //!< 1D Gauss-Lobatto-Legendre quadrature points
58 eGaussRadauMAlpha0Beta1, //!< Gauss Radau pinned at x=-1, \f$ \alpha = 0,
59 //!< \beta = 1 \f$
60 eGaussRadauMAlpha0Beta2, //!< Gauss Radau pinned at x=-1, \f$ \alpha = 0,
61 //!< \beta = 2 \f$
62 eGaussRadauMAlpha1Beta0, //!< Gauss Radau pinned at x=-1, \f$ \alpha = 1,
63 //!< \beta = 0 \f$
64 eGaussRadauMAlpha2Beta0, //!< Gauss Radau pinned at x=-1, \f$ \alpha = 2,
65 //!< \beta = 0 \f$
66 eGaussKronrodLegendre, //!< 1D Gauss-Kronrod-Legendre quadrature points
67 eGaussRadauKronrodMLegendre, //!< 1D Gauss-Radau-Kronrod-Legendre
68 //!< quadrature points, pinned at x=-1
69 eGaussRadauKronrodMAlpha1Beta0, //!< 1D Gauss-Radau-Kronrod-Legendre pinned
70 //!< at x=-1, \f$ \alpha = 1, \beta = 0
71 //!< \f$
72 eGaussLobattoKronrodLegendre, //!< 1D Lobatto Kronrod quadrature points
73 ePolyEvenlySpaced, //!< 1D Evenly-spaced points using Lagrange polynomial
74 eFourierEvenlySpaced, //!< 1D Evenly-spaced points using Fourier Fit
75 eFourierSingleModeSpaced, //!< 1D Non Evenly-spaced points for Single Mode
76 //!< analysis
77 eBoundaryLayerPoints, //!< 1D power law distribution for boundary layer
78 //!< points
79 eBoundaryLayerPointsRev, //!< 1D power law distribution for boundary layer
80 //!< points
81 eNodalTriElec, //!< 2D Nodal Electrostatic Points on a Triangle
82 eNodalTriFekete, //!< 2D Nodal Fekete Points on a Triangle
83 eNodalTriEvenlySpaced, //!< 2D Evenly-spaced points on a Triangle
84 eNodalTetEvenlySpaced, //!< 3D Evenly-spaced points on a Tetrahedron
85 eNodalTetElec, //!< 3D Nodal Electrostatic Points on a Tetrahedron
86 eNodalPrismEvenlySpaced, //!< 3D Evenly-spaced points on a Prism
87 eNodalPrismElec, //!< 3D electrostatically spaced points on a Prism
88 eNodalTriSPI, //!< 2D Nodal Symmetric positive internal triangle
89 //!< (Whitherden, Vincent)
90 eNodalTetSPI, //!< 3D Nodal Symmetric positive internal tet (Whitherden,
91 //!< Vincent)
92 eNodalPrismSPI, //!< 3D prism SPI
93 eNodalQuadElec, //!< 2D GLL for quad
94 eNodalHexElec, //!< 3D GLL for hex
95 eGaussLegendreWithMP, //!< 1D Gauss-Legendre quadrature points with
96 //!< additional x=-1 and x=1 end points
97 eGaussLegendreWithM, //!< 1D Gauss-Legendre quadrature points with
98 //!< additional x=-1 point
99 SIZE_PointsType //!< Length of enum list
100};
@ eNodalPrismEvenlySpaced
3D Evenly-spaced points on a Prism
Definition PointsType.h:86
@ SIZE_PointsType
Length of enum list.
Definition PointsType.h:99
@ eNodalTriFekete
2D Nodal Fekete Points on a Triangle
Definition PointsType.h:82
@ eGaussRadauMLegendre
1D Gauss-Radau-Legendre quadrature points, pinned at x=-1
Definition PointsType.h:47
@ eGaussLegendreWithMP
1D Gauss-Legendre quadrature points with additional x=-1 and x=1 end points
Definition PointsType.h:95
@ eNodalPrismSPI
3D prism SPI
Definition PointsType.h:92
@ eBoundaryLayerPoints
1D power law distribution for boundary layer points
Definition PointsType.h:77
@ eGaussRadauMAlpha0Beta1
Gauss Radau pinned at x=-1,.
Definition PointsType.h:58
@ eGaussRadauKronrodMLegendre
1D Gauss-Radau-Kronrod-Legendre quadrature points, pinned at x=-1
Definition PointsType.h:67
@ eGaussLobattoChebyshev
1D Gauss-Lobatto-Legendre quadrature points
Definition PointsType.h:57
@ eFourierEvenlySpaced
1D Evenly-spaced points using Fourier Fit
Definition PointsType.h:74
@ eNodalTriElec
2D Nodal Electrostatic Points on a Triangle
Definition PointsType.h:81
@ eGaussRadauPChebyshev
1D Gauss-Radau-Chebyshev quadrature points, pinned at x=1
Definition PointsType.h:55
@ eNodalTriEvenlySpaced
2D Evenly-spaced points on a Triangle
Definition PointsType.h:83
@ eNodalHexElec
3D GLL for hex
Definition PointsType.h:94
@ eGaussRadauMChebyshev
1D Gauss-Radau-Chebyshev quadrature points, pinned at x=-1
Definition PointsType.h:53
@ eGaussRadauKronrodMAlpha1Beta0
1D Gauss-Radau-Kronrod-Legendre pinned at x=-1,
Definition PointsType.h:69
@ eGaussLobattoLegendre
1D Gauss-Lobatto-Legendre quadrature points
Definition PointsType.h:51
@ eGaussLegendreWithM
1D Gauss-Legendre quadrature points with additional x=-1 point
Definition PointsType.h:97
@ eNodalQuadElec
2D GLL for quad
Definition PointsType.h:93
@ eNodalTetEvenlySpaced
3D Evenly-spaced points on a Tetrahedron
Definition PointsType.h:84
@ eGaussGaussChebyshev
1D Gauss-Gauss-Chebyshev quadrature points
Definition PointsType.h:52
@ eNodalTetSPI
3D Nodal Symmetric positive internal tet (Whitherden, Vincent)
Definition PointsType.h:90
@ eBoundaryLayerPointsRev
1D power law distribution for boundary layer points
Definition PointsType.h:79
@ ePolyEvenlySpaced
1D Evenly-spaced points using Lagrange polynomial
Definition PointsType.h:73
@ eGaussLobattoKronrodLegendre
1D Lobatto Kronrod quadrature points
Definition PointsType.h:72
@ eGaussGaussLegendre
1D Gauss-Gauss-Legendre quadrature points
Definition PointsType.h:46
@ eFourierSingleModeSpaced
1D Non Evenly-spaced points for Single Mode analysis
Definition PointsType.h:75
@ eNodalPrismElec
3D electrostatically spaced points on a Prism
Definition PointsType.h:87
@ eNodalTetElec
3D Nodal Electrostatic Points on a Tetrahedron
Definition PointsType.h:85
@ eGaussRadauPLegendre
1D Gauss-Radau-Legendre quadrature points, pinned at x=1
Definition PointsType.h:49
@ eNodalTriSPI
2D Nodal Symmetric positive internal triangle (Whitherden, Vincent)
Definition PointsType.h:88

◆ PtsInfo

Enumerator
eIsEquiSpacedData 
ePtsPerElmtEdge 

Definition at line 60 of file PtsField.h.

◆ PtsType

Enumerator
ePtsFile 
ePtsLine 
ePtsPlane 
ePtsBox 
ePtsSegBlock 
ePtsTriBlock 
ePtsTetBlock 

Definition at line 49 of file PtsField.h.

◆ ReduceOperator

Type of operation to perform in AllReduce.

Enumerator
ReduceSum 
ReduceMax 
ReduceMin 
SIZE_ReduceOperator 

Definition at line 64 of file Comm.h.

◆ ShapeType

Enumerator
eNoShapeType 
ePoint 
eSegment 
eTriangle 
eQuadrilateral 
eTetrahedron 
ePyramid 
ePrism 
eHexahedron 
SIZE_ShapeType 
Point 
Seg 
Tri 
Quad 
Tet 
Pyr 
Prism 
Hex 

Definition at line 51 of file ShapeType.hpp.

52{
54 ePoint,
60 ePrism,
63
64 // These are the short names used for MatrixFree operators
65 Point = ePoint,
66 Seg = eSegment,
67 Tri = eTriangle,
70 Pyr = ePyramid,
71 Prism = ePrism,
73};

◆ TimeIntegrationSchemeType

Enumerator
eNoTimeIntegrationSchemeType 
eExplicit 

Formally explicit scheme.

eDiagonallyImplicit 

Diagonally implicit scheme (e.g. the DIRK schemes)

eIMEX 

Implicit Explicit General Linear Method.

eImplicit 

Fully implicit scheme.

eExponential 

Exponential scheme.

eFractionalInTime 

Fractional in Time scheme.

Definition at line 129 of file TimeIntegrationTypes.hpp.

130{
132 eExplicit, //!< Formally explicit scheme
133 eDiagonallyImplicit, //!< Diagonally implicit scheme (e.g. the DIRK schemes)
134 eIMEX, //!< Implicit Explicit General Linear Method
135 eImplicit, //!< Fully implicit scheme
136 eExponential, //!< Exponential scheme
137 eFractionalInTime, //!< Fractional in Time scheme
138};
@ eFractionalInTime
Fractional in Time scheme.
@ eImplicit
Fully implicit scheme.
@ eExplicit
Formally explicit scheme.
@ eExponential
Exponential scheme.
@ eDiagonallyImplicit
Diagonally implicit scheme (e.g. the DIRK schemes)
@ eIMEX
Implicit Explicit General Linear Method.

◆ TranspositionDir

Enumerator
eXYtoZ 
eZtoXY 
eXtoYZ 
eYZtoX 
eYZtoZY 
eZYtoYZ 
eXtoY 
eYtoZ 
eZtoX 
eNoTrans 

Definition at line 49 of file Transposition.h.

Function Documentation

◆ ang()

static NekDouble Nektar::LibUtilities::ang ( NekDouble  x,
NekDouble  y 
)
static

◆ awgn()

NekDouble Nektar::LibUtilities::awgn ( NekDouble  sigma)

Definition at line 68 of file Interpreter/Interpreter.cpp.

69{
70
71 std::random_device rd;
72 std::mt19937 gen(rd());
73 return std::normal_distribution<>(0, sigma)(gen);
74}

Referenced by Nektar::LibUtilities::functions::functions().

◆ BasisManager()

BasisManagerT & Nektar::LibUtilities::BasisManager ( void  )

◆ checked_cast()

template<class To , class Ti , class = typename std::enable_if< std::is_floating_point_v<typename std::remove_reference<Ti>::type> && std::is_integral_v<typename std::remove_reference<To>::type>>::type>
To Nektar::LibUtilities::checked_cast ( const Ti  param)
inline

checked cast from float types only to int types

Definition at line 50 of file CheckedCast.hpp.

51{
52 Ti min = std::numeric_limits<To>::min();
53 Ti max = std::numeric_limits<To>::max();
54 ASSERTL0(param >= min, "Casting would narrow (underflow).");
55 ASSERTL0(param <= max, "Casting would narrow (overflow).");
56 return static_cast<To>(param);
57}
#define ASSERTL0(condition, msg)
scalarT< T > max(scalarT< T > lhs, scalarT< T > rhs)
Definition scalar.hpp:305
scalarT< T > min(scalarT< T > lhs, scalarT< T > rhs)
Definition scalar.hpp:300

References ASSERTL0, tinysimd::max(), and tinysimd::min().

◆ CommDataTypeGetSize()

int Nektar::LibUtilities::CommDataTypeGetSize ( CommDataType  dt)

Return the size in bytes of a data type dt.

Parameters
dtData type
Returns
Size of dt in bytes.

Definition at line 52 of file CommDataType.cpp.

53{
54#ifdef NEKTAR_USE_MPI
55 int size;
56 MPI_Type_size(dt, &size);
57 return size;
58#elif NEKTAR_USING_PETSC
59 if (dt == MPI_CHAR)
60 return sizeof(char);
61 else if (dt == MPI_INT)
62 return sizeof(int);
63 else if (dt == MPI_UNSIGNED)
64 return sizeof(unsigned);
65 else if (dt == MPI_LONG)
66 return sizeof(long);
67 else if (dt == MPI_UNSIGNED_LONG)
68 return sizeof(unsigned long);
69 else if (dt == MPI_LONG_LONG)
70 return sizeof(long long);
71 else if (dt == MPI_UNSIGNED_LONG_LONG)
72 return sizeof(unsigned long long);
73 else if (dt == MPI_FLOAT)
74 return sizeof(float);
75 else if (dt == MPI_DOUBLE)
76 return sizeof(double);
77 else if (dt == MPI_LONG_DOUBLE)
78 return sizeof(long double);
79 return sizeof(int);
80#else
81 switch (dt)
82 {
83 case MPI_CHAR:
84 return sizeof(char);
85 case MPI_INT:
86 return sizeof(int);
87 case MPI_UNSIGNED:
88 return sizeof(unsigned);
89 case MPI_LONG:
90 return sizeof(long);
92 return sizeof(unsigned long);
93 case MPI_LONG_LONG:
94 return sizeof(long long);
96 return sizeof(unsigned long long);
97 case MPI_FLOAT:
98 return sizeof(float);
99 case MPI_DOUBLE:
100 return sizeof(double);
101 case MPI_LONG_DOUBLE:
102 return sizeof(long double);
103 default:
104 ASSERTL0(false, "Unrecognised datatype!");
105 }
106 return sizeof(int);
107#endif
108}
#define MPI_UNSIGNED_LONG_LONG
#define MPI_INT
#define MPI_FLOAT
#define MPI_UNSIGNED_LONG
#define MPI_DOUBLE
#define MPI_LONG
#define MPI_CHAR
#define MPI_UNSIGNED
#define MPI_LONG_LONG
#define MPI_LONG_DOUBLE

References ASSERTL0, MPI_CHAR, MPI_DOUBLE, MPI_FLOAT, MPI_INT, MPI_LONG, MPI_LONG_DOUBLE, MPI_LONG_LONG, MPI_UNSIGNED, MPI_UNSIGNED_LONG, and MPI_UNSIGNED_LONG_LONG.

Referenced by Nektar::LibUtilities::CommSerial::v_Gather(), and Nektar::LibUtilities::CommSerial::v_Scatter().

◆ Endianness()

EndianType Nektar::LibUtilities::Endianness ( void  )

run time determination of endianness, returning an EndianType

Definition at line 62 of file CompressData.cpp.

63{
64 union
65 {
66 std::uint32_t value;
67 std::uint8_t data[sizeof(std::uint32_t)];
68 } number;
69
70 number.data[0] = 0x00;
71 number.data[1] = 0x01;
72 number.data[2] = 0x02;
73 number.data[3] = 0x03;
74
75 switch (number.value)
76 {
77 case UINT32_C(0x00010203):
78 return eEndianBig;
79 case UINT32_C(0x03020100):
80 return eEndianLittle;
81 case UINT32_C(0x02030001):
82 return eEndianBigWord;
83 case UINT32_C(0x01000302):
84 return eEndianLittleWord;
85 default:
86 return eEndianUnknown;
87 }
88}

References eEndianBig, eEndianBigWord, eEndianLittle, eEndianLittleWord, and eEndianUnknown.

Referenced by Nektar::LibUtilities::CompressData::GetCompressString(), and Nektar::FieldUtils::InputSemtex::v_Process().

◆ FACTORYREGISTER() [1/12]

Nektar::LibUtilities::FACTORYREGISTER ( AdamsBashforth  )

◆ FACTORYREGISTER() [2/12]

Nektar::LibUtilities::FACTORYREGISTER ( AdamsMoulton  )

◆ FACTORYREGISTER() [3/12]

Nektar::LibUtilities::FACTORYREGISTER ( BDFImplicit  )

◆ FACTORYREGISTER() [4/12]

Nektar::LibUtilities::FACTORYREGISTER ( CNAB  )

◆ FACTORYREGISTER() [5/12]

Nektar::LibUtilities::FACTORYREGISTER ( DIRK  )

◆ FACTORYREGISTER() [6/12]

Nektar::LibUtilities::FACTORYREGISTER ( Euler  )

◆ FACTORYREGISTER() [7/12]

Nektar::LibUtilities::FACTORYREGISTER ( EulerExponential  )

◆ FACTORYREGISTER() [8/12]

Nektar::LibUtilities::FACTORYREGISTER ( IMEX  )

◆ FACTORYREGISTER() [9/12]

Nektar::LibUtilities::FACTORYREGISTER ( IMEXdirk  )

◆ FACTORYREGISTER() [10/12]

Nektar::LibUtilities::FACTORYREGISTER ( MCNAB  )

◆ FACTORYREGISTER() [11/12]

Nektar::LibUtilities::FACTORYREGISTER ( NoScheme  )

◆ FACTORYREGISTER() [12/12]

Nektar::LibUtilities::FACTORYREGISTER ( RungeKutta  )

◆ GetChildElementOrThrow()

TiXmlElement * Nektar::LibUtilities::GetChildElementOrThrow ( const std::string &  filename,
std::string  elementName,
const TiXmlHandle &  docHandle 
)

Helper function that gets a pointer to a child element, or throws an exception if no such element exists

Definition at line 2640 of file BasicUtils/SessionReader.cpp.

2643{
2644 TiXmlElement *element = docHandle.FirstChildElement(elementName).Element();
2645
2646 if (!element)
2647 {
2648 NEKERROR(ErrorUtil::efatal, "Unable to find '" + elementName +
2649 "' XML node in " + filename);
2650 }
2651
2652 return element;
2653}
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mode...

References Nektar::ErrorUtil::efatal, and NEKERROR.

Referenced by Nektar::LibUtilities::SessionReader::MergeDoc().

◆ GetCommFactory()

CommFactory & Nektar::LibUtilities::GetCommFactory ( )

◆ GetDegreeOfExactness()

Get degree of exactness for quadrature points LIB_UTILITIES_EXPORT int Nektar::LibUtilities::GetDegreeOfExactness ( const PointsType  ptype,
const int  npt 
)

Definition at line 125 of file Foundations/Points.cpp.

126{
127 switch (ptype)
128 {
131 {
132 return 2 * npt - 1;
133 }
135 {
136 return 2 * (npt - 2) - 1;
137 }
138 case eGaussLegendreWithM:
139 {
140 return 2 * (npt - 1) - 1;
141 }
146 case eGaussRadauMAlpha0Beta2:
147 case eGaussRadauMAlpha1Beta0:
148 case eGaussRadauMAlpha2Beta0:
149 {
150 return 2 * npt - 2;
151 }
154 {
155 return 2 * npt - 3;
156 }
157 case eGaussKronrodLegendre:
158 {
159 return 3 * (npt - 1) / 2 + 1;
160 }
163 {
164 return 3 * (npt - 2) / 2; // not for sure
165 }
167 {
168 return 3 * (npt - 3) / 2; // not for sure
169 }
170 default:
171 break; // make it happy
172 }
173 return npt;
174}

References eGaussGaussChebyshev, eGaussGaussLegendre, eGaussLegendreWithM, eGaussLegendreWithMP, eGaussLobattoChebyshev, eGaussLobattoKronrodLegendre, eGaussLobattoLegendre, eGaussRadauKronrodMAlpha1Beta0, eGaussRadauKronrodMLegendre, eGaussRadauMAlpha0Beta1, eGaussRadauMChebyshev, eGaussRadauMLegendre, and eGaussRadauPLegendre.

◆ GetEffectiveQuadRange()

offset the m_nq_begin and m_nq_end according to the points type LIB_UTILITIES_EXPORT void Nektar::LibUtilities::GetEffectiveQuadRange ( const LibUtilities::PointsKey pkey,
int &  q_begin,
int &  q_end 
)

◆ GetFieldIOFactory()

FieldIOFactory & Nektar::LibUtilities::GetFieldIOFactory ( )

◆ GetNekLinSysIterFactory()

NekLinSysIterFactory & Nektar::LibUtilities::GetNekLinSysIterFactory ( )

◆ GetNekNonlinSysIterFactory()

NekNonlinSysIterFactory & Nektar::LibUtilities::GetNekNonlinSysIterFactory ( )

Definition at line 45 of file NekNonlinSysIter.cpp.

46{
47 static NekNonlinSysIterFactory instance;
48 return instance;
49}

Referenced by Nektar::CFSImplicit::InitialiseNonlinSysSolver(), and Nektar::ShallowWaterSystem::InitialiseNonlinSysSolver().

◆ GetNektarFFTFactory()

NektarFFTFactory & Nektar::LibUtilities::GetNektarFFTFactory ( )

◆ GetNumberOfCoefficients() [1/2]

int Nektar::LibUtilities::GetNumberOfCoefficients ( ShapeType  shape,
int  na,
int  nb = 0,
int  nc = 0 
)
inline

Definition at line 336 of file ShapeType.hpp.

338{
339 int returnval = 0;
340 switch (shape)
341 {
342 case eSegment:
343 returnval = na;
344 break;
345 case eTriangle:
346 returnval = StdTriData::getNumberOfCoefficients(na, nb);
347 break;
348 case eQuadrilateral:
349 returnval = na * nb;
350 break;
351 case eTetrahedron:
352 returnval = StdTetData::getNumberOfCoefficients(na, nb, nc);
353 break;
354 case ePyramid:
355 returnval = StdPyrData::getNumberOfCoefficients(na, nb, nc);
356 break;
357 case ePrism:
358 returnval = StdPrismData::getNumberOfCoefficients(na, nb, nc);
359 break;
360 case eHexahedron:
361 returnval = na * nb * nc;
362 break;
363 default:
364 NEKERROR(ErrorUtil::efatal, "Unknown Shape Type");
365 break;
366 }
367
368 return returnval;
369}

References Nektar::ErrorUtil::efatal, eHexahedron, ePrism, ePyramid, eQuadrilateral, eSegment, eTetrahedron, eTriangle, Nektar::LibUtilities::StdTriData::getNumberOfCoefficients(), Nektar::LibUtilities::StdTetData::getNumberOfCoefficients(), Nektar::LibUtilities::StdPyrData::getNumberOfCoefficients(), Nektar::LibUtilities::StdPrismData::getNumberOfCoefficients(), and NEKERROR.

◆ GetNumberOfCoefficients() [2/2]

int Nektar::LibUtilities::GetNumberOfCoefficients ( ShapeType  shape,
std::vector< unsigned int > &  modes,
int  offset = 0 
)
inline

Definition at line 296 of file ShapeType.hpp.

299{
300 int returnval = 0;
301 switch (shape)
302 {
303 case eSegment:
304 returnval = modes[offset];
305 break;
306 case eTriangle:
307 returnval = StdTriData::getNumberOfCoefficients(modes[offset],
308 modes[offset + 1]);
309 break;
310 case eQuadrilateral:
311 returnval = modes[offset] * modes[offset + 1];
312 break;
313 case eTetrahedron:
314 returnval = StdTetData::getNumberOfCoefficients(
315 modes[offset], modes[offset + 1], modes[offset + 2]);
316 break;
317 case ePyramid:
318 returnval = StdPyrData::getNumberOfCoefficients(
319 modes[offset], modes[offset + 1], modes[offset + 2]);
320 break;
321 case ePrism:
322 returnval = StdPrismData::getNumberOfCoefficients(
323 modes[offset], modes[offset + 1], modes[offset + 2]);
324 break;
325 case eHexahedron:
326 returnval = modes[offset] * modes[offset + 1] * modes[offset + 2];
327 break;
328 default:
329 NEKERROR(ErrorUtil::efatal, "Unknown Shape Type");
330 break;
331 }
332
333 return returnval;
334}

References Nektar::ErrorUtil::efatal, eHexahedron, ePrism, ePyramid, eQuadrilateral, eSegment, eTetrahedron, eTriangle, Nektar::LibUtilities::StdTriData::getNumberOfCoefficients(), Nektar::LibUtilities::StdTetData::getNumberOfCoefficients(), Nektar::LibUtilities::StdPyrData::getNumberOfCoefficients(), Nektar::LibUtilities::StdPrismData::getNumberOfCoefficients(), and NEKERROR.

Referenced by Nektar::StdRegions::StdExpansion::PhysInterpToSimplexEquiSpaced(), and Nektar::FieldUtils::ProcessHalfModeToFourier::v_Process().

◆ GetNumberOfDataPoints()

int Nektar::LibUtilities::GetNumberOfDataPoints ( const FieldDefinitionsSharedPtr fielddefs,
unsigned int &  cnt 
)

Compute the number of values needed to store elemental expansion.

Parameters
fielddefsField definitions
cntCounter into the fielddefs->m_numModes array. This variable is updated by the function

Definition at line 586 of file FieldIO.cpp.

588{
589 int NCoeffs = 0;
590
591 switch (fielddefs->m_shapeType)
592 {
593 case eSegment:
594 {
595 int l = fielddefs->m_numModes[cnt++];
596 if (fielddefs->m_numHomogeneousDir == 1)
597 {
598 NCoeffs = l * fielddefs->m_homogeneousZIDs.size();
599 cnt++;
600 }
601 else if (fielddefs->m_numHomogeneousDir == 2)
602 {
603 NCoeffs = l * fielddefs->m_homogeneousYIDs.size();
604 cnt += 2;
605 }
606 else
607 {
608 NCoeffs = l;
609 }
610 }
611 break;
612 case eTriangle:
613 {
614 int l = fielddefs->m_numModes[cnt++];
615 int m = fielddefs->m_numModes[cnt++];
616 if (fielddefs->m_numHomogeneousDir == 1)
617 {
618 NCoeffs = StdTriData::getNumberOfCoefficients(l, m) *
619 fielddefs->m_homogeneousZIDs.size();
620 cnt++;
621 }
622 else
623 {
624 NCoeffs = StdTriData::getNumberOfCoefficients(l, m);
625 }
626 }
627 break;
628 case eQuadrilateral:
629 {
630 int l = fielddefs->m_numModes[cnt++];
631 int m = fielddefs->m_numModes[cnt++];
632 if (fielddefs->m_numHomogeneousDir == 1)
633 {
634 NCoeffs = StdQuadData::getNumberOfCoefficients(l, m) *
635 fielddefs->m_homogeneousZIDs.size();
636 cnt++;
637 }
638 else
639 {
640 NCoeffs = StdQuadData::getNumberOfCoefficients(l, m);
641 }
642 }
643 break;
644 case eTetrahedron:
645 {
646 int l = fielddefs->m_numModes[cnt++];
647 int m = fielddefs->m_numModes[cnt++];
648 int n = fielddefs->m_numModes[cnt++];
649 NCoeffs = StdTetData::getNumberOfCoefficients(l, m, n);
650 }
651 break;
652 case ePyramid:
653 {
654 int l = fielddefs->m_numModes[cnt++];
655 int m = fielddefs->m_numModes[cnt++];
656 int n = fielddefs->m_numModes[cnt++];
657 NCoeffs = StdPyrData::getNumberOfCoefficients(l, m, n);
658 }
659 break;
660 case ePrism:
661 {
662 int l = fielddefs->m_numModes[cnt++];
663 int m = fielddefs->m_numModes[cnt++];
664 int n = fielddefs->m_numModes[cnt++];
665 NCoeffs = StdPrismData::getNumberOfCoefficients(l, m, n);
666 }
667 break;
668 case eHexahedron:
669 {
670 int l = fielddefs->m_numModes[cnt++];
671 int m = fielddefs->m_numModes[cnt++];
672 int n = fielddefs->m_numModes[cnt++];
673 NCoeffs = StdHexData::getNumberOfCoefficients(l, m, n);
674 }
675 break;
676 default:
677 NEKERROR(ErrorUtil::efatal, "Unsupported shape type.");
678 break;
679 }
680
681 return NCoeffs;
682}

References Nektar::ErrorUtil::efatal, eHexahedron, ePrism, ePyramid, eQuadrilateral, eSegment, eTetrahedron, eTriangle, Nektar::LibUtilities::StdTriData::getNumberOfCoefficients(), Nektar::LibUtilities::StdQuadData::getNumberOfCoefficients(), Nektar::LibUtilities::StdHexData::getNumberOfCoefficients(), Nektar::LibUtilities::StdTetData::getNumberOfCoefficients(), Nektar::LibUtilities::StdPyrData::getNumberOfCoefficients(), Nektar::LibUtilities::StdPrismData::getNumberOfCoefficients(), and NEKERROR.

Referenced by Nektar::LibUtilities::FieldIO::CheckFieldDefinition(), and Nektar::LibUtilities::FieldIO::GetNumberOfCoeffsPerElement().

◆ GetTimeIntegrationSchemeFactory()

LUE TimeIntegrationSchemeFactory & Nektar::LibUtilities::GetTimeIntegrationSchemeFactory ( )

◆ Import()

void Nektar::LibUtilities::Import ( const std::string &  infilename,
std::vector< FieldDefinitionsSharedPtr > &  fielddefs,
std::vector< std::vector< NekDouble > > &  fielddata,
FieldMetaDataMap fieldinfomap,
const Array< OneD, int > &  ElementIDs 
)

This function allows for data to be imported from an FLD file when a session and/or communicator is not instantiated. Typically used in utilities which only operate in serial.

Parameters
infilenameInput filename (or directory if parallel format)
fielddefsOn return contains field definitions as read from the input.
fielddataOn return, contains binary field data that stores the input corresponding to fielddefs.
fieldinfoOn returnm, contains the associated field metadata map.
ElementIDsElement IDs that lie on this processor, which can be optionally supplied to avoid reading the entire file on each processor.

Definition at line 287 of file FieldIO.cpp.

292{
293#ifdef NEKTAR_USE_MPI
294 int size;
295 int init;
296 MPI_Initialized(&init);
297
298 // If MPI has been initialised we can check the number of processes
299 // and, if > 1, tell the user he should not be running this
300 // function in parallel. If it is not initialised, we do not
301 // initialise it here, and assume the user knows what they are
302 // doing.
303 if (init)
304 {
305 MPI_Comm_size(MPI_COMM_WORLD, &size);
306 ASSERTL0(size == 1,
307 "This static function is not available in parallel. Please"
308 "instantiate a FieldIO object for parallel use.");
309 }
310#endif
311 CommSharedPtr c = GetCommFactory().CreateInstance("Serial", 0, 0);
312 const std::string iofmt = FieldIO::GetFileType(infilename, c);
314 f->Import(infilename, fielddefs, fielddata, fieldinfomap, ElementIDs);
315}
tBaseSharedPtr CreateInstance(tKey idKey, tParam... args)
Create an instance of the class referred to by idKey.
std::shared_ptr< FieldIO > FieldIOSharedPtr
Definition FieldIO.h:322
FieldIOFactory & GetFieldIOFactory()
Returns the FieldIO factory.
Definition FieldIO.cpp:69
CommFactory & GetCommFactory()
std::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.
Definition Comm.h:55

References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), GetCommFactory(), GetFieldIOFactory(), and Nektar::LibUtilities::FieldIO::GetFileType().

Referenced by GetStreakLocation(), Nektar::SolverUtils::EquationSystem::ImportFldToMultiDomains(), and main().

◆ Interp1D() [1/4]

void Nektar::LibUtilities::Interp1D ( const BasisKey fbasis0,
const Array< OneD, const NekDouble > &  from,
const BasisKey tbasis0,
Array< OneD, NekDouble > &  to 
)

this function interpolates a 1D function \(f\) evaluated at the quadrature points of the basis fbasis0 to the function values at the quadrature points of the basis tbasis0

Given a function \( f\) evaluated at the Q quadrature points of the basis fbasis0, this routine calculates, using (Q-1)th order polynomial interpolation, the function values at the Q2 quadrature points of the basis tbasis0.

Parameters
fbasis0the basis at which's quadrature points the function is given
fromthe array containg the function \( f\) evaluated at the quadrature points of fbasis0
tbasis0the basis to which's quadrature points the function should be interpolated
tothe array containg the function \( f\) evaluated at the quadrature points of tbasis0 (output of the function)

Definition at line 47 of file Interp.cpp.

49{
50 Interp1D(fbasis0.GetPointsKey(), from, tbasis0.GetPointsKey(), to);
51}
PointsKey GetPointsKey() const
Return distribution of points.
Definition Basis.h:137
void Interp1D(const BasisKey &fbasis0, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, Array< OneD, NekDouble > &to)
this function interpolates a 1D function evaluated at the quadrature points of the basis fbasis0 to ...
Definition Interp.cpp:47

References Nektar::LibUtilities::BasisKey::GetPointsKey(), and Interp1D().

Referenced by Nektar::SpatialDomains::GeomFactors::Interp(), Interp1D(), Interp1D(), Nektar::LocalRegions::NodalTriExp::v_ComputeTraceNormal(), Nektar::LocalRegions::QuadExp::v_ComputeTraceNormal(), Nektar::LocalRegions::TriExp::v_ComputeTraceNormal(), Nektar::LocalRegions::SegExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::TriExp::v_FwdTransBndConstrained(), Nektar::LocalRegions::Expansion2D::v_GenMatrix(), Nektar::LocalRegions::Expansion::v_GetCoords(), Nektar::LocalRegions::NodalTriExp::v_GetTracePhysVals(), Nektar::LocalRegions::QuadExp::v_GetTracePhysVals(), Nektar::LocalRegions::TriExp::v_GetTracePhysVals(), and Nektar::StdRegions::StdExpansion1D::v_PhysInterp().

◆ Interp1D() [2/4]

void Nektar::LibUtilities::Interp1D ( const BasisKey fbasis0,
const NekDouble from,
const BasisKey tbasis0,
NekDouble to 
)

Definition at line 74 of file Interp.cpp.

76{
77 Interp1D(fbasis0.GetPointsKey(), from, tbasis0.GetPointsKey(), to);
78}

References Nektar::LibUtilities::BasisKey::GetPointsKey(), and Interp1D().

◆ Interp1D() [3/4]

void Nektar::LibUtilities::Interp1D ( const PointsKey fpoints0,
const Array< OneD, const NekDouble > &  from,
const PointsKey tpoints0,
Array< OneD, NekDouble > &  to 
)

Definition at line 53 of file Interp.cpp.

56{
57 if (fpoints0 == tpoints0) // check to see if the same
58 {
59 Vmath::Vcopy(fpoints0.GetNumPoints(), from, 1, to, 1);
60 }
61 else // interpolate
62 {
64
65 I0 = PointsManager()[fpoints0]->GetI(tpoints0);
66
67 NekVector<NekDouble> in(fpoints0.GetNumPoints(), from, eWrapper);
68 NekVector<NekDouble> out(tpoints0.GetNumPoints(), to, eWrapper);
69
70 out = (*I0) * in;
71 }
72}
PointsManagerT & PointsManager(void)
std::shared_ptr< DNekMat > DNekMatSharedPtr
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
Definition Vmath.hpp:825

References Nektar::eWrapper, Nektar::LibUtilities::PointsKey::GetNumPoints(), PointsManager(), and Vmath::Vcopy().

◆ Interp1D() [4/4]

void Nektar::LibUtilities::Interp1D ( const PointsKey fpoints0,
const NekDouble from,
const PointsKey tpoints0,
NekDouble to 
)

Definition at line 80 of file Interp.cpp.

82{
83 if (fpoints0 == tpoints0) // check to see if the same
84 {
85 Vmath::Vcopy(fpoints0.GetNumPoints(), from, 1, to, 1);
86 }
87 else // interpolate
88 {
89
91
92 I0 = PointsManager()[fpoints0]->GetI(tpoints0);
93
94 Blas::Dgemv('N', tpoints0.GetNumPoints(), fpoints0.GetNumPoints(), 1.0,
95 I0->GetPtr().data(), tpoints0.GetNumPoints(), from, 1, 0.0,
96 to, 1);
97 }
98}
static void Dgemv(const char &trans, const int &m, const int &n, const double &alpha, const double *a, const int &lda, const double *x, const int &incx, const double &beta, double *y, const int &incy)
BLAS level 2: Matrix vector multiply y = alpha A x plus beta y where A[m x n].
Definition Blas.hpp:211

References Blas::Dgemv(), Nektar::LibUtilities::PointsKey::GetNumPoints(), PointsManager(), and Vmath::Vcopy().

◆ Interp2D() [1/3]

void Nektar::LibUtilities::Interp2D ( const BasisKey fbasis0,
const BasisKey fbasis1,
const Array< OneD, const NekDouble > &  from,
const BasisKey tbasis0,
const BasisKey tbasis1,
Array< OneD, NekDouble > &  to 
)

this function interpolates a 2D function \(f\) evaluated at the quadrature points of the 2D basis, constructed by fbasis0 and fbasis1, to the function values at the quadrature points of the 2D basis, constructed by tbasis0 and tbasis1

Given a function \( f\) evaluated at the Q quadrature points of the first expansion basis, this routine calculates, using (Q-1)th order polynomial interpolation, the function values at the Q2 quadrature points of the second basis.

Parameters
fbasis0the basis at which's quadrature points the function is given
fromthe array containg the function \( f\) evaluated at the quadrature points of fbasis0
tbasis0the basis to which's quadrature points the function should be interpolated
tothe array containg the function \( f\) evaluated at the quadrature points of tbasis0 (output of the function)

Definition at line 101 of file Interp.cpp.

104{
105 Interp2D(fbasis0.GetPointsKey(), fbasis1.GetPointsKey(), from.data(),
106 tbasis0.GetPointsKey(), tbasis1.GetPointsKey(), to.data());
107}
void Interp2D(const BasisKey &fbasis0, const BasisKey &fbasis1, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, const BasisKey &tbasis1, Array< OneD, NekDouble > &to)
this function interpolates a 2D function evaluated at the quadrature points of the 2D basis,...
Definition Interp.cpp:101

References Nektar::LibUtilities::BasisKey::GetPointsKey(), and Interp2D().

Referenced by Nektar::FieldUtils::ProcessEquiSpacedOutput::GenOrthoModes(), Nektar::FieldUtils::ProcessQualityMetric::GetQ(), Nektar::SpatialDomains::GeomFactors::Interp(), Interp2D(), Interp2D(), Nektar::GlobalMapping::UpdateGeometry(), Nektar::LocalRegions::HexExp::v_ComputeTraceNormal(), Nektar::LocalRegions::PrismExp::v_ComputeTraceNormal(), Nektar::LocalRegions::PyrExp::v_ComputeTraceNormal(), Nektar::LocalRegions::TetExp::v_ComputeTraceNormal(), Nektar::LocalRegions::QuadExp::v_ExtractDataToCoeffs(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), Nektar::SpatialDomains::TriGeom::v_FillGeom(), Nektar::LocalRegions::Expansion3D::v_GenMatrix(), Nektar::LocalRegions::Expansion::v_GetCoords(), Nektar::LocalRegions::Expansion3D::v_GetTracePhysVals(), and Nektar::StdRegions::StdExpansion2D::v_PhysInterp().

◆ Interp2D() [2/3]

void Nektar::LibUtilities::Interp2D ( const PointsKey fpoints0,
const PointsKey fpoints1,
const Array< OneD, const NekDouble > &  from,
const PointsKey tpoints0,
const PointsKey tpoints1,
Array< OneD, NekDouble > &  to 
)

Definition at line 109 of file Interp.cpp.

113{
114 Interp2D(fpoints0, fpoints1, from.data(), tpoints0, tpoints1, to.data());
115}

References Interp2D().

◆ Interp2D() [3/3]

void Nektar::LibUtilities::Interp2D ( const PointsKey fpoints0,
const PointsKey fpoints1,
const NekDouble from,
const PointsKey tpoints0,
const PointsKey tpoints1,
NekDouble to 
)

Definition at line 117 of file Interp.cpp.

120{
121 // default interpolation
122 if ((fpoints0 == tpoints0) && (fpoints1 == tpoints1))
123 {
124 Vmath::Vcopy(tpoints0.GetNumPoints() * tpoints1.GetNumPoints(), from, 1,
125 to, 1);
126 return;
127 }
128
129 DNekMatSharedPtr I0, I1;
130 Array<OneD, NekDouble> wsp(tpoints1.GetNumPoints() *
131 fpoints0.GetNumPoints()); // fnp0*tnp1
132
133 size_t fnp0 = fpoints0.GetNumPoints();
134 size_t fnp1 = fpoints1.GetNumPoints();
135 size_t tnp0 = tpoints0.GetNumPoints();
136 size_t tnp1 = tpoints1.GetNumPoints();
137
138 if (fpoints1 == tpoints1)
139 {
140 Vmath::Vcopy(fnp0 * tnp1, from, 1, wsp.data(), 1);
141 }
142 else
143 {
144 I1 = PointsManager()[fpoints1]->GetI(tpoints1);
145 Blas::Dgemm('N', 'T', fnp0, tnp1, fnp1, 1.0, from, fnp0,
146 I1->GetPtr().data(), tnp1, 0.0, wsp.data(), fnp0);
147 }
148
149 if (fpoints0 == tpoints0)
150 {
151 Vmath::Vcopy(tnp0 * tnp1, wsp.data(), 1, to, 1);
152 }
153 else
154 {
155 I0 = PointsManager()[fpoints0]->GetI(tpoints0);
156 Blas::Dgemm('N', 'N', tnp0, tnp1, fnp0, 1.0, I0->GetPtr().data(), tnp0,
157 wsp.data(), fnp0, 0.0, to, tnp0);
158 }
159}
static void Dgemm(const char &transa, const char &transb, const int &m, const int &n, const int &k, const double &alpha, const double *a, const int &lda, const double *b, const int &ldb, const double &beta, double *c, const int &ldc)
BLAS level 3: Matrix-matrix multiply C = A x B where op(A)[m x k], op(B)[k x n], C[m x n] DGEMM perfo...
Definition Blas.hpp:383

References Blas::Dgemm(), Nektar::LibUtilities::PointsKey::GetNumPoints(), PointsManager(), and Vmath::Vcopy().

◆ Interp3D() [1/3]

void Nektar::LibUtilities::Interp3D ( const BasisKey fbasis0,
const BasisKey fbasis1,
const BasisKey fbasis2,
const Array< OneD, const NekDouble > &  from,
const BasisKey tbasis0,
const BasisKey tbasis1,
const BasisKey tbasis2,
Array< OneD, NekDouble > &  to 
)

this function interpolates a 3D function \(f\) evaluated at the quadrature points of the 3D basis, constructed by fbasis0, fbasis1, and fbasis2 to the function values at the quadrature points of the 3D basis, constructed by tbasis0, tbasis1, and tbasis2.

Given a function \( f\) evaluated at the Q quadrature points of the first expansion basis, this routine calculates, using (Q-1)th order polynomial interpolation, the function values at the Q2 quadrature points of the second basis, and the function values at the Q3 quadrature points of the third basis.

Parameters
fbasis0the basis at which's quadrature points the function is given
fromthe array containg the function \( f\) evaluated at the quadrature points of fbasis0
tbasis0the basis to which's quadrature points the function should be interpolated
tothe array containg the function \( f\) evaluated at the quadrature points of tbasis0 (output of the function)

Definition at line 162 of file Interp.cpp.

166{
167 Interp3D(fbasis0.GetPointsKey(), fbasis1.GetPointsKey(),
168 fbasis2.GetPointsKey(), from.data(), tbasis0.GetPointsKey(),
169 tbasis1.GetPointsKey(), tbasis2.GetPointsKey(), to.data());
170}
void Interp3D(const BasisKey &fbasis0, const BasisKey &fbasis1, const BasisKey &fbasis2, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, const BasisKey &tbasis1, const BasisKey &tbasis2, Array< OneD, NekDouble > &to)
this function interpolates a 3D function evaluated at the quadrature points of the 3D basis,...
Definition Interp.cpp:162

References Nektar::LibUtilities::BasisKey::GetPointsKey(), and Interp3D().

Referenced by Nektar::FieldUtils::ProcessQualityMetric::GetQ(), Nektar::SpatialDomains::GeomFactors::Interp(), Interp3D(), Interp3D(), Nektar::LocalRegions::HexExp::v_ExtractDataToCoeffs(), Nektar::LocalRegions::Expansion::v_GetCoords(), and Nektar::StdRegions::StdExpansion3D::v_PhysInterp().

◆ Interp3D() [2/3]

void Nektar::LibUtilities::Interp3D ( const PointsKey fpoints0,
const PointsKey fpoints1,
const PointsKey fpoints2,
const Array< OneD, const NekDouble > &  from,
const PointsKey tpoints0,
const PointsKey tpoints1,
const PointsKey tpoints2,
Array< OneD, NekDouble > &  to 
)

Definition at line 172 of file Interp.cpp.

177{
178 Interp3D(fpoints0, fpoints1, fpoints2, from.data(), tpoints0, tpoints1,
179 tpoints2, to.data());
180}

References Interp3D().

◆ Interp3D() [3/3]

void Nektar::LibUtilities::Interp3D ( const PointsKey fpoints0,
const PointsKey fpoints1,
const PointsKey fpoints2,
const NekDouble from,
const PointsKey tpoints0,
const PointsKey tpoints1,
const PointsKey tpoints2,
NekDouble to 
)

Definition at line 182 of file Interp.cpp.

186{
187 size_t i;
188 DNekMatSharedPtr I0, I1, I2;
189
190 size_t fnp0 = fpoints0.GetNumPoints();
191 size_t fnp1 = fpoints1.GetNumPoints();
192 size_t fnp2 = fpoints2.GetNumPoints();
193 size_t tnp0 = tpoints0.GetNumPoints();
194 size_t tnp1 = tpoints1.GetNumPoints();
195 size_t tnp2 = tpoints2.GetNumPoints();
196
197 Array<OneD, NekDouble> wsp1(tnp0 * tnp1 * fnp2);
198 Array<OneD, NekDouble> wsp2(tnp0 * fnp1 * fnp2);
199
200 I0 = PointsManager()[fpoints0]->GetI(tpoints0);
201 I1 = PointsManager()[fpoints1]->GetI(tpoints1);
202 I2 = PointsManager()[fpoints2]->GetI(tpoints2);
203
204 Blas::Dgemm('N', 'N', tnp0, fnp1 * fnp2, fnp0, 1.0, I0->GetPtr().data(),
205 tnp0, from, fnp0, 0.0, wsp2.data(), tnp0);
206
207 for (i = 0; i < fnp2; i++)
208 {
209 Blas::Dgemm('N', 'T', tnp0, tnp1, fnp1, 1.0,
210 wsp2.data() + i * tnp0 * fnp1, tnp0, I1->GetPtr().data(),
211 tnp1, 0.0, wsp1.data() + i * tnp0 * tnp1, tnp0);
212 }
213
214 Blas::Dgemm('N', 'T', tnp0 * tnp1, tnp2, fnp2, 1.0, wsp1.data(),
215 tnp0 * tnp1, I2->GetPtr().data(), tnp2, 0.0, to, tnp0 * tnp1);
216}

References Blas::Dgemm(), Nektar::LibUtilities::PointsKey::GetNumPoints(), and PointsManager().

◆ InterpCoeff1D()

void Nektar::LibUtilities::InterpCoeff1D ( const BasisKey fbasis0,
const Array< OneD, const NekDouble > &  from,
const BasisKey tbasis0,
Array< OneD, NekDouble > &  to 
)

Definition at line 42 of file InterpCoeff.cpp.

45{
46 ASSERTL0(fbasis0.GetNumModes() == tbasis0.GetNumModes(),
47 "Number of modes must be the same for "
48 "interpolating coefficients");
49
50 // Check to see if the same basis
51 if (fbasis0.GetBasisType() == tbasis0.GetBasisType())
52 {
53 Vmath::Vcopy(fbasis0.GetNumModes(), from, 1, to, 1);
54 }
55 else
56 {
57 // interpolate
58 DNekMatSharedPtr ftB = BasisManager()[fbasis0]->GetI(tbasis0);
59
60 NekVector<NekDouble> in(fbasis0.GetNumModes(), from, eWrapper);
61 NekVector<NekDouble> out(tbasis0.GetNumModes(), to, eWrapper);
62
63 out = (*ftB) * in;
64 }
65}
BasisType GetBasisType() const
Return type of expansion basis.
Definition Basis.h:131
int GetNumModes() const
Returns the order of the basis.
Definition Basis.h:74
BasisManagerT & BasisManager(void)

References ASSERTL0, BasisManager(), Nektar::eWrapper, Nektar::LibUtilities::BasisKey::GetBasisType(), Nektar::LibUtilities::BasisKey::GetNumModes(), and Vmath::Vcopy().

Referenced by Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::StdRegions::StdSegExp::v_ReduceOrderCoeffs(), and Nektar::SolverUtils::FilterEnergy1D::v_Update().

◆ InterpCoeff2D() [1/2]

void Nektar::LibUtilities::InterpCoeff2D ( const BasisKey fbasis0,
const BasisKey fbasis1,
const Array< OneD, const NekDouble > &  from,
const BasisKey tbasis0,
const BasisKey tbasis1,
Array< OneD, NekDouble > &  to 
)

Definition at line 67 of file InterpCoeff.cpp.

71{
72 InterpCoeff2D(fbasis0, fbasis1, from.data(), tbasis0, tbasis1, to.data());
73}
void InterpCoeff2D(const BasisKey &fbasis0, const BasisKey &fbasis1, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, const BasisKey &tbasis1, Array< OneD, NekDouble > &to)

References InterpCoeff2D().

Referenced by InterpCoeff2D(), Nektar::LocalRegions::QuadExp::v_ReduceOrderCoeffs(), and Nektar::StdRegions::StdQuadExp::v_ReduceOrderCoeffs().

◆ InterpCoeff2D() [2/2]

void Nektar::LibUtilities::InterpCoeff2D ( const BasisKey fbasis0,
const BasisKey fbasis1,
const NekDouble from,
const BasisKey tbasis0,
const BasisKey tbasis1,
NekDouble to 
)

Definition at line 75 of file InterpCoeff.cpp.

78{
79 const size_t fnm0 = fbasis0.GetNumModes();
80 const size_t fnm1 = fbasis1.GetNumModes();
81 const size_t tnm0 = tbasis0.GetNumModes();
82 const size_t tnm1 = tbasis1.GetNumModes();
83
84 Array<OneD, NekDouble> wsp(tnm1 * fnm0);
85
86 if (fbasis1.GetBasisType() == tbasis1.GetBasisType())
87 {
88 Vmath::Vcopy(fnm0 * tnm1, from, 1, wsp.data(), 1);
89 }
90 else
91 {
92 // interpolate
93 DNekMatSharedPtr ft1 = BasisManager()[fbasis1]->GetI(tbasis1);
94
95 Blas::Dgemm('N', 'T', fnm0, tnm1, fnm1, 1.0, from, fnm0,
96 ft1->GetPtr().data(), tnm1, 0.0, wsp.data(), fnm0);
97 }
98
99 if (fbasis0.GetBasisType() == tbasis0.GetBasisType())
100 {
101 Vmath::Vcopy(tnm0 * tnm1, wsp.data(), 1, to, 1);
102 }
103 else
104 {
105 // interpolate
106 DNekMatSharedPtr ft0 = BasisManager()[fbasis0]->GetI(tbasis0);
107
108 Blas::Dgemm('N', 'N', tnm0, tnm1, fnm0, 1.0, ft0->GetPtr().data(), tnm0,
109 wsp.data(), fnm0, 0.0, to, tnm0);
110 }
111}

References BasisManager(), Blas::Dgemm(), Nektar::LibUtilities::BasisKey::GetBasisType(), Nektar::LibUtilities::BasisKey::GetNumModes(), and Vmath::Vcopy().

◆ InterpCoeff3D() [1/2]

void Nektar::LibUtilities::InterpCoeff3D ( const BasisKey fbasis0,
const BasisKey fbasis1,
const BasisKey fbasis2,
const Array< OneD, const NekDouble > &  from,
const BasisKey tbasis0,
const BasisKey tbasis1,
const BasisKey tbasis2,
Array< OneD, NekDouble > &  to 
)

Definition at line 113 of file InterpCoeff.cpp.

118{
119 InterpCoeff3D(fbasis0, fbasis1, fbasis2, from.data(), tbasis0, tbasis1,
120 tbasis2, to.data());
121}
void InterpCoeff3D(const BasisKey &fbasis0, const BasisKey &fbasis1, const BasisKey &fbasis2, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, const BasisKey &tbasis1, const BasisKey &tbasis2, Array< OneD, NekDouble > &to)

References InterpCoeff3D().

Referenced by InterpCoeff3D(), and Nektar::LocalRegions::HexExp::v_ReduceOrderCoeffs().

◆ InterpCoeff3D() [2/2]

void Nektar::LibUtilities::InterpCoeff3D ( const BasisKey fbasis0,
const BasisKey fbasis1,
const BasisKey fbasis2,
const NekDouble from,
const BasisKey tbasis0,
const BasisKey tbasis1,
const BasisKey tbasis2,
NekDouble to 
)

Definition at line 123 of file InterpCoeff.cpp.

127{
128 const size_t fnm0 = fbasis0.GetNumModes();
129 const size_t fnm1 = fbasis1.GetNumModes();
130 const size_t fnm2 = fbasis2.GetNumModes();
131 const size_t tnm0 = tbasis0.GetNumModes();
132 const size_t tnm1 = tbasis1.GetNumModes();
133 const size_t tnm2 = tbasis2.GetNumModes();
134
135 Array<OneD, NekDouble> wsp1(tnm0 * tnm1 * fnm2);
136 Array<OneD, NekDouble> wsp2(tnm0 * fnm1 * fnm2);
137
138 DNekMatSharedPtr ft0 = BasisManager()[fbasis0]->GetI(tbasis0);
139 DNekMatSharedPtr ft1 = BasisManager()[fbasis1]->GetI(tbasis1);
140 DNekMatSharedPtr ft2 = BasisManager()[fbasis2]->GetI(tbasis2);
141
142 Blas::Dgemm('N', 'N', tnm0, fnm1 * fnm2, fnm0, 1.0, ft0->GetPtr().data(),
143 tnm0, from, fnm0, 0.0, wsp2.data(), tnm0);
144
145 for (size_t i = 0; i < fnm2; i++)
146 {
147 Blas::Dgemm('N', 'T', tnm0, tnm1, fnm1, 1.0,
148 wsp2.data() + i * tnm0 * fnm1, tnm0, ft1->GetPtr().data(),
149 tnm1, 0.0, wsp1.data() + i * tnm0 * tnm1, tnm0);
150 }
151
152 Blas::Dgemm('N', 'T', tnm0 * tnm1, tnm2, fnm2, 1.0, wsp1.data(),
153 tnm0 * tnm1, ft2->GetPtr().data(), tnm2, 0.0, to, tnm0 * tnm1);
154}

References BasisManager(), Blas::Dgemm(), and Nektar::LibUtilities::BasisKey::GetNumModes().

◆ IsRealClose()

template<class T1 , class T2 , class = typename std::enable_if< std::is_floating_point_v<typename std::remove_cv< typename std::remove_reference<T1>::type>::type> && std::is_same_v<typename std::remove_cv< typename std::remove_reference<T1>::type>::type, typename std::remove_cv<typename std::remove_reference< T2>::type>::type>>::type>
bool Nektar::LibUtilities::IsRealClose ( T1 &&  lhs,
T2 &&  rhs,
const NekDouble  tol = NekConstants::kNekMachineEpsilon 
)
inline

compare reals of same type with absolute tolerance

Definition at line 76 of file RealComparison.hpp.

78{
79 // Check if tolerance is positive
80 ASSERTL1(tol >= 0, "real comparison tolerance needs to be >= 0");
81 // Check if distance is within tolerance
82 return std::abs(lhs - rhs) < tol;
83}
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode....

References ASSERTL1.

◆ IsRealEqual()

template<class T1 , class T2 , class = typename std::enable_if< std::is_floating_point_v<typename std::remove_cv< typename std::remove_reference<T1>::type>::type> && std::is_same_v<typename std::remove_cv< typename std::remove_reference<T1>::type>::type, typename std::remove_cv<typename std::remove_reference< T2>::type>::type>>::type>
bool Nektar::LibUtilities::IsRealEqual ( T1 &&  lhs,
T2 &&  rhs,
const unsigned int  factor = NekConstants::kNekFloatCompFact 
)
inline

◆ NullBasisKey()

static const BasisKey Nektar::LibUtilities::NullBasisKey ( eNoBasisType  ,
,
NullPointsKey   
)
static

◆ NullPointsKey()

static const PointsKey Nektar::LibUtilities::NullPointsKey ( ,
eNoPointsType   
)
static

◆ operator!=() [1/4]

bool Nektar::LibUtilities::operator!= ( const BasisKey x,
const BasisKey y 
)

Definition at line 922 of file Foundations/Basis.cpp.

923{
924 return (!(x == y));
925}

◆ operator!=() [2/4]

bool Nektar::LibUtilities::operator!= ( const BasisKey x,
const BasisKey y 
)

Definition at line 934 of file Foundations/Basis.cpp.

935{
936 return (!(x == *y));
937}

◆ operator!=() [3/4]

bool Nektar::LibUtilities::operator!= ( const BasisKey x,
const BasisKey y 
)

Definition at line 928 of file Foundations/Basis.cpp.

929{
930 return (!(*x == y));
931}

◆ operator!=() [4/4]

bool Nektar::LibUtilities::operator!= ( const GraphVertexObject x,
const GraphVertexObject y 
)

Definition at line 60 of file Graph.cpp.

61{
62 return (x.m_id != y.m_id);
63}

◆ operator<() [1/2]

bool Nektar::LibUtilities::operator< ( const BasisKey lhs,
const BasisKey rhs 
)

Definition at line 44 of file Foundations/Basis.cpp.

45{
46 PointsKey lhsPointsKey = lhs.GetPointsKey();
47 PointsKey rhsPointsKey = rhs.GetPointsKey();
48
49 if (lhsPointsKey < rhsPointsKey)
50 {
51 return true;
52 }
53 if (lhsPointsKey != rhsPointsKey)
54 {
55 return false;
56 }
57
58 if (lhs.m_nummodes < rhs.m_nummodes)
59 {
60 return true;
61 }
62 if (lhs.m_nummodes > rhs.m_nummodes)
63 {
64 return false;
65 }
66
67 return (lhs.m_basistype < rhs.m_basistype);
68}
size_t m_nummodes
Expansion order.
Definition Basis.h:185
BasisType m_basistype
Expansion type.
Definition Basis.h:186
Defines a specification for a set of points.
Definition Points.h:50

◆ operator<() [2/2]

bool Nektar::LibUtilities::operator< ( const PointsKey lhs,
const PointsKey rhs 
)

Definition at line 51 of file Foundations/Points.cpp.

52{
53 if (lhs.m_pointstype < rhs.m_pointstype)
54 {
55 return true;
56 }
57
58 if (lhs.m_pointstype > rhs.m_pointstype)
59 {
60 return false;
61 }
62
63 if (lhs.m_numpoints < rhs.m_numpoints)
64 {
65 return true;
66 }
67
68 if (lhs.m_numpoints > rhs.m_numpoints)
69 {
70 return false;
71 }
72
73 if (lhs.m_factor < rhs.m_factor)
74 {
75 return true;
76 }
77
78 if (lhs.m_factor > rhs.m_factor)
79 {
80 return false;
81 }
82
83 return false;
84}
size_t m_numpoints
number of the points (as appropriately defined for PointsType)
Definition Points.h:216
PointsType m_pointstype
Type of Points.
Definition Points.h:218
NekDouble m_factor
optional factor
Definition Points.h:219

◆ operator<<() [1/14]

std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const BasisKey rhs 
)

Definition at line 81 of file Foundations/Basis.cpp.

82{
83 os << "NumModes: " << rhs.GetNumModes()
84 << " BasisType: " << BasisTypeMap[rhs.GetBasisType()];
85 os << " " << rhs.GetPointsKey() << std::endl;
86
87 return os;
88}
const char *const BasisTypeMap[]

References BasisTypeMap, Nektar::LibUtilities::BasisKey::GetBasisType(), Nektar::LibUtilities::BasisKey::GetNumModes(), and Nektar::LibUtilities::BasisKey::GetPointsKey().

Referenced by Nektar::operator<<(), Nektar::operator<<(), and Nektar::operator<<().

◆ operator<<() [2/14]

LUE std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const FractionalInTimeIntegrationScheme rhs 
)

Definition at line 1070 of file TimeIntegrationSchemeFIT.cpp.

1072{
1073 rhs.print(os);
1074
1075 return os;
1076}

◆ operator<<() [3/14]

LUE std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const FractionalInTimeIntegrationSchemeSharedPtr rhs 
)

Definition at line 1078 of file TimeIntegrationSchemeFIT.cpp.

1080{
1081 os << *rhs.get();
1082
1083 return os;
1084}

◆ operator<<() [4/14]

std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const PointsKey rhs 
)

Definition at line 92 of file Foundations/Points.cpp.

93{
94 os << "NumPoints: " << rhs.GetNumPoints()
95 << " PointsType: " << kPointsTypeStr[rhs.GetPointsType()] << std::endl;
96
97 return os;
98}
const std::string kPointsTypeStr[]

References Nektar::LibUtilities::PointsKey::GetNumPoints(), Nektar::LibUtilities::PointsKey::GetPointsType(), and kPointsTypeStr.

◆ operator<<() [5/14]

LUE std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const TimeIntegrationAlgorithmGLM rhs 
)

Definition at line 932 of file TimeIntegrationAlgorithmGLM.cpp.

934{
935 size_t r = rhs.m_numsteps;
936 size_t s = rhs.m_numstages;
938
939 size_t oswidth = 9;
940 size_t osprecision = 6;
941
942 os << "Time Integration Scheme (Master): " << rhs.m_parent->GetFullName()
943 << "\n"
944 << "Time Integration Phase : " << rhs.m_name << "\n"
945 << "- number of steps: " << r << "\n"
946 << "- number of stages: " << s << "\n"
947 << "General linear method tableau:\n";
948
949 for (size_t i = 0; i < s; i++)
950 {
951 for (size_t j = 0; j < s; j++)
952 {
953 os.width(oswidth);
954 os.precision(osprecision);
955 os << std::right << rhs.A(i, j) << " ";
956 }
957 if (type == eIMEX)
958 {
959 os << " '";
960 for (size_t j = 0; j < s; j++)
961 {
962 os.width(oswidth);
963 os.precision(osprecision);
964 os << std::right << rhs.A_IMEX(i, j) << " ";
965 }
966 }
967
968 os << " |";
969
970 for (size_t j = 0; j < r; j++)
971 {
972 os.width(oswidth);
973 os.precision(osprecision);
974 os << std::right << rhs.U(i, j);
975 }
976 os << std::endl;
977 }
978
979 size_t imexflag = (type == eIMEX) ? 2 : 1;
980 for (size_t i = 0;
981 i < (r + imexflag * s) * (oswidth + 1) + imexflag * 2 - 1; i++)
982 {
983 os << "-";
984 }
985 os << std::endl;
986
987 for (size_t i = 0; i < r; i++)
988 {
989 for (size_t j = 0; j < s; j++)
990 {
991 os.width(oswidth);
992 os.precision(osprecision);
993 os << std::right << rhs.B(i, j) << " ";
994 }
995 if (type == eIMEX)
996 {
997 os << " '";
998 for (size_t j = 0; j < s; j++)
999 {
1000 os.width(oswidth);
1001 os.precision(osprecision);
1002 os << std::right << rhs.B_IMEX(i, j) << " ";
1003 }
1004 }
1005
1006 os << " |";
1007
1008 for (size_t j = 0; j < r; j++)
1009 {
1010 os.width(oswidth);
1011 os.precision(osprecision);
1012 os << std::right << rhs.V(i, j);
1013 }
1014
1015 os << " |";
1016
1017 os.width(oswidth);
1018 os.precision(osprecision);
1019 os << std::right << rhs.m_timeLevelOffset[i];
1020
1021 if (i < rhs.m_numMultiStepValues)
1022 {
1023 os << std::right << " value";
1024 }
1025 else
1026 {
1027 os << std::right << " derivative";
1028 }
1029
1030 os << std::endl;
1031 }
1032
1033 if (type == eExponential)
1034 {
1035 for (size_t k = 0; k < rhs.m_nvars; k++)
1036 {
1037 os << std::endl
1038 << "General linear method exponential tableau for variable " << k
1039 << ":\n";
1040
1041 for (size_t i = 0; i < s; i++)
1042 {
1043 for (size_t j = 0; j < s; j++)
1044 {
1045 os.width(oswidth);
1046 os.precision(osprecision);
1047 os << std::right << rhs.A(k, i, j) << " ";
1048 }
1049
1050 os << " |";
1051
1052 for (size_t j = 0; j < r; j++)
1053 {
1054 os.width(oswidth);
1055 os.precision(osprecision);
1056 os << std::right << rhs.B(k, i, j);
1057 }
1058 os << std::endl;
1059 }
1060
1061 for (size_t i = 0;
1062 i < (r + imexflag * s) * (oswidth + 1) + imexflag * 2 - 1; i++)
1063 {
1064 os << "-";
1065 }
1066 os << std::endl;
1067
1068 for (size_t i = 0; i < r; i++)
1069 {
1070 for (size_t j = 0; j < s; j++)
1071 {
1072 os.width(oswidth);
1073 os.precision(osprecision);
1074 os << std::right << rhs.B(k, i, j) << " ";
1075 }
1076
1077 os << " |";
1078
1079 for (size_t j = 0; j < r; j++)
1080 {
1081 os.width(oswidth);
1082 os.precision(osprecision);
1083 os << std::right << rhs.V(k, i, j);
1084 }
1085 os << std::endl;
1086 }
1087 }
1088 }
1089
1090 return os;
1091} // end function operator<<
NekDouble V(const size_t i, const size_t j) const
const TimeIntegrationSchemeGLM * m_parent
Parent scheme object.
NekDouble A(const size_t i, const size_t j) const
NekDouble B_IMEX(const size_t i, const size_t j) const
NekDouble A_IMEX(const size_t i, const size_t j) const
NekDouble B(const size_t i, const size_t j) const
NekDouble U(const size_t i, const size_t j) const

◆ operator<<() [6/14]

LUE std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const TimeIntegrationAlgorithmGLMSharedPtr rhs 
)

Definition at line 926 of file TimeIntegrationAlgorithmGLM.cpp.

928{
929 return operator<<(os, *rhs);
930}
std::ostream & operator<<(std::ostream &os, const BasisKey &rhs)

◆ operator<<() [7/14]

LUE std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const TimeIntegrationScheme rhs 
)

Definition at line 66 of file TimeIntegration/TimeIntegrationScheme.cpp.

67{
68 rhs.print(os);
69
70 return os;
71}

◆ operator<<() [8/14]

LUE std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const TimeIntegrationSchemeGEM rhs 
)

Definition at line 428 of file TimeIntegrationSchemeGEM.cpp.

429{
430 rhs.print(os);
431
432 return os;
433}

References Nektar::LibUtilities::TimeIntegrationScheme::print().

◆ operator<<() [9/14]

LUE std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const TimeIntegrationSchemeGEMSharedPtr rhs 
)

Definition at line 435 of file TimeIntegrationSchemeGEM.cpp.

437{
438 os << *rhs.get();
439
440 return os;
441}

◆ operator<<() [10/14]

LUE std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const TimeIntegrationSchemeGLM rhs 
)

Definition at line 145 of file TimeIntegrationSchemeGLM.cpp.

146{
147 rhs.print(os);
148
149 return os;
150}

◆ operator<<() [11/14]

LUE std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const TimeIntegrationSchemeGLMSharedPtr rhs 
)

Definition at line 152 of file TimeIntegrationSchemeGLM.cpp.

154{
155 os << *rhs.get();
156
157 return os;
158}

◆ operator<<() [12/14]

std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const TimeIntegrationSchemeSDC rhs 
)

Definition at line 341 of file TimeIntegrationSchemeSDC.cpp.

342{
343 rhs.print(os);
344
345 return os;
346}

References Nektar::LibUtilities::TimeIntegrationScheme::print().

◆ operator<<() [13/14]

std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const TimeIntegrationSchemeSDCSharedPtr rhs 
)

Definition at line 348 of file TimeIntegrationSchemeSDC.cpp.

350{
351 os << *rhs.get();
352
353 return os;
354}

◆ operator<<() [14/14]

LUE std::ostream & Nektar::LibUtilities::operator<< ( std::ostream &  os,
const TimeIntegrationSchemeSharedPtr rhs 
)

Definition at line 73 of file TimeIntegration/TimeIntegrationScheme.cpp.

75{
76 os << *rhs.get();
77
78 return os;
79}

◆ operator==() [1/5]

bool Nektar::LibUtilities::operator== ( const BasisKey x,
const BasisKey y 
)

Definition at line 902 of file Foundations/Basis.cpp.

903{
904 return (x.GetPointsKey() == y.GetPointsKey() &&
905 x.m_basistype == y.m_basistype &&
906 x.GetNumModes() == y.GetNumModes());
907}

◆ operator==() [2/5]

bool Nektar::LibUtilities::operator== ( const BasisKey x,
const BasisKey y 
)

Definition at line 916 of file Foundations/Basis.cpp.

917{
918 return (x == *y);
919}

◆ operator==() [3/5]

bool Nektar::LibUtilities::operator== ( const BasisKey x,
const BasisKey y 
)

Definition at line 910 of file Foundations/Basis.cpp.

911{
912 return (*x == y);
913}

◆ operator==() [4/5]

bool Nektar::LibUtilities::operator== ( const GraphVertexObject x,
const GraphVertexObject y 
)

Definition at line 55 of file Graph.cpp.

56{
57 return (x.m_id == y.m_id);
58}

◆ operator==() [5/5]

bool Nektar::LibUtilities::operator== ( const PointsKey lhs,
const PointsKey rhs 
)

Definition at line 45 of file Foundations/Points.cpp.

46{
47 return (lhs.m_numpoints == rhs.m_numpoints &&
48 lhs.m_pointstype == rhs.m_pointstype);
49}

◆ operator>()

bool Nektar::LibUtilities::operator> ( const BasisKey lhs,
const BasisKey rhs 
)

Definition at line 70 of file Foundations/Basis.cpp.

71{
72 return (rhs < lhs);
73}

◆ PhysGalerkinProject1D() [1/4]

void Nektar::LibUtilities::PhysGalerkinProject1D ( const BasisKey fbasis0,
const Array< OneD, const NekDouble > &  from,
const BasisKey tbasis0,
Array< OneD, NekDouble > &  to 
)

Definition at line 49 of file PhysGalerkinProject.cpp.

52{
53 PhysGalerkinProject1D(fbasis0.GetPointsKey(), from, tbasis0.GetPointsKey(),
54 to);
55}
void PhysGalerkinProject1D(const BasisKey &fbasis0, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, Array< OneD, NekDouble > &to)

References Nektar::LibUtilities::BasisKey::GetPointsKey(), and PhysGalerkinProject1D().

Referenced by PhysGalerkinProject1D(), and PhysGalerkinProject1D().

◆ PhysGalerkinProject1D() [2/4]

void Nektar::LibUtilities::PhysGalerkinProject1D ( const BasisKey fbasis0,
const NekDouble from,
const BasisKey tbasis0,
NekDouble to 
)

Definition at line 80 of file PhysGalerkinProject.cpp.

82{
83 PhysGalerkinProject1D(fbasis0.GetPointsKey(), from, tbasis0.GetPointsKey(),
84 to);
85}

References Nektar::LibUtilities::BasisKey::GetPointsKey(), and PhysGalerkinProject1D().

◆ PhysGalerkinProject1D() [3/4]

void Nektar::LibUtilities::PhysGalerkinProject1D ( const PointsKey fpoints0,
const Array< OneD, const NekDouble > &  from,
const PointsKey tpoints0,
Array< OneD, NekDouble > &  to 
)

Definition at line 57 of file PhysGalerkinProject.cpp.

61{
62 if (fpoints0 == tpoints0) // check to see if the same
63 {
64 Vmath::Vcopy(fpoints0.GetNumPoints(), from, 1, to, 1);
65 }
66 else // interpolate
67 {
69
70 GP0 = PointsManager()[tpoints0]->GetGalerkinProjection(fpoints0);
71
72 NekVector<NekDouble> in(fpoints0.GetNumPoints(), from, eWrapper);
73 NekVector<NekDouble> out(tpoints0.GetNumPoints(), to, eWrapper);
74
75 GP0->Transpose();
76 out = (*GP0) * in;
77 }
78}

References Nektar::eWrapper, Nektar::LibUtilities::PointsKey::GetNumPoints(), PointsManager(), and Vmath::Vcopy().

◆ PhysGalerkinProject1D() [4/4]

void Nektar::LibUtilities::PhysGalerkinProject1D ( const PointsKey fpoints0,
const NekDouble from,
const PointsKey tpoints0,
NekDouble to 
)

Definition at line 87 of file PhysGalerkinProject.cpp.

89{
90 if (fpoints0 == tpoints0) // check to see if the same
91 {
92 Vmath::Vcopy(fpoints0.GetNumPoints(), from, 1, to, 1);
93 }
94 else // interpolate
95 {
96
98
99 GP0 = PointsManager()[tpoints0]->GetGalerkinProjection(fpoints0);
100
101 Blas::Dgemv('T', tpoints0.GetNumPoints(), fpoints0.GetNumPoints(), 1.0,
102 GP0->GetPtr().data(), tpoints0.GetNumPoints(), from, 1, 0.0,
103 to, 1);
104 }
105}

References Blas::Dgemv(), Nektar::LibUtilities::PointsKey::GetNumPoints(), PointsManager(), and Vmath::Vcopy().

◆ PhysGalerkinProject2D() [1/3]

void Nektar::LibUtilities::PhysGalerkinProject2D ( const BasisKey fbasis0,
const BasisKey fbasis1,
const Array< OneD, const NekDouble > &  from,
const BasisKey tbasis0,
const BasisKey tbasis1,
Array< OneD, NekDouble > &  to 
)

Definition at line 108 of file PhysGalerkinProject.cpp.

112{
114 from.data(), tbasis0.GetPointsKey(),
115 tbasis1.GetPointsKey(), to.data());
116}
void PhysGalerkinProject2D(const BasisKey &fbasis0, const BasisKey &fbasis1, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, const BasisKey &tbasis1, Array< OneD, NekDouble > &to)

References Nektar::LibUtilities::BasisKey::GetPointsKey(), and PhysGalerkinProject2D().

Referenced by PhysGalerkinProject2D(), and PhysGalerkinProject2D().

◆ PhysGalerkinProject2D() [2/3]

void Nektar::LibUtilities::PhysGalerkinProject2D ( const PointsKey fpoints0,
const PointsKey fpoints1,
const Array< OneD, const NekDouble > &  from,
const PointsKey tpoints0,
const PointsKey tpoints1,
Array< OneD, NekDouble > &  to 
)

Definition at line 118 of file PhysGalerkinProject.cpp.

122{
123 PhysGalerkinProject2D(fpoints0, fpoints1, from.data(), tpoints0, tpoints1,
124 to.data());
125}

References PhysGalerkinProject2D().

◆ PhysGalerkinProject2D() [3/3]

void Nektar::LibUtilities::PhysGalerkinProject2D ( const PointsKey fpoints0,
const PointsKey fpoints1,
const NekDouble from,
const PointsKey tpoints0,
const PointsKey tpoints1,
NekDouble to 
)

Definition at line 127 of file PhysGalerkinProject.cpp.

130{
131 DNekMatSharedPtr GP0, GP1;
132 Array<OneD, NekDouble> wsp(tpoints1.GetNumPoints() *
133 fpoints0.GetNumPoints()); // fnp0*tnp1
134
135 size_t fnp0 = fpoints0.GetNumPoints();
136 size_t fnp1 = fpoints1.GetNumPoints();
137 size_t tnp0 = tpoints0.GetNumPoints();
138 size_t tnp1 = tpoints1.GetNumPoints();
139
140 if (fpoints1 == tpoints1)
141 {
142 Vmath::Vcopy(fnp0 * tnp1, from, 1, wsp.data(), 1);
143 }
144 else
145 {
146 GP1 = PointsManager()[tpoints1]->GetGalerkinProjection(fpoints1);
147 Blas::Dgemm('N', 'T', fnp0, tnp1, fnp1, 1.0, from, fnp0,
148 GP1->GetPtr().data(), tnp1, 0.0, wsp.data(), fnp0);
149 }
150
151 if (fpoints0 == tpoints0)
152 {
153 Vmath::Vcopy(tnp0 * tnp1, wsp.data(), 1, to, 1);
154 }
155 else
156 {
157 GP0 = PointsManager()[tpoints0]->GetGalerkinProjection(fpoints0);
158 Blas::Dgemm('N', 'N', tnp0, tnp1, fnp0, 1.0, GP0->GetPtr().data(), tnp0,
159 wsp.data(), fnp0, 0.0, to, tnp0);
160 }
161}

References Blas::Dgemm(), Nektar::LibUtilities::PointsKey::GetNumPoints(), PointsManager(), and Vmath::Vcopy().

◆ PhysGalerkinProject3D() [1/3]

void Nektar::LibUtilities::PhysGalerkinProject3D ( const BasisKey fbasis0,
const BasisKey fbasis1,
const BasisKey fbasis2,
const Array< OneD, const NekDouble > &  from,
const BasisKey tbasis0,
const BasisKey tbasis1,
const BasisKey tbasis2,
Array< OneD, NekDouble > &  to 
)

Definition at line 164 of file PhysGalerkinProject.cpp.

169{
171 fbasis2.GetPointsKey(), from.data(),
172 tbasis0.GetPointsKey(), tbasis1.GetPointsKey(),
173 tbasis2.GetPointsKey(), to.data());
174}
void PhysGalerkinProject3D(const BasisKey &fbasis0, const BasisKey &fbasis1, const BasisKey &fbasis2, const Array< OneD, const NekDouble > &from, const BasisKey &tbasis0, const BasisKey &tbasis1, const BasisKey &tbasis2, Array< OneD, NekDouble > &to)

References Nektar::LibUtilities::BasisKey::GetPointsKey(), and PhysGalerkinProject3D().

Referenced by PhysGalerkinProject3D(), and PhysGalerkinProject3D().

◆ PhysGalerkinProject3D() [2/3]

void Nektar::LibUtilities::PhysGalerkinProject3D ( const PointsKey fpoints0,
const PointsKey fpoints1,
const PointsKey fpoints2,
const Array< OneD, const NekDouble > &  from,
const PointsKey tpoints0,
const PointsKey tpoints1,
const PointsKey tpoints2,
Array< OneD, NekDouble > &  to 
)

Definition at line 176 of file PhysGalerkinProject.cpp.

182{
183 PhysGalerkinProject3D(fpoints0, fpoints1, fpoints2, from.data(), tpoints0,
184 tpoints1, tpoints2, to.data());
185}

References PhysGalerkinProject3D().

◆ PhysGalerkinProject3D() [3/3]

void Nektar::LibUtilities::PhysGalerkinProject3D ( const PointsKey fpoints0,
const PointsKey fpoints1,
const PointsKey fpoints2,
const NekDouble from,
const PointsKey tpoints0,
const PointsKey tpoints1,
const PointsKey tpoints2,
NekDouble to 
)

Definition at line 187 of file PhysGalerkinProject.cpp.

191{
192 DNekMatSharedPtr GP0, GP1, GP2;
193
194 size_t fnp0 = fpoints0.GetNumPoints();
195 size_t fnp1 = fpoints1.GetNumPoints();
196 size_t fnp2 = fpoints2.GetNumPoints();
197 size_t tnp0 = tpoints0.GetNumPoints();
198 size_t tnp1 = tpoints1.GetNumPoints();
199 size_t tnp2 = tpoints2.GetNumPoints();
200
201 Array<OneD, NekDouble> wsp1(fnp0 * tnp1 * tnp2);
202 Array<OneD, NekDouble> wsp2(fnp0 * fnp1 * tnp2);
203
204 GP2 = PointsManager()[tpoints2]->GetGalerkinProjection(fpoints2);
205 Blas::Dgemm('N', 'T', fnp0 * fnp1, tnp2, fnp2, 1.0, from, fnp0 * fnp1,
206 GP2->GetPtr().data(), tnp2, 0.0, wsp2.data(), fnp0 * fnp1);
207
208 GP1 = PointsManager()[tpoints1]->GetGalerkinProjection(fpoints1);
209 for (size_t i = 0; i < tnp2; i++)
210 {
211 Blas::Dgemm('N', 'T', fnp0, tnp1, fnp1, 1.0,
212 wsp2.data() + i * fnp0 * fnp1, fnp0, GP1->GetPtr().data(),
213 tnp1, 0.0, wsp1.data() + i * fnp0 * tnp1, fnp0);
214 }
215
216 GP0 = PointsManager()[tpoints0]->GetGalerkinProjection(fpoints0);
217 Blas::Dgemm('N', 'N', tnp0, tnp1 * tnp2, fnp0, 1.0, GP0->GetPtr().data(),
218 tnp0, wsp1.data(), fnp0, 0.0, to, tnp0);
219}

References Blas::Dgemm(), Nektar::LibUtilities::PointsKey::GetNumPoints(), and PointsManager().

◆ PointsManager()

PointsManagerT & Nektar::LibUtilities::PointsManager ( void  )

Definition at line 40 of file ManagerAccess.cpp.

41{
42 static PointsManagerT instance;
43 return instance;
44}
NekManager< PointsKey, Points< NekDouble >, PointsKey::opLess > PointsManagerT

Referenced by Nektar::StdRegionsTests::BOOST_AUTO_TEST_CASE(), Nektar::LibUtilities::GaussPoints::CalculateGalerkinProjectionMatrix(), Nektar::LibUtilities::FourierPoints::CreateMatrix(), Nektar::LibUtilities::GaussPoints::CreateMatrix(), Nektar::LibUtilities::Basis::GenBasis(), Nektar::StdRegions::StdNodalTriExp::GetNodalPoints(), Nektar::StdRegions::StdNodalPrismExp::GetNodalPoints(), Nektar::StdRegions::StdNodalTetExp::GetNodalPoints(), Interp1D(), Interp1D(), Interp2D(), Interp3D(), Nektar::MultiRegions::LocTraceToTraceMap::LocTraceToTraceMap(), Nektar::Collections::PhysInterp1DScaled_NoCollection::operator()(), PhysGalerkinProject1D(), PhysGalerkinProject1D(), PhysGalerkinProject2D(), PhysGalerkinProject3D(), Points_Create(), Nektar::SolverUtils::DriverPFASST::SetTimeInterpolator(), Nektar::LibUtilities::TimeIntegrationSchemeSDC::TimeIntegrationSchemeSDC(), Nektar::LibUtilities::NodalHexElec::v_CalculatePoints(), Nektar::LibUtilities::NodalPrismElec::v_CalculatePoints(), Nektar::LibUtilities::NodalPrismSPI::v_CalculatePoints(), Nektar::LibUtilities::NodalQuadElec::v_CalculatePoints(), Nektar::LibUtilities::PolyEPoints::v_CalculateWeights(), Nektar::SpatialDomains::SegGeom::v_FillGeom(), Nektar::SpatialDomains::TriGeom::v_FillGeom(), Nektar::LibUtilities::NodalPrismElec::v_GetI(), Nektar::LibUtilities::NodalPrismEvenlySpaced::v_GetI(), Nektar::LibUtilities::NodalTetElec::v_GetI(), Nektar::LibUtilities::NodalTetEvenlySpaced::v_GetI(), Nektar::LibUtilities::NodalTriElec::v_GetI(), Nektar::LibUtilities::NodalTriEvenlySpaced::v_GetI(), Nektar::LibUtilities::NodalTriFekete::v_GetI(), and Nektar::LibUtilities::PolyEPoints::v_GetI().

◆ PortablePath()

static std::string Nektar::LibUtilities::PortablePath ( const fs::path &  path)
inlinestatic

◆ PrintProgressbar()

int Nektar::LibUtilities::PrintProgressbar ( const int  position,
const int  goal,
const std::string  message,
int  lastprogress = -1 
)
inline

Prints a progressbar.

Parameters
positionState of the current process
goalGoal of the current process
messageShort Description of the current process

This function plots a simple progressbar to the console or log file to visualize the current state of an ongoing process. Make sure you minimize calling this routine. Ideally, this should be called only when the percentage is increased by an integer.

Definition at line 65 of file Progressbar.hpp.

67{
68 std::cout.unsetf(std::ios::floatfield);
69 if (ISTTY)
70 {
71 float progress = position / float(goal);
72 int numeq = static_cast<int>(ceil(progress * 49));
73 if (lastprogress == numeq)
74 {
75 return numeq;
76 }
77 else
78 {
79 // carriage return
80 std::cout << "\r";
81
82 std::cout << message << ": ";
83
84 std::cout << std::setw(3) << ceil(100 * progress) << "% [";
85 for (int j = 0; j < numeq; j++)
86 {
87 std::cout << "=";
88 }
89 for (int j = numeq; j < 49; j++)
90 {
91 std::cout << " ";
92 }
93 std::cout << "]" << std::flush;
94 return numeq;
95 }
96 }
97 else
98 {
99 // print only every 2 percent
100 if (int(ceil(double(100 * position / goal))) % 2 == 0)
101 {
102 std::cout << "." << std::flush;
103 }
104 return -1;
105 }
106}
#define ISTTY

References ISTTY.

Referenced by Nektar::FieldUtils::Iso::GlobalCondense(), Nektar::FieldUtils::ProcessInterpField::PrintProgressbar(), Nektar::FieldUtils::ProcessInterpPointDataToFld::PrintProgressbar(), Nektar::FieldUtils::ProcessInterpPoints::PrintProgressbar(), Nektar::FieldUtils::ProcessInterpPtsToPts::PrintProgressbar(), Nektar::SolverUtils::SessionFunction::PrintProgressbar(), Nektar::SolverUtils::EquationSystem::PrintProgressbar(), and Nektar::FieldUtils::Iso::SeparateRegions().

◆ rad()

static NekDouble Nektar::LibUtilities::rad ( NekDouble  x,
NekDouble  y 
)
static

◆ sign()

NekDouble Nektar::LibUtilities::sign ( NekDouble  arg)

Definition at line 60 of file Interpreter/Interpreter.cpp.

61{
62 return (arg > 0.0) - (arg < 0.0);
63}

◆ UniquePath()

static fs::path Nektar::LibUtilities::UniquePath ( std::string  specFileStem)
inlinestatic

Create a unique (random) path, based on an input stem string. The returned string is a filename or directory that does not exist.

Given specFileStem as a parameter, this returns a string in the form tmp_<stem>_abcdef where the final 6 characters are random characters and digits.

Definition at line 79 of file Filesystem.hpp.

80{
81 std::random_device rd;
82 std::mt19937 generator(rd());
83 fs::path tmp;
84
85 do
86 {
87 std::string chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
88 "abcdefghijklmnopqrstuvwxyz";
89
90 std::shuffle(chars.begin(), chars.end(), generator);
91 tmp = fs::path("tmp_" + specFileStem + "_" + chars.substr(0, 6));
92 } while (fs::exists(tmp));
93
94 return tmp;
95}

Referenced by Nektar::VarcoeffHashingTest::createSessionFile(), and main().

◆ Write()

void Nektar::LibUtilities::Write ( const std::string &  outFile,
std::vector< FieldDefinitionsSharedPtr > &  fielddefs,
std::vector< std::vector< NekDouble > > &  fielddata,
const FieldMetaDataMap fieldinfomap,
const bool  backup 
)

This function allows for data to be written to an FLD file when a session and/or communicator is not instantiated. Typically used in utilities which do not take XML input and operate in serial only.

Parameters
outFileOutput filename
fielddefsField definitions that define the output
fielddataBinary field data that stores the output corresponding to fielddefs.
fieldinfomapAssociated field metadata map.

Definition at line 244 of file FieldIO.cpp.

248{
249#ifdef NEKTAR_USE_MPI
250 int size;
251 int init;
252 MPI_Initialized(&init);
253
254 // If MPI has been initialised we can check the number of processes
255 // and, if > 1, tell the user he should not be running this
256 // function in parallel. If it is not initialised, we do not
257 // initialise it here, and assume the user knows what they are
258 // doing.
259 if (init)
260 {
261 MPI_Comm_size(MPI_COMM_WORLD, &size);
262 ASSERTL0(size == 1,
263 "This static function is not available in parallel. Please"
264 "instantiate a FieldIO object for parallel use.");
265 }
266#endif
267 CommSharedPtr c = GetCommFactory().CreateInstance("Serial", 0, 0);
269 f->Write(outFile, fielddefs, fielddata, fieldinfomap, backup);
270}

References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), GetCommFactory(), and GetFieldIOFactory().

Referenced by main().

Variable Documentation

◆ BasisTypeMap

const char* const Nektar::LibUtilities::BasisTypeMap[]
Initial value:
= {
"NoBasisType", "Ortho_A", "Ortho_B",
"Ortho_C", "Modified_A", "Modified_B",
"Modified_C", "OrthoPyr_C", "ModifiedPyr_C",
"Fourier", "GLL_Lagrange", "Gauss_Lagrange",
"Legendre", "Chebyshev", "Monomial",
"FourierSingleMode", "FourierHalfModeRe", "FourierHalfModeIm"}

Definition at line 44 of file Foundations.hpp.

44 {
45 "NoBasisType", "Ortho_A", "Ortho_B",
46 "Ortho_C", "Modified_A", "Modified_B",
47 "Modified_C", "OrthoPyr_C", "ModifiedPyr_C",
48 "Fourier", "GLL_Lagrange", "Gauss_Lagrange",
49 "Legendre", "Chebyshev", "Monomial",
50 "FourierSingleMode", "FourierHalfModeRe", "FourierHalfModeIm"};

Referenced by export_Basis(), Nektar::LibUtilities::FieldIOXml::ImportFieldDefs(), operator<<(), Nektar::SpatialDomains::MeshGraph::ReadExpansionInfo(), Nektar::SolverUtils::DriverAdaptive::ReplaceExpansion(), and Nektar::LibUtilities::FieldIOXml::v_Write().

◆ EndianTypeMap

const std::string Nektar::LibUtilities::EndianTypeMap[]
Initial value:
= {"UnknownEndian", "BigEndian",
"LittleEndian", "BigWordEndian",
"LittleWordEndian"}

Definition at line 57 of file CompressData.h.

57 {"UnknownEndian", "BigEndian",
58 "LittleEndian", "BigWordEndian",
59 "LittleWordEndian"};

Referenced by Nektar::LibUtilities::CompressData::GetCompressString().

◆ fldCmdFormat

std::string Nektar::LibUtilities::fldCmdFormat
Initial value:
= SessionReader::RegisterCmdLineArgument(
"io-format", "i", "Default input/output format (e.g. Xml, Hdf5)")

Definition at line 63 of file FieldIO.cpp.

◆ functions_p

Nektar::LibUtilities::functions Nektar::LibUtilities::functions_p
static

◆ FunctionTypeMap

const char* const Nektar::LibUtilities::FunctionTypeMap[]
Initial value:
= {"No Function type", "Expression",
"File"}

Definition at line 103 of file SessionReader.h.

103 {"No Function type", "Expression",
104 "File"};

◆ kPointsTypeStr

const std::string Nektar::LibUtilities::kPointsTypeStr[]

Definition at line 52 of file Foundations.hpp.

52 {"NoPointsType",
53 "GaussGaussLegendre",
54 "GaussRadauMLegendre",
55 "GaussRadauPLegendre",
56 "GaussLobattoLegendre",
57 "GaussGaussChebyshev",
58 "GaussRadauMChebyshev",
59 "GaussRadauPChebyshev",
60 "GaussLobattoChebyshev",
61 "GaussRadauMAlpha0Beta1",
62 "GaussRadauMAlpha0Beta2",
63 "GaussRadauMAlpha1Beta0",
64 "GaussRadauMAlpha2Beta0",
65 "GaussKronrodLegendre",
66 "GaussRadauKronrodMLegendre",
67 "GaussRadauKronrodMAlpha1Beta0",
68 "GaussLobattoKronrodLegendre",
69 "PolyEvenlySpaced",
70 "FourierEvenlySpaced",
71 "FourierSingleModeSpaced",
72 "BoundaryLayerPoints",
73 "BoundaryLayerPointsRev",
74 "NodalTriElec",
75 "NodalTriFekete",
76 "NodalTriEvenlySpaced",
77 "NodalTetEvenlySpaced",
78 "NodalTetElec",
79 "NodalPrismEvenlySpaced",
80 "NodalPrismElec",
81 "NodalTriSPI",
82 "NodalTetSPI",
83 "NodalPrismSPI",
84 "NodalQuadElec",
85 "NodalHexElec",
86 "GaussLegendreWithMP",
87 "GaussLegendreWithM"};

Referenced by export_Points(), Nektar::LibUtilities::FieldIOHdf5::ImportFieldDef(), Nektar::LibUtilities::FieldIOXml::ImportFieldDefs(), operator<<(), Nektar::SpatialDomains::MeshGraph::ReadExpansionInfo(), Nektar::StdRegions::StdTriExp::v_GetTraceBasisKey(), Nektar::SpatialDomains::MeshGraphIOXml::v_ReadCurves(), and Nektar::SpatialDomains::MeshGraphIOXml::v_WriteCurves().

◆ NodalTetElecAvailable

const size_t Nektar::LibUtilities::NodalTetElecAvailable = 10

Definition at line 65 of file NodalTetElecData.h.

◆ NodalTetElecData

const NekDouble Nektar::LibUtilities::NodalTetElecData[][9]
static

Definition at line 68 of file NodalTetElecData.h.

68 {
69 // %%% n_1 n_4 n_6 n_12 n_24 l_1 l_2 l_3 l_4
70 // 1 1 %%% Order / Number of Points
71 {0, 1, 0, 0, 0, 1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
72 // 2 2 %%% Order / Number of Points
73 {0, 1, 0, 0, 0, 1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
74 {0, 0, 1, 0, 0, 0.5000000000, 0.5000000000, 0.0000000000, 0.0000000000},
75 // 3 3 %%% Order / Number of Points
76 {0, 1, 0, 0, 0, 1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
77 {0, 1, 0, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333, 0.0000000000},
78 {0, 0, 0, 2, 0, 0.7236067977, 0.2763932023, 0.0000000000, 0.0000000000},
79 // 4 5 %%% Order / Number of Points
80 {0, 1, 0, 0, 0, 1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
81 {1, 0, 0, 0, 0, 0.2500000000, 0.2500000000, 0.2500000000, 0.2500000000},
82 {0, 0, 1, 0, 0, 0.5000000000, 0.5000000000, 0.0000000000, 0.0000000000},
83 {0, 0, 0, 2, 0, 0.8273268354, 0.1726731646, 0.0000000000, 0.0000000000},
84 {0, 0, 0, 1, 0, 0.2371200168, 0.2371200168, 0.5257599664, 0.0000000000},
85 // 5 6 %%% Order / Number of Points
86 {0, 1, 0, 0, 0, 1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
87 {0, 1, 0, 0, 0, 0.1834903473, 0.1834903473, 0.1834903473, 0.4495289581},
88 {0, 0, 0, 2, 0, 0.8825276620, 0.1174723380, 0.0000000000, 0.0000000000},
89 {0, 0, 0, 2, 0, 0.6426157582, 0.3573842418, 0.0000000000, 0.0000000000},
90 {0, 0, 0, 1, 0, 0.1575181512, 0.1575181512, 0.6849636976, 0.0000000000},
91 {0, 0, 0, 1, 0, 0.4105151510, 0.4105151510, 0.1789696980, 0.0000000000},
92 // 6 9 %%% Order / Number of Points
93 {0, 1, 0, 0, 0, 1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
94 {0, 1, 0, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333, 0.0000000000},
95 {0, 1, 0, 0, 0, 0.1402705801, 0.1402705801, 0.1402705801, 0.5791882597},
96 {0, 0, 1, 0, 0, 0.5000000000, 0.5000000000, 0.0000000000, 0.0000000000},
97 {0, 0, 1, 0, 0, 0.3542052583, 0.3542052583, 0.1457947417, 0.1457947417},
98 {0, 0, 0, 2, 0, 0.9151119481, 0.0848880519, 0.0000000000, 0.0000000000},
99 {0, 0, 0, 2, 0, 0.7344243967, 0.2655756033, 0.0000000000, 0.0000000000},
100 {0, 0, 0, 1, 0, 0.1061169285, 0.1061169285, 0.7877661430, 0.0000000000},
101 {0, 0, 0, 0, 1, 0.3097982151, 0.5569099204, 0.1332918645, 0.0000000000},
102 // 7 11 %%% Order / Number of Points
103 {0, 1, 0, 0, 0, 1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
104 {0, 1, 0, 0, 0, 0.1144606542, 0.1144606542, 0.1144606542, 0.6566180374},
105 {0, 1, 0, 0, 0, 0.2917002822, 0.2917002822, 0.2917002822, 0.1248991534},
106 {0, 0, 0, 2, 0, 0.9358700743, 0.0641299257, 0.0000000000, 0.0000000000},
107 {0, 0, 0, 2, 0, 0.7958500907, 0.2041499093, 0.0000000000, 0.0000000000},
108 {0, 0, 0, 2, 0, 0.6046496090, 0.3953503910, 0.0000000000, 0.0000000000},
109 {0, 0, 0, 1, 0, 0.0660520784, 0.0660520784, 0.8678958432, 0.0000000000},
110 {0, 0, 0, 1, 0, 0.4477725053, 0.4477725053, 0.1044549894, 0.0000000000},
111 {0, 0, 0, 1, 0, 0.2604038024, 0.2604038024, 0.4791923952, 0.0000000000},
112 {0, 0, 0, 1, 0, 0.1208429970, 0.1208429970, 0.4770203357, 0.2812936703},
113 {0, 0, 0, 0, 1, 0.2325524777, 0.6759625951, 0.0914849272, 0.0000000000},
114 // 8 15 %%% Order / Number of Points
115 {0, 1, 0, 0, 0, 1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
116 {1, 0, 0, 0, 0, 0.2500000000, 0.2500000000, 0.2500000000, 0.2500000000},
117 {0, 1, 0, 0, 0, 0.0991203900, 0.0991203900, 0.0991203900, 0.7026388300},
118 {0, 0, 1, 0, 0, 0.5000000000, 0.5000000000, 0.0000000000, 0.0000000000},
119 {0, 0, 1, 0, 0, 0.3920531037, 0.3920531037, 0.1079468963, 0.1079468963},
120 {0, 0, 0, 2, 0, 0.9498789977, 0.0501210023, 0.0000000000, 0.0000000000},
121 {0, 0, 0, 2, 0, 0.8385931398, 0.1614068602, 0.0000000000, 0.0000000000},
122 {0, 0, 0, 2, 0, 0.6815587319, 0.3184412681, 0.0000000000, 0.0000000000},
123 {0, 0, 0, 1, 0, 0.0660520784, 0.0660520784, 0.8678958432, 0.0000000000},
124 {0, 0, 0, 1, 0, 0.2033467796, 0.2033467796, 0.5933064408, 0.0000000000},
125 {0, 0, 0, 1, 0, 0.3905496216, 0.3905496216, 0.2189007568, 0.0000000000},
126 {0, 0, 0, 1, 0, 0.1047451941, 0.1047451941, 0.5581946462, 0.2323149656},
127 {0, 0, 0, 1, 0, 0.2419418605, 0.2419418605, 0.4062097450, 0.1099065340},
128 {0, 0, 0, 0, 1, 0.3617970895, 0.5541643672, 0.0840385433, 0.0000000000},
129 {0, 0, 0, 0, 1, 0.1801396087, 0.7519065566, 0.0679538347, 0.0000000000},
130 // 9 18 %%% Order / Number of Points
131 {0, 1, 0, 0, 0, 1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
132 {0, 1, 0, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333, 0.0000000000},
133 {0, 1, 0, 0, 0, 0.0823287303, 0.0823287303, 0.0823287303, 0.7530138091},
134 {0, 1, 0, 0, 0, 0.2123055477, 0.2123055477, 0.2123055477, 0.3630833569},
135 {0, 0, 0, 2, 0, 0.9597669541, 0.0402330459, 0.0000000000, 0.0000000000},
136 {0, 0, 0, 2, 0, 0.8693869326, 0.1306130674, 0.0000000000, 0.0000000000},
137 {0, 0, 0, 2, 0, 0.7389624749, 0.2610375251, 0.0000000000, 0.0000000000},
138 {0, 0, 0, 2, 0, 0.5826394788, 0.4173605212, 0.0000000000, 0.0000000000},
139 {0, 0, 0, 1, 0, 0.0355775717, 0.0355775717, 0.9288448566, 0.0000000000},
140 {0, 0, 0, 1, 0, 0.4640303025, 0.4640303025, 0.0719393950, 0.0000000000},
141 {0, 0, 0, 1, 0, 0.1633923069, 0.1633923069, 0.6732153862, 0.0000000000},
142 {0, 0, 0, 1, 0, 0.0873980781, 0.0873980781, 0.6297057875, 0.1954980564},
143 {0, 0, 0, 1, 0, 0.0916714679, 0.0916714679, 0.4819523024, 0.3347047619},
144 {0, 0, 0, 1, 0, 0.2040338880, 0.2040338880, 0.4996292993, 0.0923029247},
145 {0, 0, 0, 1, 0, 0.3483881173, 0.3483881173, 0.2075502723, 0.0956734931},
146 {0, 0, 0, 0, 1, 0.2966333890, 0.6349633653, 0.0684032457, 0.0000000000},
147 {0, 0, 0, 0, 0, 0.1439089974, 0.8031490682, 0.0529419344, 0.0000000000},
148 {0, 0, 0, 0, 0, 0.3225890045, 0.4968009397, 0.1806100558, 0.0000000000},
149 // 10 23 %%% Order / Number of Points
150 {0, 1, 0, 0, 0, 1.0000000000, 0.0000000000, 0.0000000000, 0.0000000000},
151 {0, 1, 0, 0, 0, 0.0678316144, 0.0678316144, 0.0678316144, 0.7965051568},
152 {0, 1, 0, 0, 0, 0.1805746957, 0.1805746957, 0.1805746957, 0.4582759129},
153 {0, 1, 0, 0, 0, 0.3051527124, 0.3051527124, 0.3051527124, 0.0845418628},
154 {0, 0, 1, 0, 0, 0.5000000000, 0.5000000000, 0.0000000000, 0.0000000000},
155 {0, 0, 1, 0, 0, 0.3164336236, 0.3164336236, 0.1835663764, 0.1835663764},
156 {0, 0, 1, 0, 0, 0.4219543801, 0.4219543801, 0.0780456199, 0.0780456199},
157 {0, 0, 0, 2, 0, 0.9670007152, 0.0329992848, 0.0000000000, 0.0000000000},
158 {0, 0, 0, 2, 0, 0.8922417368, 0.1077582632, 0.0000000000, 0.0000000000},
159 {0, 0, 0, 2, 0, 0.7826176635, 0.2173823365, 0.0000000000, 0.0000000000},
160 {0, 0, 0, 2, 0, 0.6478790678, 0.3521209322, 0.0000000000, 0.0000000000},
161 {0, 0, 0, 1, 0, 0.0265250690, 0.0265250690, 0.9469498620, 0.0000000000},
162 {0, 0, 0, 1, 0, 0.1330857076, 0.1330857076, 0.7338285848, 0.0000000000},
163 {0, 0, 0, 1, 0, 0.4232062312, 0.4232062312, 0.1535875376, 0.0000000000},
164 {0, 0, 0, 1, 0, 0.2833924371, 0.2833924371, 0.4332151258, 0.0000000000},
165 {0, 0, 0, 1, 0, 0.1734555313, 0.1734555313, 0.5762731177, 0.0768158196},
166 {0, 0, 0, 1, 0, 0.0724033935, 0.0724033935, 0.6893564961, 0.1658367169},
167 {0, 0, 0, 1, 0, 0.0768451848, 0.0768451848, 0.5573732958, 0.2889363346},
168 {0, 0, 0, 0, 1, 0.3934913008, 0.5472380443, 0.0592706549, 0.0000000000},
169 {0, 0, 0, 0, 1, 0.2462883939, 0.6991456238, 0.0545659823, 0.0000000000},
170 {0, 0, 0, 0, 1, 0.1163195334, 0.8427538829, 0.0409265838, 0.0000000000},
171 {0, 0, 0, 0, 1, 0.2707097521, 0.5811217960, 0.1481684519, 0.0000000000},
172 {0, 0, 0, 0, 1, 0.3019928872, 0.4393774966, 0.1776946096, 0.0809350066}};

Referenced by Nektar::LibUtilities::NodalTetElec::v_CalculatePoints().

◆ NodalTetElecNPTS

const size_t Nektar::LibUtilities::NodalTetElecNPTS[NodalTetElecAvailable]
static
Initial value:
= {
1, 2, 3, 5, 6, 9, 11, 15, 18, 23}

Definition at line 66 of file NodalTetElecData.h.

66 {
67 1, 2, 3, 5, 6, 9, 11, 15, 18, 23};

Referenced by Nektar::LibUtilities::NodalTetElec::v_CalculatePoints().

◆ NodalTetSPIAvailable

const size_t Nektar::LibUtilities::NodalTetSPIAvailable = 10

Definition at line 40 of file NodalTetSPIData.h.

◆ NodalTetSPIData

const NekDouble Nektar::LibUtilities::NodalTetSPIData[][4]
static

Definition at line 43 of file NodalTetSPIData.h.

43 {
44 // %%% x y w
45 // 1 1 %%% Order / Number of Points
46 {-0.5, -0.5, -0.5, 1.3333333333333333333333333333333333333},
47 // 2 4 %%% Order / Number of Points
48 {-0.72360679774997896964091736687312762354,
49 -0.72360679774997896964091736687312762354,
50 0.17082039324993690892275210061938287063,
51 0.33333333333333333333333333333333333333},
52 {-0.72360679774997896964091736687312762354,
53 0.17082039324993690892275210061938287063,
54 -0.72360679774997896964091736687312762354,
55 0.33333333333333333333333333333333333333},
56 {0.17082039324993690892275210061938287063,
57 -0.72360679774997896964091736687312762354,
58 -0.72360679774997896964091736687312762354,
59 0.33333333333333333333333333333333333333},
60 {-0.72360679774997896964091736687312762354,
61 -0.72360679774997896964091736687312762354,
62 -0.72360679774997896964091736687312762354,
63 0.33333333333333333333333333333333333333},
64 // 3 8 %%% Order / Number of Points
65 {-0.34367339496723662642072827083693243093,
66 -0.34367339496723662642072827083693243093,
67 -0.9689798150982901207378151874892027072,
68 0.18162379004944980942342872025562069427},
69 {-0.34367339496723662642072827083693243093,
70 -0.9689798150982901207378151874892027072,
71 -0.34367339496723662642072827083693243093,
72 0.18162379004944980942342872025562069427},
73 {-0.9689798150982901207378151874892027072,
74 -0.34367339496723662642072827083693243093,
75 -0.34367339496723662642072827083693243093,
76 0.18162379004944980942342872025562069427},
77 {-0.34367339496723662642072827083693243093,
78 -0.34367339496723662642072827083693243093,
79 -0.34367339496723662642072827083693243093,
80 0.18162379004944980942342872025562069427},
81 {-0.78390550020314279176487322158837338344,
82 -0.78390550020314279176487322158837338344,
83 0.35171650060942837529461966476512015033,
84 0.15170954328388352390990461307771263906},
85 {-0.78390550020314279176487322158837338344,
86 0.35171650060942837529461966476512015033,
87 -0.78390550020314279176487322158837338344,
88 0.15170954328388352390990461307771263906},
89 {0.35171650060942837529461966476512015033,
90 -0.78390550020314279176487322158837338344,
91 -0.78390550020314279176487322158837338344,
92 0.15170954328388352390990461307771263906},
93 {-0.78390550020314279176487322158837338344,
94 -0.78390550020314279176487322158837338344,
95 -0.78390550020314279176487322158837338344,
96 0.15170954328388352390990461307771263906},
97 // 4 14 %%% Order / Number of Points
98 {-0.37822816147339878040530853247308433401,
99 -0.37822816147339878040530853247308433401,
100 -0.86531551557980365878407440258074699796,
101 0.15025056762402113439891420311104844508},
102 {-0.37822816147339878040530853247308433401,
103 -0.86531551557980365878407440258074699796,
104 -0.37822816147339878040530853247308433401,
105 0.15025056762402113439891420311104844508},
106 {-0.86531551557980365878407440258074699796,
107 -0.37822816147339878040530853247308433401,
108 -0.37822816147339878040530853247308433401,
109 0.15025056762402113439891420311104844508},
110 {-0.37822816147339878040530853247308433401,
111 -0.37822816147339878040530853247308433401,
112 -0.37822816147339878040530853247308433401,
113 0.15025056762402113439891420311104844508},
114 {-0.81452949937821754719535217252593878951,
115 -0.81452949937821754719535217252593878951,
116 0.44358849813465264158605651757781636853,
117 0.097990724155149266058280273981770004697},
118 {-0.81452949937821754719535217252593878951,
119 0.44358849813465264158605651757781636853,
120 -0.81452949937821754719535217252593878951,
121 0.097990724155149266058280273981770004697},
122 {0.44358849813465264158605651757781636853,
123 -0.81452949937821754719535217252593878951,
124 -0.81452949937821754719535217252593878951,
125 0.097990724155149266058280273981770004697},
126 {-0.81452949937821754719535217252593878951,
127 -0.81452949937821754719535217252593878951,
128 -0.81452949937821754719535217252593878951,
129 0.097990724155149266058280273981770004697},
130 {-0.90899259174870070101623894744132112187,
131 -0.091007408251299298983761052558678878131,
132 -0.091007408251299298983761052558678878131,
133 0.05672802770277528858409257082700992237},
134 {-0.091007408251299298983761052558678878131,
135 -0.90899259174870070101623894744132112187,
136 -0.091007408251299298983761052558678878131,
137 0.05672802770277528858409257082700992237},
138 {-0.90899259174870070101623894744132112187,
139 -0.90899259174870070101623894744132112187,
140 -0.091007408251299298983761052558678878131,
141 0.05672802770277528858409257082700992237},
142 {-0.90899259174870070101623894744132112187,
143 -0.091007408251299298983761052558678878131,
144 -0.90899259174870070101623894744132112187,
145 0.05672802770277528858409257082700992237},
146 {-0.091007408251299298983761052558678878131,
147 -0.90899259174870070101623894744132112187,
148 -0.90899259174870070101623894744132112187,
149 0.05672802770277528858409257082700992237},
150 {-0.091007408251299298983761052558678878131,
151 -0.091007408251299298983761052558678878131,
152 -0.90899259174870070101623894744132112187,
153 0.05672802770277528858409257082700992237},
154 // 5 14 %%% Order / Number of Points
155 {-0.37822816147339878040530853247308433401,
156 -0.37822816147339878040530853247308433401,
157 -0.86531551557980365878407440258074699796,
158 0.15025056762402113439891420311104844508},
159 {-0.37822816147339878040530853247308433401,
160 -0.86531551557980365878407440258074699796,
161 -0.37822816147339878040530853247308433401,
162 0.15025056762402113439891420311104844508},
163 {-0.86531551557980365878407440258074699796,
164 -0.37822816147339878040530853247308433401,
165 -0.37822816147339878040530853247308433401,
166 0.15025056762402113439891420311104844508},
167 {-0.37822816147339878040530853247308433401,
168 -0.37822816147339878040530853247308433401,
169 -0.37822816147339878040530853247308433401,
170 0.15025056762402113439891420311104844508},
171 {-0.81452949937821754719535217252593878951,
172 -0.81452949937821754719535217252593878951,
173 0.44358849813465264158605651757781636853,
174 0.097990724155149266058280273981770004697},
175 {-0.81452949937821754719535217252593878951,
176 0.44358849813465264158605651757781636853,
177 -0.81452949937821754719535217252593878951,
178 0.097990724155149266058280273981770004697},
179 {0.44358849813465264158605651757781636853,
180 -0.81452949937821754719535217252593878951,
181 -0.81452949937821754719535217252593878951,
182 0.097990724155149266058280273981770004697},
183 {-0.81452949937821754719535217252593878951,
184 -0.81452949937821754719535217252593878951,
185 -0.81452949937821754719535217252593878951,
186 0.097990724155149266058280273981770004697},
187 {-0.90899259174870070101623894744132112187,
188 -0.091007408251299298983761052558678878131,
189 -0.091007408251299298983761052558678878131,
190 0.05672802770277528858409257082700992237},
191 {-0.091007408251299298983761052558678878131,
192 -0.90899259174870070101623894744132112187,
193 -0.091007408251299298983761052558678878131,
194 0.05672802770277528858409257082700992237},
195 {-0.90899259174870070101623894744132112187,
196 -0.90899259174870070101623894744132112187,
197 -0.091007408251299298983761052558678878131,
198 0.05672802770277528858409257082700992237},
199 {-0.90899259174870070101623894744132112187,
200 -0.091007408251299298983761052558678878131,
201 -0.90899259174870070101623894744132112187,
202 0.05672802770277528858409257082700992237},
203 {-0.091007408251299298983761052558678878131,
204 -0.90899259174870070101623894744132112187,
205 -0.90899259174870070101623894744132112187,
206 0.05672802770277528858409257082700992237},
207 {-0.091007408251299298983761052558678878131,
208 -0.091007408251299298983761052558678878131,
209 -0.90899259174870070101623894744132112187,
210 0.05672802770277528858409257082700992237},
211 // 6 28 %%% Order / Number of Points
212 {-0.9014645530926346, -0.9014645530926346, 0.7043936592779039,
213 0.01365860487109721},
214 {-0.9014645530926346, 0.7043936592779039, -0.9014645530926346,
215 0.01365860487109721},
216 {0.7043936592779039, -0.9014645530926346, -0.9014645530926346,
217 0.01365860487109721},
218 {-0.9014645530926346, -0.9014645530926346, -0.9014645530926346,
219 0.01365860487109721},
220 {-0.4047494477945448, -0.4047494477945448, -0.7857516566163656,
221 0.09244348954359109},
222 {-0.4047494477945448, -0.7857516566163656, -0.4047494477945448,
223 0.09244348954359109},
224 {-0.7857516566163656, -0.4047494477945448, -0.4047494477945448,
225 0.09244348954359109},
226 {-0.4047494477945448, -0.4047494477945448, -0.4047494477945448,
227 0.09244348954359109},
228 {-0.337313642192765, -0.337313642192765, -0.988059073421705,
229 0.03340433184715504},
230 {-0.337313642192765, -0.988059073421705, -0.337313642192765,
231 0.03340433184715504},
232 {-0.988059073421705, -0.337313642192765, -0.337313642192765,
233 0.03340433184715504},
234 {-0.3373136421927651, -0.3373136421927651, -0.3373136421927651,
235 0.03340433184715504},
236 {-1, -1, 1, 0.0009697642143471041},
237 {-1, 1, -1, 0.0009697642143471041},
238 {1, -1, -1, 0.0009697642143471041},
239 {-1, -1, -1, 0.0009697642143471041},
240 {0.2060113295832984, -0.872677996249965, -0.4606553370833684,
241 0.06428571428571428},
242 {0.2060113295832983, -0.872677996249965, -0.872677996249965,
243 0.06428571428571428},
244 {-0.872677996249965, -0.872677996249965, 0.2060113295832983,
245 0.06428571428571428},
246 {-0.4606553370833684, 0.2060113295832984, -0.872677996249965,
247 0.06428571428571428},
248 {-0.872677996249965, -0.4606553370833684, 0.2060113295832984,
249 0.06428571428571428},
250 {-0.872677996249965, 0.2060113295832983, -0.872677996249965,
251 0.06428571428571428},
252 {-0.4606553370833684, -0.872677996249965, 0.2060113295832984,
253 0.06428571428571428},
254 {-0.872677996249965, -0.4606553370833684, -0.872677996249965,
255 0.06428571428571428},
256 {-0.872677996249965, -0.872677996249965, -0.4606553370833684,
257 0.06428571428571428},
258 {-0.872677996249965, 0.2060113295832984, -0.4606553370833684,
259 0.06428571428571428},
260 {-0.4606553370833684, -0.872677996249965, -0.872677996249965,
261 0.06428571428571428},
262 {0.2060113295832984, -0.4606553370833684, -0.872677996249965,
263 0.06428571428571428},
264 // 7 36 %%% Order / Number of Points
265 {-0.6449900404266333, -0.6449900404266333, -0.06502987872010024,
266 0.1096217661304426},
267 {-0.6449900404266333, -0.06502987872010024, -0.6449900404266333,
268 0.1096217661304426},
269 {-0.06502987872010024, -0.6449900404266333, -0.6449900404266333,
270 0.1096217661304426},
271 {-0.6449900404266332, -0.6449900404266332, -0.6449900404266332,
272 0.1096217661304426},
273 {-1, -1, 1, 0.001090957174923385},
274 {-1, 1, -1, 0.001090957174923385},
275 {1, -1, -1, 0.001090957174923385},
276 {-1, -1, -1, 0.001090957174923385},
277 {-0.348005765750029, -0.348005765750029, -0.955982702749913,
278 0.05789330026637356},
279 {-0.348005765750029, -0.955982702749913, -0.348005765750029,
280 0.05789330026637356},
281 {-0.955982702749913, -0.348005765750029, -0.348005765750029,
282 0.05789330026637356},
283 {-0.348005765750029, -0.348005765750029, -0.348005765750029,
284 0.05789330026637356},
285 {0.5000366416183115, -0.7552140017616452, -0.9896086380950211,
286 0.01943251856980146},
287 {0.5000366416183115, -0.7552140017616452, -0.7552140017616452,
288 0.01943251856980146},
289 {-0.7552140017616452, -0.7552140017616452, 0.5000366416183115,
290 0.01943251856980146},
291 {-0.9896086380950211, 0.5000366416183115, -0.7552140017616452,
292 0.01943251856980146},
293 {-0.7552140017616452, -0.9896086380950211, 0.5000366416183115,
294 0.01943251856980146},
295 {-0.7552140017616452, 0.5000366416183115, -0.7552140017616452,
296 0.01943251856980146},
297 {-0.9896086380950211, -0.7552140017616452, 0.5000366416183115,
298 0.01943251856980146},
299 {-0.7552140017616452, -0.9896086380950211, -0.7552140017616452,
300 0.01943251856980146},
301 {-0.7552140017616452, -0.7552140017616452, -0.9896086380950211,
302 0.01943251856980146},
303 {-0.7552140017616452, 0.5000366416183115, -0.9896086380950211,
304 0.01943251856980146},
305 {-0.9896086380950211, -0.7552140017616452, -0.7552140017616452,
306 0.01943251856980146},
307 {0.5000366416183115, -0.9896086380950211, -0.7552140017616452,
308 0.01943251856980146},
309 {0.09573294252861952, -0.8874940323823619, -0.3207448777638958,
310 0.03547658468406294},
311 {0.09573294252861959, -0.8874940323823619, -0.8874940323823619,
312 0.03547658468406294},
313 {-0.8874940323823619, -0.8874940323823619, 0.09573294252861959,
314 0.03547658468406294},
315 {-0.3207448777638958, 0.09573294252861952, -0.8874940323823619,
316 0.03547658468406294},
317 {-0.8874940323823619, -0.3207448777638958, 0.09573294252861952,
318 0.03547658468406294},
319 {-0.8874940323823619, 0.09573294252861954, -0.8874940323823619,
320 0.03547658468406294},
321 {-0.3207448777638958, -0.8874940323823619, 0.09573294252861952,
322 0.03547658468406294},
323 {-0.8874940323823619, -0.3207448777638959, -0.8874940323823619,
324 0.03547658468406294},
325 {-0.8874940323823619, -0.8874940323823619, -0.3207448777638959,
326 0.03547658468406294},
327 {-0.8874940323823619, 0.09573294252861952, -0.3207448777638958,
328 0.03547658468406294},
329 {-0.3207448777638959, -0.8874940323823619, -0.8874940323823619,
330 0.03547658468406294},
331 {0.09573294252861952, -0.3207448777638958, -0.8874940323823619,
332 0.03547658468406294},
333 // 8 81 %%% Order / Number of Points
334 {-0.5, -0.5, -0.5, 0.01170682265486141},
335 {-0.6197291093042194, -0.6197291093042194, -0.1408126720873417,
336 0.06755985258831025},
337 {-0.6197291093042194, -0.1408126720873417, -0.6197291093042194,
338 0.06755985258831025},
339 {-0.1408126720873417, -0.6197291093042194, -0.6197291093042194,
340 0.06755985258831025},
341 {-0.6197291093042194, -0.6197291093042194, -0.6197291093042194,
342 0.06755985258831025},
343 {-1, -1, 1, 0.000958814999880356},
344 {-1, 1, -1, 0.000958814999880356},
345 {1, -1, -1, 0.000958814999880356},
346 {-1, -1, -1, 0.000958814999880356},
347 {-0.913388728258469, -0.2185594374902644, -0.6494923967610022,
348 0.01872960947715247},
349 {-0.913388728258469, -0.2185594374902644, -0.2185594374902644,
350 0.01872960947715247},
351 {-0.2185594374902644, -0.2185594374902644, -0.913388728258469,
352 0.01872960947715247},
353 {-0.6494923967610022, -0.913388728258469, -0.2185594374902644,
354 0.01872960947715247},
355 {-0.2185594374902644, -0.6494923967610022, -0.913388728258469,
356 0.01872960947715247},
357 {-0.2185594374902644, -0.913388728258469, -0.2185594374902644,
358 0.01872960947715247},
359 {-0.6494923967610022, -0.2185594374902644, -0.913388728258469,
360 0.01872960947715247},
361 {-0.2185594374902644, -0.6494923967610022, -0.2185594374902644,
362 0.01872960947715247},
363 {-0.2185594374902644, -0.2185594374902644, -0.6494923967610022,
364 0.01872960947715247},
365 {-0.2185594374902644, -0.913388728258469, -0.6494923967610022,
366 0.01872960947715247},
367 {-0.6494923967610022, -0.2185594374902644, -0.2185594374902644,
368 0.01872960947715247},
369 {-0.913388728258469, -0.6494923967610022, -0.2185594374902644,
370 0.01872960947715247},
371 {0.05193233845028339, -0.5622201657453156, -0.9274920069596522,
372 0.03364659206479605},
373 {0.05193233845028339, -0.5622201657453156, -0.5622201657453156,
374 0.03364659206479605},
375 {-0.5622201657453156, -0.5622201657453156, 0.05193233845028339,
376 0.03364659206479605},
377 {-0.9274920069596522, 0.05193233845028339, -0.5622201657453156,
378 0.03364659206479605},
379 {-0.5622201657453156, -0.9274920069596522, 0.05193233845028339,
380 0.03364659206479605},
381 {-0.5622201657453156, 0.05193233845028339, -0.5622201657453156,
382 0.03364659206479605},
383 {-0.9274920069596522, -0.5622201657453156, 0.05193233845028339,
384 0.03364659206479605},
385 {-0.5622201657453156, -0.9274920069596522, -0.5622201657453156,
386 0.03364659206479605},
387 {-0.5622201657453156, -0.5622201657453156, -0.9274920069596522,
388 0.03364659206479605},
389 {-0.5622201657453156, 0.05193233845028339, -0.9274920069596522,
390 0.03364659206479605},
391 {-0.9274920069596522, -0.5622201657453156, -0.5622201657453156,
392 0.03364659206479605},
393 {0.05193233845028339, -0.9274920069596522, -0.5622201657453156,
394 0.03364659206479605},
395 {0.06884971315898696, -0.2335649243675956, -0.9129098734135397,
396 0.007658847884053573},
397 {-0.2335649243675956, -0.9129098734135397, 0.06884971315898696,
398 0.007658847884053573},
399 {-0.2335649243675956, 0.06884971315898696, -0.9129098734135397,
400 0.007658847884053573},
401 {-0.9129098734135397, 0.06884971315898691, -0.9223749153778515,
402 0.007658847884053573},
403 {-0.9129098734135397, 0.06884971315898696, -0.2335649243675956,
404 0.007658847884053573},
405 {-0.9223749153778515, 0.06884971315898691, -0.9129098734135397,
406 0.007658847884053573},
407 {-0.9129098734135397, -0.2335649243675956, -0.9223749153778515,
408 0.007658847884053573},
409 {-0.9129098734135397, -0.9223749153778515, 0.06884971315898691,
410 0.007658847884053573},
411 {-0.9223749153778515, -0.2335649243675956, -0.9129098734135397,
412 0.007658847884053573},
413 {0.06884971315898691, -0.2335649243675956, -0.9223749153778515,
414 0.007658847884053573},
415 {-0.9223749153778515, 0.06884971315898691, -0.2335649243675956,
416 0.007658847884053573},
417 {-0.9129098734135397, -0.2335649243675956, 0.06884971315898696,
418 0.007658847884053573},
419 {-0.9223749153778515, -0.2335649243675956, 0.06884971315898691,
420 0.007658847884053573},
421 {0.06884971315898691, -0.9223749153778515, -0.9129098734135397,
422 0.007658847884053573},
423 {-0.9129098734135397, -0.9223749153778515, -0.2335649243675956,
424 0.007658847884053573},
425 {-0.2335649243675956, -0.9223749153778515, -0.9129098734135397,
426 0.007658847884053573},
427 {0.06884971315898691, -0.9223749153778515, -0.2335649243675956,
428 0.007658847884053573},
429 {-0.2335649243675956, -0.9223749153778515, 0.06884971315898691,
430 0.007658847884053573},
431 {-0.2335649243675956, 0.06884971315898691, -0.9223749153778515,
432 0.007658847884053573},
433 {-0.9223749153778515, -0.9129098734135397, 0.06884971315898691,
434 0.007658847884053573},
435 {0.06884971315898691, -0.9129098734135397, -0.9223749153778515,
436 0.007658847884053573},
437 {0.06884971315898696, -0.9129098734135397, -0.2335649243675956,
438 0.007658847884053573},
439 {-0.2335649243675956, -0.9129098734135397, -0.9223749153778515,
440 0.007658847884053573},
441 {-0.9223749153778515, -0.9129098734135397, -0.2335649243675956,
442 0.007658847884053573},
443 {0.5055118734531724, -0.6728086418734043, -0.9164256718485133,
444 0.00980104469187673},
445 {-0.6728086418734043, -0.9164256718485133, 0.5055118734531724,
446 0.00980104469187673},
447 {-0.6728086418734043, 0.5055118734531724, -0.9164256718485133,
448 0.00980104469187673},
449 {-0.9164256718485133, 0.5055118734531724, -0.9162775597312547,
450 0.00980104469187673},
451 {-0.9164256718485133, 0.5055118734531724, -0.6728086418734043,
452 0.00980104469187673},
453 {-0.9162775597312547, 0.5055118734531724, -0.9164256718485133,
454 0.00980104469187673},
455 {-0.9164256718485133, -0.6728086418734043, -0.9162775597312547,
456 0.00980104469187673},
457 {-0.9164256718485133, -0.9162775597312547, 0.5055118734531724,
458 0.00980104469187673},
459 {-0.9162775597312548, -0.6728086418734043, -0.9164256718485133,
460 0.00980104469187673},
461 {0.5055118734531724, -0.6728086418734043, -0.9162775597312547,
462 0.00980104469187673},
463 {-0.9162775597312547, 0.5055118734531724, -0.6728086418734043,
464 0.00980104469187673},
465 {-0.9164256718485133, -0.6728086418734043, 0.5055118734531724,
466 0.00980104469187673},
467 {-0.9162775597312547, -0.6728086418734043, 0.5055118734531724,
468 0.00980104469187673},
469 {0.5055118734531724, -0.9162775597312547, -0.9164256718485133,
470 0.00980104469187673},
471 {-0.9164256718485133, -0.9162775597312547, -0.6728086418734043,
472 0.00980104469187673},
473 {-0.6728086418734043, -0.9162775597312547, -0.9164256718485133,
474 0.00980104469187673},
475 {0.5055118734531724, -0.9162775597312547, -0.6728086418734043,
476 0.00980104469187673},
477 {-0.6728086418734043, -0.9162775597312547, 0.5055118734531724,
478 0.00980104469187673},
479 {-0.6728086418734043, 0.5055118734531724, -0.9162775597312547,
480 0.00980104469187673},
481 {-0.9162775597312547, -0.9164256718485133, 0.5055118734531724,
482 0.00980104469187673},
483 {0.5055118734531724, -0.9164256718485133, -0.9162775597312547,
484 0.00980104469187673},
485 {0.5055118734531724, -0.9164256718485133, -0.6728086418734043,
486 0.00980104469187673},
487 {-0.6728086418734043, -0.9164256718485133, -0.9162775597312547,
488 0.00980104469187673},
489 {-0.9162775597312548, -0.9164256718485133, -0.6728086418734043,
490 0.00980104469187673},
491 // 9 121 %%% Order / Number of Points
492 {-0.5, -0.5, -0.5, 0.03202136775896759},
493 {0.9967597185230161, -1, -0.9967597185230161, 7.073923221950578e-05},
494 {0.9967597185230161, -1, -1, 7.073923221950578e-05},
495 {-1, -1, 0.9967597185230161, 7.073923221950578e-05},
496 {-0.9967597185230161, 0.9967597185230161, -1, 7.073923221950578e-05},
497 {-1, -0.9967597185230161, 0.9967597185230161, 7.073923221950578e-05},
498 {-1, 0.9967597185230161, -1, 7.073923221950578e-05},
499 {-0.9967597185230161, -1, 0.9967597185230161, 7.073923221950578e-05},
500 {-1, -0.9967597185230161, -1, 7.073923221950578e-05},
501 {-1, -1, -0.9967597185230161, 7.073923221950578e-05},
502 {-1, 0.9967597185230161, -0.9967597185230161, 7.073923221950578e-05},
503 {-0.9967597185230161, -1, -1, 7.073923221950578e-05},
504 {0.9967597185230161, -0.9967597185230161, -1, 7.073923221950578e-05},
505 {-0.129171718440708, -0.5247600510045458, -0.8213081795502003,
506 0.04344104601107267},
507 {-0.1291717184407081, -0.5247600510045458, -0.5247600510045458,
508 0.04344104601107267},
509 {-0.5247600510045458, -0.5247600510045458, -0.1291717184407081,
510 0.04344104601107267},
511 {-0.8213081795502003, -0.129171718440708, -0.5247600510045458,
512 0.04344104601107267},
513 {-0.5247600510045458, -0.8213081795502003, -0.129171718440708,
514 0.04344104601107267},
515 {-0.5247600510045458, -0.1291717184407081, -0.5247600510045458,
516 0.04344104601107267},
517 {-0.8213081795502003, -0.5247600510045458, -0.129171718440708,
518 0.04344104601107267},
519 {-0.5247600510045458, -0.8213081795502003, -0.5247600510045458,
520 0.04344104601107267},
521 {-0.5247600510045458, -0.5247600510045458, -0.8213081795502003,
522 0.04344104601107267},
523 {-0.5247600510045458, -0.129171718440708, -0.8213081795502003,
524 0.04344104601107267},
525 {-0.8213081795502003, -0.5247600510045458, -0.5247600510045458,
526 0.04344104601107267},
527 {-0.129171718440708, -0.8213081795502003, -0.5247600510045458,
528 0.04344104601107267},
529 {0.6885536236892698, -0.8442768118924425, -0.9999999999043847,
530 0.005240066080456541},
531 {0.6885536236892699, -0.8442768118924425, -0.8442768118924425,
532 0.005240066080456541},
533 {-0.8442768118924425, -0.8442768118924425, 0.6885536236892699,
534 0.005240066080456541},
535 {-0.9999999999043847, 0.6885536236892698, -0.8442768118924425,
536 0.005240066080456541},
537 {-0.8442768118924425, -0.9999999999043847, 0.6885536236892698,
538 0.005240066080456541},
539 {-0.8442768118924425, 0.6885536236892698, -0.8442768118924425,
540 0.005240066080456541},
541 {-0.9999999999043847, -0.8442768118924425, 0.6885536236892698,
542 0.005240066080456541},
543 {-0.8442768118924425, -0.9999999999043848, -0.8442768118924425,
544 0.005240066080456541},
545 {-0.8442768118924425, -0.8442768118924425, -0.9999999999043848,
546 0.005240066080456541},
547 {-0.8442768118924425, 0.6885536236892698, -0.9999999999043847,
548 0.005240066080456541},
549 {-0.9999999999043848, -0.8442768118924425, -0.8442768118924425,
550 0.005240066080456541},
551 {0.6885536236892698, -0.9999999999043847, -0.8442768118924425,
552 0.005240066080456541},
553 {-0.8966223694069491, -0.1243772215675464, -0.8546231874579582,
554 0.01510414917185648},
555 {-0.8966223694069491, -0.1243772215675464, -0.1243772215675464,
556 0.01510414917185648},
557 {-0.1243772215675464, -0.1243772215675464, -0.8966223694069491,
558 0.01510414917185648},
559 {-0.8546231874579582, -0.8966223694069491, -0.1243772215675464,
560 0.01510414917185648},
561 {-0.1243772215675464, -0.8546231874579582, -0.8966223694069491,
562 0.01510414917185648},
563 {-0.1243772215675464, -0.8966223694069491, -0.1243772215675464,
564 0.01510414917185648},
565 {-0.8546231874579582, -0.1243772215675464, -0.8966223694069491,
566 0.01510414917185648},
567 {-0.1243772215675464, -0.8546231874579582, -0.1243772215675464,
568 0.01510414917185648},
569 {-0.1243772215675464, -0.1243772215675464, -0.8546231874579582,
570 0.01510414917185648},
571 {-0.1243772215675464, -0.8966223694069491, -0.8546231874579582,
572 0.01510414917185648},
573 {-0.8546231874579582, -0.1243772215675464, -0.1243772215675464,
574 0.01510414917185648},
575 {-0.8966223694069491, -0.8546231874579582, -0.1243772215675464,
576 0.01510414917185648},
577 {0.3235024007804261, -0.5941077548192197, -0.8343915402517981,
578 0.0133109638664204},
579 {-0.5941077548192197, -0.8343915402517981, 0.3235024007804261,
580 0.0133109638664204},
581 {-0.5941077548192197, 0.3235024007804261, -0.8343915402517981,
582 0.0133109638664204},
583 {-0.8343915402517981, 0.3235024007804261, -0.8950031057094083,
584 0.0133109638664204},
585 {-0.8343915402517981, 0.3235024007804261, -0.5941077548192197,
586 0.0133109638664204},
587 {-0.8950031057094083, 0.3235024007804261, -0.8343915402517981,
588 0.0133109638664204},
589 {-0.8343915402517981, -0.5941077548192197, -0.8950031057094083,
590 0.0133109638664204},
591 {-0.8343915402517981, -0.8950031057094083, 0.3235024007804261,
592 0.0133109638664204},
593 {-0.8950031057094083, -0.5941077548192197, -0.8343915402517981,
594 0.0133109638664204},
595 {0.3235024007804261, -0.5941077548192197, -0.8950031057094083,
596 0.0133109638664204},
597 {-0.8950031057094083, 0.3235024007804261, -0.5941077548192197,
598 0.0133109638664204},
599 {-0.8343915402517981, -0.5941077548192197, 0.3235024007804261,
600 0.0133109638664204},
601 {-0.8950031057094083, -0.5941077548192197, 0.3235024007804261,
602 0.0133109638664204},
603 {0.3235024007804261, -0.8950031057094083, -0.8343915402517981,
604 0.0133109638664204},
605 {-0.8343915402517981, -0.8950031057094083, -0.5941077548192197,
606 0.0133109638664204},
607 {-0.5941077548192197, -0.8950031057094083, -0.8343915402517981,
608 0.0133109638664204},
609 {0.3235024007804261, -0.8950031057094083, -0.5941077548192197,
610 0.0133109638664204},
611 {-0.5941077548192197, -0.8950031057094083, 0.3235024007804261,
612 0.0133109638664204},
613 {-0.5941077548192197, 0.3235024007804261, -0.8950031057094083,
614 0.0133109638664204},
615 {-0.8950031057094083, -0.8343915402517981, 0.3235024007804261,
616 0.0133109638664204},
617 {0.3235024007804261, -0.8343915402517981, -0.8950031057094083,
618 0.0133109638664204},
619 {0.3235024007804261, -0.8343915402517981, -0.5941077548192197,
620 0.0133109638664204},
621 {-0.5941077548192197, -0.8343915402517981, -0.8950031057094083,
622 0.0133109638664204},
623 {-0.8950031057094083, -0.8343915402517981, -0.5941077548192197,
624 0.0133109638664204},
625 {0.01794896851631952, -0.6389318930235002, -0.3790175741074058,
626 0.007299535203779416},
627 {-0.6389318930235002, -0.3790175741074058, 0.01794896851631952,
628 0.007299535203779416},
629 {-0.6389318930235002, 0.01794896851631952, -0.3790175741074058,
630 0.007299535203779416},
631 {-0.3790175741074058, 0.0179489685163195, -0.9999995013854135,
632 0.007299535203779416},
633 {-0.3790175741074058, 0.01794896851631952, -0.6389318930235002,
634 0.007299535203779416},
635 {-0.9999995013854135, 0.0179489685163195, -0.3790175741074058,
636 0.007299535203779416},
637 {-0.3790175741074058, -0.6389318930235002, -0.9999995013854135,
638 0.007299535203779416},
639 {-0.3790175741074058, -0.9999995013854135, 0.0179489685163195,
640 0.007299535203779416},
641 {-0.9999995013854136, -0.6389318930235002, -0.3790175741074058,
642 0.007299535203779416},
643 {0.0179489685163195, -0.6389318930235002, -0.9999995013854135,
644 0.007299535203779416},
645 {-0.9999995013854135, 0.0179489685163195, -0.6389318930235002,
646 0.007299535203779416},
647 {-0.3790175741074058, -0.6389318930235002, 0.01794896851631952,
648 0.007299535203779416},
649 {-0.9999995013854135, -0.6389318930235002, 0.0179489685163195,
650 0.007299535203779416},
651 {0.0179489685163195, -0.9999995013854135, -0.3790175741074058,
652 0.007299535203779416},
653 {-0.3790175741074058, -0.9999995013854135, -0.6389318930235002,
654 0.007299535203779416},
655 {-0.6389318930235002, -0.9999995013854135, -0.3790175741074058,
656 0.007299535203779416},
657 {0.0179489685163195, -0.9999995013854135, -0.6389318930235002,
658 0.007299535203779416},
659 {-0.6389318930235002, -0.9999995013854135, 0.0179489685163195,
660 0.007299535203779416},
661 {-0.6389318930235002, 0.0179489685163195, -0.9999995013854135,
662 0.007299535203779416},
663 {-0.9999995013854135, -0.3790175741074058, 0.0179489685163195,
664 0.007299535203779416},
665 {0.0179489685163195, -0.3790175741074058, -0.9999995013854135,
666 0.007299535203779416},
667 {0.01794896851631952, -0.3790175741074058, -0.6389318930235002,
668 0.007299535203779416},
669 {-0.6389318930235002, -0.3790175741074058, -0.9999995013854135,
670 0.007299535203779416},
671 {-0.9999995013854136, -0.3790175741074058, -0.6389318930235002,
672 0.007299535203779416},
673 {0.327178328531087, -0.3539519401197535, -0.9975602320289694,
674 0.00168283258092949},
675 {-0.3539519401197535, -0.9975602320289694, 0.327178328531087,
676 0.00168283258092949},
677 {-0.3539519401197535, 0.327178328531087, -0.9975602320289694,
678 0.00168283258092949},
679 {-0.9975602320289694, 0.3271783285310871, -0.9756661563823644,
680 0.00168283258092949},
681 {-0.9975602320289694, 0.327178328531087, -0.3539519401197535,
682 0.00168283258092949},
683 {-0.9756661563823644, 0.3271783285310871, -0.9975602320289694,
684 0.00168283258092949},
685 {-0.9975602320289694, -0.3539519401197535, -0.9756661563823643,
686 0.00168283258092949},
687 {-0.9975602320289694, -0.9756661563823644, 0.3271783285310871,
688 0.00168283258092949},
689 {-0.9756661563823643, -0.3539519401197535, -0.9975602320289694,
690 0.00168283258092949},
691 {0.3271783285310871, -0.3539519401197535, -0.9756661563823644,
692 0.00168283258092949},
693 {-0.9756661563823644, 0.3271783285310871, -0.3539519401197535,
694 0.00168283258092949},
695 {-0.9975602320289694, -0.3539519401197535, 0.327178328531087,
696 0.00168283258092949},
697 {-0.9756661563823644, -0.3539519401197535, 0.3271783285310871,
698 0.00168283258092949},
699 {0.3271783285310871, -0.9756661563823644, -0.9975602320289694,
700 0.00168283258092949},
701 {-0.9975602320289694, -0.9756661563823643, -0.3539519401197535,
702 0.00168283258092949},
703 {-0.3539519401197535, -0.9756661563823643, -0.9975602320289694,
704 0.00168283258092949},
705 {0.3271783285310871, -0.9756661563823644, -0.3539519401197535,
706 0.00168283258092949},
707 {-0.3539519401197535, -0.9756661563823644, 0.3271783285310871,
708 0.00168283258092949},
709 {-0.3539519401197535, 0.3271783285310871, -0.9756661563823644,
710 0.00168283258092949},
711 {-0.9756661563823644, -0.9975602320289694, 0.3271783285310871,
712 0.00168283258092949},
713 {0.3271783285310871, -0.9975602320289694, -0.9756661563823644,
714 0.00168283258092949},
715 {0.327178328531087, -0.9975602320289694, -0.3539519401197535,
716 0.00168283258092949},
717 {-0.3539519401197535, -0.9975602320289694, -0.9756661563823643,
718 0.00168283258092949},
719 {-0.9756661563823643, -0.9975602320289694, -0.3539519401197535,
720 0.00168283258092949},
721 // 10 180 %%% Order / Number of Points
722 {-0.3095923101946758, -0.6904076898053242, -0.6904076898053242,
723 0.05046999312456235},
724 {-0.6904076898053242, -0.3095923101946758, -0.6904076898053242,
725 0.05046999312456235},
726 {-0.3095923101946758, -0.3095923101946758, -0.6904076898053242,
727 0.05046999312456235},
728 {-0.3095923101946758, -0.6904076898053242, -0.3095923101946758,
729 0.05046999312456235},
730 {-0.6904076898053242, -0.3095923101946758, -0.3095923101946758,
731 0.05046999312456235},
732 {-0.6904076898053242, -0.6904076898053242, -0.3095923101946758,
733 0.05046999312456235},
734 {-0.06442564837992282, -0.9355743516200772, -0.9355743516200772,
735 0.01339481762537702},
736 {-0.9355743516200772, -0.06442564837992282, -0.9355743516200772,
737 0.01339481762537702},
738 {-0.06442564837992282, -0.06442564837992282, -0.9355743516200772,
739 0.01339481762537702},
740 {-0.06442564837992282, -0.9355743516200772, -0.06442564837992282,
741 0.01339481762537702},
742 {-0.9355743516200772, -0.06442564837992282, -0.06442564837992282,
743 0.01339481762537702},
744 {-0.9355743516200772, -0.9355743516200772, -0.06442564837992282,
745 0.01339481762537702},
746 {0.5567862715023449, -0.9960890896646959, -0.5648851820149239,
747 0.0008631453560709901},
748 {-0.9960890896646959, -0.5648851820149239, 0.5567862715023449,
749 0.0008631453560709901},
750 {-0.9960890896646959, 0.5567862715023449, -0.5648851820149239,
751 0.0008631453560709901},
752 {-0.5648851820149239, 0.5567862715023449, -0.9958119998227251,
753 0.0008631453560709901},
754 {-0.5648851820149239, 0.5567862715023449, -0.9960890896646959,
755 0.0008631453560709901},
756 {-0.9958119998227251, 0.5567862715023449, -0.5648851820149239,
757 0.0008631453560709901},
758 {-0.5648851820149239, -0.9960890896646959, -0.9958119998227251,
759 0.0008631453560709901},
760 {-0.5648851820149239, -0.9958119998227251, 0.5567862715023449,
761 0.0008631453560709901},
762 {-0.9958119998227252, -0.9960890896646959, -0.5648851820149239,
763 0.0008631453560709901},
764 {0.5567862715023449, -0.9960890896646959, -0.9958119998227251,
765 0.0008631453560709901},
766 {-0.9958119998227251, 0.5567862715023449, -0.9960890896646959,
767 0.0008631453560709901},
768 {-0.5648851820149239, -0.9960890896646959, 0.5567862715023449,
769 0.0008631453560709901},
770 {-0.9958119998227251, -0.9960890896646959, 0.5567862715023449,
771 0.0008631453560709901},
772 {0.5567862715023449, -0.9958119998227251, -0.5648851820149239,
773 0.0008631453560709901},
774 {-0.5648851820149239, -0.9958119998227251, -0.9960890896646959,
775 0.0008631453560709901},
776 {-0.9960890896646959, -0.9958119998227251, -0.5648851820149239,
777 0.0008631453560709901},
778 {0.5567862715023449, -0.9958119998227251, -0.9960890896646959,
779 0.0008631453560709901},
780 {-0.9960890896646959, -0.9958119998227251, 0.5567862715023449,
781 0.0008631453560709901},
782 {-0.9960890896646959, 0.5567862715023449, -0.9958119998227251,
783 0.0008631453560709901},
784 {-0.9958119998227251, -0.5648851820149239, 0.5567862715023449,
785 0.0008631453560709901},
786 {0.5567862715023449, -0.5648851820149239, -0.9958119998227251,
787 0.0008631453560709901},
788 {0.5567862715023449, -0.5648851820149239, -0.9960890896646959,
789 0.0008631453560709901},
790 {-0.9960890896646959, -0.5648851820149239, -0.9958119998227251,
791 0.0008631453560709901},
792 {-0.9958119998227252, -0.5648851820149239, -0.9960890896646959,
793 0.0008631453560709901},
794 {0.6299745502008329, -0.9621456332644982, -0.8332313341177493,
795 0.003677302609422897},
796 {-0.9621456332644982, -0.8332313341177493, 0.6299745502008329,
797 0.003677302609422897},
798 {-0.9621456332644982, 0.6299745502008329, -0.8332313341177493,
799 0.003677302609422897},
800 {-0.8332313341177493, 0.6299745502008329, -0.8345975828185854,
801 0.003677302609422897},
802 {-0.8332313341177493, 0.6299745502008329, -0.9621456332644982,
803 0.003677302609422897},
804 {-0.8345975828185854, 0.6299745502008329, -0.8332313341177493,
805 0.003677302609422897},
806 {-0.8332313341177493, -0.9621456332644982, -0.8345975828185854,
807 0.003677302609422897},
808 {-0.8332313341177493, -0.8345975828185854, 0.6299745502008329,
809 0.003677302609422897},
810 {-0.8345975828185854, -0.9621456332644982, -0.8332313341177493,
811 0.003677302609422897},
812 {0.6299745502008329, -0.9621456332644982, -0.8345975828185854,
813 0.003677302609422897},
814 {-0.8345975828185854, 0.6299745502008329, -0.9621456332644982,
815 0.003677302609422897},
816 {-0.8332313341177493, -0.9621456332644982, 0.6299745502008329,
817 0.003677302609422897},
818 {-0.8345975828185854, -0.9621456332644982, 0.6299745502008329,
819 0.003677302609422897},
820 {0.6299745502008329, -0.8345975828185854, -0.8332313341177493,
821 0.003677302609422897},
822 {-0.8332313341177493, -0.8345975828185854, -0.9621456332644982,
823 0.003677302609422897},
824 {-0.9621456332644982, -0.8345975828185854, -0.8332313341177493,
825 0.003677302609422897},
826 {0.6299745502008329, -0.8345975828185854, -0.9621456332644982,
827 0.003677302609422897},
828 {-0.9621456332644982, -0.8345975828185854, 0.6299745502008329,
829 0.003677302609422897},
830 {-0.9621456332644982, 0.6299745502008329, -0.8345975828185854,
831 0.003677302609422897},
832 {-0.8345975828185854, -0.8332313341177493, 0.6299745502008329,
833 0.003677302609422897},
834 {0.6299745502008329, -0.8332313341177493, -0.8345975828185854,
835 0.003677302609422897},
836 {0.6299745502008329, -0.8332313341177493, -0.9621456332644982,
837 0.003677302609422897},
838 {-0.9621456332644982, -0.8332313341177493, -0.8345975828185854,
839 0.003677302609422897},
840 {-0.8345975828185854, -0.8332313341177493, -0.9621456332644982,
841 0.003677302609422897},
842 {0.1492501104790812, -0.723131441160876, -0.7126149756991516,
843 0.006142746466577816},
844 {-0.723131441160876, -0.7126149756991516, 0.1492501104790812,
845 0.006142746466577816},
846 {-0.723131441160876, 0.1492501104790812, -0.7126149756991516,
847 0.006142746466577816},
848 {-0.7126149756991516, 0.1492501104790811, -0.7135036936190535,
849 0.006142746466577816},
850 {-0.7126149756991516, 0.1492501104790812, -0.723131441160876,
851 0.006142746466577816},
852 {-0.7135036936190535, 0.1492501104790811, -0.7126149756991516,
853 0.006142746466577816},
854 {-0.7126149756991516, -0.723131441160876, -0.7135036936190535,
855 0.006142746466577816},
856 {-0.7126149756991516, -0.7135036936190535, 0.1492501104790811,
857 0.006142746466577816},
858 {-0.7135036936190535, -0.723131441160876, -0.7126149756991516,
859 0.006142746466577816},
860 {0.1492501104790811, -0.723131441160876, -0.7135036936190535,
861 0.006142746466577816},
862 {-0.7135036936190535, 0.1492501104790811, -0.723131441160876,
863 0.006142746466577816},
864 {-0.7126149756991516, -0.723131441160876, 0.1492501104790812,
865 0.006142746466577816},
866 {-0.7135036936190535, -0.723131441160876, 0.1492501104790811,
867 0.006142746466577816},
868 {0.1492501104790811, -0.7135036936190535, -0.7126149756991516,
869 0.006142746466577816},
870 {-0.7126149756991516, -0.7135036936190535, -0.723131441160876,
871 0.006142746466577816},
872 {-0.723131441160876, -0.7135036936190535, -0.7126149756991516,
873 0.006142746466577816},
874 {0.1492501104790811, -0.7135036936190535, -0.723131441160876,
875 0.006142746466577816},
876 {-0.723131441160876, -0.7135036936190535, 0.1492501104790811,
877 0.006142746466577816},
878 {-0.723131441160876, 0.1492501104790811, -0.7135036936190535,
879 0.006142746466577816},
880 {-0.7135036936190535, -0.7126149756991516, 0.1492501104790811,
881 0.006142746466577816},
882 {0.1492501104790811, -0.7126149756991516, -0.7135036936190535,
883 0.006142746466577816},
884 {0.1492501104790812, -0.7126149756991516, -0.723131441160876,
885 0.006142746466577816},
886 {-0.723131441160876, -0.7126149756991516, -0.7135036936190535,
887 0.006142746466577816},
888 {-0.7135036936190535, -0.7126149756991516, -0.723131441160876,
889 0.006142746466577816},
890 {-0.1241675146707287, -0.6054535405859228, -0.3329231118523948,
891 0.01402179825894019},
892 {-0.6054535405859228, -0.3329231118523948, -0.1241675146707287,
893 0.01402179825894019},
894 {-0.6054535405859228, -0.1241675146707287, -0.3329231118523948,
895 0.01402179825894019},
896 {-0.3329231118523948, -0.1241675146707286, -0.9374558328909539,
897 0.01402179825894019},
898 {-0.3329231118523948, -0.1241675146707287, -0.6054535405859228,
899 0.01402179825894019},
900 {-0.9374558328909539, -0.1241675146707286, -0.3329231118523948,
901 0.01402179825894019},
902 {-0.3329231118523948, -0.6054535405859228, -0.9374558328909539,
903 0.01402179825894019},
904 {-0.3329231118523948, -0.9374558328909539, -0.1241675146707286,
905 0.01402179825894019},
906 {-0.9374558328909538, -0.6054535405859228, -0.3329231118523948,
907 0.01402179825894019},
908 {-0.1241675146707286, -0.6054535405859228, -0.9374558328909539,
909 0.01402179825894019},
910 {-0.9374558328909539, -0.1241675146707286, -0.6054535405859228,
911 0.01402179825894019},
912 {-0.3329231118523948, -0.6054535405859228, -0.1241675146707287,
913 0.01402179825894019},
914 {-0.9374558328909539, -0.6054535405859228, -0.1241675146707286,
915 0.01402179825894019},
916 {-0.1241675146707286, -0.9374558328909539, -0.3329231118523948,
917 0.01402179825894019},
918 {-0.3329231118523948, -0.9374558328909539, -0.6054535405859228,
919 0.01402179825894019},
920 {-0.6054535405859228, -0.9374558328909539, -0.3329231118523948,
921 0.01402179825894019},
922 {-0.1241675146707286, -0.9374558328909539, -0.6054535405859228,
923 0.01402179825894019},
924 {-0.6054535405859228, -0.9374558328909539, -0.1241675146707286,
925 0.01402179825894019},
926 {-0.6054535405859228, -0.1241675146707286, -0.9374558328909539,
927 0.01402179825894019},
928 {-0.9374558328909539, -0.3329231118523948, -0.1241675146707286,
929 0.01402179825894019},
930 {-0.1241675146707286, -0.3329231118523948, -0.9374558328909539,
931 0.01402179825894019},
932 {-0.1241675146707287, -0.3329231118523948, -0.6054535405859228,
933 0.01402179825894019},
934 {-0.6054535405859228, -0.3329231118523948, -0.9374558328909539,
935 0.01402179825894019},
936 {-0.9374558328909538, -0.3329231118523948, -0.6054535405859228,
937 0.01402179825894019},
938 {0.9652386304244538, -0.9999951199335048, -0.9970342333619722,
939 9.028919405473338e-05},
940 {-0.9999951199335048, -0.9970342333619722, 0.9652386304244538,
941 9.028919405473338e-05},
942 {-0.9999951199335048, 0.9652386304244538, -0.9970342333619722,
943 9.028919405473338e-05},
944 {-0.9970342333619722, 0.9652386304244539, -0.968209277128977,
945 9.028919405473338e-05},
946 {-0.9970342333619722, 0.9652386304244538, -0.9999951199335048,
947 9.028919405473338e-05},
948 {-0.968209277128977, 0.9652386304244539, -0.9970342333619722,
949 9.028919405473338e-05},
950 {-0.9970342333619722, -0.9999951199335048, -0.968209277128977,
951 9.028919405473338e-05},
952 {-0.9970342333619722, -0.968209277128977, 0.9652386304244539,
953 9.028919405473338e-05},
954 {-0.968209277128977, -0.9999951199335048, -0.9970342333619722,
955 9.028919405473338e-05},
956 {0.9652386304244539, -0.9999951199335048, -0.968209277128977,
957 9.028919405473338e-05},
958 {-0.968209277128977, 0.9652386304244539, -0.9999951199335048,
959 9.028919405473338e-05},
960 {-0.9970342333619722, -0.9999951199335048, 0.9652386304244538,
961 9.028919405473338e-05},
962 {-0.968209277128977, -0.9999951199335048, 0.9652386304244539,
963 9.028919405473338e-05},
964 {0.9652386304244539, -0.968209277128977, -0.9970342333619722,
965 9.028919405473338e-05},
966 {-0.9970342333619722, -0.968209277128977, -0.9999951199335048,
967 9.028919405473338e-05},
968 {-0.9999951199335048, -0.968209277128977, -0.9970342333619722,
969 9.028919405473338e-05},
970 {0.9652386304244539, -0.968209277128977, -0.9999951199335048,
971 9.028919405473338e-05},
972 {-0.9999951199335048, -0.968209277128977, 0.9652386304244539,
973 9.028919405473338e-05},
974 {-0.9999951199335048, 0.9652386304244539, -0.968209277128977,
975 9.028919405473338e-05},
976 {-0.968209277128977, -0.9970342333619722, 0.9652386304244539,
977 9.028919405473338e-05},
978 {0.9652386304244539, -0.9970342333619722, -0.968209277128977,
979 9.028919405473338e-05},
980 {0.9652386304244538, -0.9970342333619722, -0.9999951199335048,
981 9.028919405473338e-05},
982 {-0.9999951199335048, -0.9970342333619722, -0.968209277128977,
983 9.028919405473338e-05},
984 {-0.968209277128977, -0.9970342333619722, -0.9999951199335048,
985 9.028919405473338e-05},
986 {0.2539126552819768, -0.8687694159568213, -0.3896633224279717,
987 9.016459548804612e-05},
988 {-0.8687694159568213, -0.3896633224279717, 0.2539126552819768,
989 9.016459548804612e-05},
990 {-0.8687694159568213, 0.2539126552819768, -0.3896633224279717,
991 9.016459548804612e-05},
992 {-0.3896633224279717, 0.2539126552819768, -0.9954799168971837,
993 9.016459548804612e-05},
994 {-0.3896633224279717, 0.2539126552819768, -0.8687694159568213,
995 9.016459548804612e-05},
996 {-0.9954799168971837, 0.2539126552819768, -0.3896633224279717,
997 9.016459548804612e-05},
998 {-0.3896633224279717, -0.8687694159568213, -0.9954799168971837,
999 9.016459548804612e-05},
1000 {-0.3896633224279717, -0.9954799168971837, 0.2539126552819768,
1001 9.016459548804612e-05},
1002 {-0.9954799168971837, -0.8687694159568213, -0.3896633224279717,
1003 9.016459548804612e-05},
1004 {0.2539126552819768, -0.8687694159568213, -0.9954799168971837,
1005 9.016459548804612e-05},
1006 {-0.9954799168971837, 0.2539126552819768, -0.8687694159568213,
1007 9.016459548804612e-05},
1008 {-0.3896633224279717, -0.8687694159568213, 0.2539126552819768,
1009 9.016459548804612e-05},
1010 {-0.9954799168971837, -0.8687694159568213, 0.2539126552819768,
1011 9.016459548804612e-05},
1012 {0.2539126552819768, -0.9954799168971837, -0.3896633224279717,
1013 9.016459548804612e-05},
1014 {-0.3896633224279717, -0.9954799168971837, -0.8687694159568213,
1015 9.016459548804612e-05},
1016 {-0.8687694159568213, -0.9954799168971837, -0.3896633224279717,
1017 9.016459548804612e-05},
1018 {0.2539126552819768, -0.9954799168971837, -0.8687694159568213,
1019 9.016459548804612e-05},
1020 {-0.8687694159568213, -0.9954799168971837, 0.2539126552819768,
1021 9.016459548804612e-05},
1022 {-0.8687694159568213, 0.2539126552819768, -0.9954799168971837,
1023 9.016459548804612e-05},
1024 {-0.9954799168971837, -0.3896633224279717, 0.2539126552819768,
1025 9.016459548804612e-05},
1026 {0.2539126552819768, -0.3896633224279717, -0.9954799168971837,
1027 9.016459548804612e-05},
1028 {0.2539126552819768, -0.3896633224279717, -0.8687694159568213,
1029 9.016459548804612e-05},
1030 {-0.8687694159568213, -0.3896633224279717, -0.9954799168971837,
1031 9.016459548804612e-05},
1032 {-0.9954799168971837, -0.3896633224279717, -0.8687694159568213,
1033 9.016459548804612e-05},
1034 {0.2391412181901834, -0.7971636934427455, -0.9462404191356018,
1035 0.01470390638751603},
1036 {-0.7971636934427455, -0.9462404191356018, 0.2391412181901834,
1037 0.01470390638751603},
1038 {-0.7971636934427455, 0.2391412181901834, -0.9462404191356018,
1039 0.01470390638751603},
1040 {-0.9462404191356018, 0.2391412181901834, -0.495737105611836,
1041 0.01470390638751603},
1042 {-0.9462404191356018, 0.2391412181901834, -0.7971636934427455,
1043 0.01470390638751603},
1044 {-0.495737105611836, 0.2391412181901834, -0.9462404191356018,
1045 0.01470390638751603},
1046 {-0.9462404191356018, -0.7971636934427455, -0.4957371056118361,
1047 0.01470390638751603},
1048 {-0.9462404191356018, -0.495737105611836, 0.2391412181901834,
1049 0.01470390638751603},
1050 {-0.4957371056118361, -0.7971636934427455, -0.9462404191356018,
1051 0.01470390638751603},
1052 {0.2391412181901834, -0.7971636934427455, -0.495737105611836,
1053 0.01470390638751603},
1054 {-0.495737105611836, 0.2391412181901834, -0.7971636934427455,
1055 0.01470390638751603},
1056 {-0.9462404191356018, -0.7971636934427455, 0.2391412181901834,
1057 0.01470390638751603},
1058 {-0.495737105611836, -0.7971636934427455, 0.2391412181901834,
1059 0.01470390638751603},
1060 {0.2391412181901834, -0.495737105611836, -0.9462404191356018,
1061 0.01470390638751603},
1062 {-0.9462404191356018, -0.4957371056118361, -0.7971636934427455,
1063 0.01470390638751603},
1064 {-0.7971636934427455, -0.4957371056118361, -0.9462404191356018,
1065 0.01470390638751603},
1066 {0.2391412181901834, -0.495737105611836, -0.7971636934427455,
1067 0.01470390638751603},
1068 {-0.7971636934427455, -0.495737105611836, 0.2391412181901834,
1069 0.01470390638751603},
1070 {-0.7971636934427455, 0.2391412181901834, -0.495737105611836,
1071 0.01470390638751603},
1072 {-0.495737105611836, -0.9462404191356018, 0.2391412181901834,
1073 0.01470390638751603},
1074 {0.2391412181901834, -0.9462404191356018, -0.495737105611836,
1075 0.01470390638751603},
1076 {0.2391412181901834, -0.9462404191356018, -0.7971636934427455,
1077 0.01470390638751603},
1078 {-0.7971636934427455, -0.9462404191356018, -0.4957371056118361,
1079 0.01470390638751603},
1080 {-0.4957371056118361, -0.9462404191356018, -0.7971636934427455,
1081 0.01470390638751603}};

Referenced by Nektar::LibUtilities::NodalTetSPI::v_CalculatePoints(), and Nektar::LibUtilities::NodalTetSPI::v_CalculateWeights().

◆ NodalTetSPINPTS

const size_t Nektar::LibUtilities::NodalTetSPINPTS[NodalTetSPIAvailable]
static
Initial value:
= {
1, 4, 8, 14, 14, 28, 36, 81, 121, 180}

Definition at line 41 of file NodalTetSPIData.h.

41 {
42 1, 4, 8, 14, 14, 28, 36, 81, 121, 180};

Referenced by Nektar::LibUtilities::NodalTetSPI::v_CalculatePoints(), and Nektar::LibUtilities::NodalTetSPI::v_CalculateWeights().

◆ NodalTriElecAvailable

const size_t Nektar::LibUtilities::NodalTriElecAvailable = 16

Definition at line 44 of file NodalTriElecData.h.

◆ NodalTriElecData

const NekDouble Nektar::LibUtilities::NodalTriElecData[][6]
static

Definition at line 47 of file NodalTriElecData.h.

47 {
48
49 // %%% n_1 n_3 n_6 l_1 l_2 l_3
50 // 1 1 %%% Order / Number of Points
51 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
52 // 2 2 %%% Order / Number of Points
53 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
54 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
55 // 3 3 %%% Order / Number of Points
56 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
57 {0, 0, 1, 0.7236067977, 0.2763932023, 0.0000000000},
58 {1, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333},
59 // 4 4 %%% Order / Number of Points
60 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
61 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
62 {0, 0, 1, 0.8273268354, 0.1726731646, 0.0000000000},
63 {0, 1, 0, 0.2371200168, 0.2371200168, 0.5257599664},
64 // 5 5 %%% Order / Number of Points
65 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
66 {0, 0, 1, 0.6426157582, 0.3573842418, 0.0000000000},
67 {0, 0, 1, 0.8825276620, 0.1174723380, 0.0000000000},
68 {0, 1, 0, 0.4105151510, 0.4105151510, 0.1789696980},
69 {0, 1, 0, 0.1575181512, 0.1575181512, 0.6849636976},
70 // 6 7 %%% Order / Number of Points
71 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
72 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
73 {0, 0, 1, 0.7344243967, 0.2655756033, 0.0000000000},
74 {0, 0, 1, 0.9151119481, 0.0848880519, 0.0000000000},
75 {1, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333},
76 {0, 1, 0, 0.1061169285, 0.1061169285, 0.7877661430},
77 {0, 0, 1, 0.3097982151, 0.5569099204, 0.1332918645},
78 // 7 8 %%% Order / Number of Points
79 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
80 {0, 0, 1, 0.9358700743, 0.0641299257, 0.0000000000},
81 {0, 0, 1, 0.7958500907, 0.2041499093, 0.0000000000},
82 {0, 0, 1, 0.6046496090, 0.3953503910, 0.0000000000},
83 {0, 0, 1, 0.2325524777, 0.6759625951, 0.0914849272},
84 {0, 1, 0, 0.4477725053, 0.4477725053, 0.1044549894},
85 {0, 1, 0, 0.2604038024, 0.2604038024, 0.4791923952},
86 {0, 1, 0, 0.0660520784, 0.0660520784, 0.8678958432},
87 // 8 10 %%% Order / Number of Points
88 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
89 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
90 {0, 0, 1, 0.9498789977, 0.0501210023, 0.0000000000},
91 {0, 0, 1, 0.8385931398, 0.1614068602, 0.0000000000},
92 {0, 0, 1, 0.6815587319, 0.3184412681, 0.0000000000},
93 {0, 1, 0, 0.3905496216, 0.3905496216, 0.2189007568},
94 {0, 1, 0, 0.2033467796, 0.2033467796, 0.5933064408},
95 {0, 1, 0, 0.0469685351, 0.0469685351, 0.9060629298},
96 {0, 0, 1, 0.3617970895, 0.5541643672, 0.0840385433},
97 {0, 0, 1, 0.1801396087, 0.7519065566, 0.0679538347},
98 // 9 12 %%% Order / Number of Points
99 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
100 {0, 0, 1, 0.9597669541, 0.0402330459, 0.0000000000},
101 {0, 0, 1, 0.8693869326, 0.1306130674, 0.0000000000},
102 {0, 0, 1, 0.7389624749, 0.2610375251, 0.0000000000},
103 {0, 0, 1, 0.5826394788, 0.4173605212, 0.0000000000},
104 {1, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333},
105 {0, 1, 0, 0.4640303025, 0.4640303025, 0.0719393950},
106 {0, 1, 0, 0.1633923069, 0.1633923069, 0.6732153862},
107 {0, 1, 0, 0.0355775717, 0.0355775717, 0.9288448566},
108 {0, 0, 1, 0.3225890045, 0.4968009397, 0.1806100558},
109 {0, 0, 1, 0.2966333890, 0.6349633653, 0.0684032457},
110 {0, 0, 1, 0.1439089974, 0.8031490682, 0.0529419344},
111 // 10 14 %%% Order / Number of Points
112 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
113 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
114 {0, 0, 1, 0.9670007152, 0.0329992848, 0.0000000000},
115 {0, 0, 1, 0.8922417368, 0.1077582632, 0.0000000000},
116 {0, 0, 1, 0.7826176635, 0.2173823365, 0.0000000000},
117 {0, 0, 1, 0.6478790678, 0.3521209322, 0.0000000000},
118 {0, 1, 0, 0.4232062312, 0.4232062312, 0.1535875376},
119 {0, 1, 0, 0.2833924371, 0.2833924371, 0.4332151258},
120 {0, 1, 0, 0.1330857076, 0.1330857076, 0.7338285848},
121 {0, 1, 0, 0.0265250690, 0.0265250690, 0.9469498620},
122 {0, 0, 1, 0.3934913008, 0.5472380443, 0.0592706549},
123 {0, 0, 1, 0.2707097521, 0.5811217960, 0.1481684519},
124 {0, 0, 1, 0.2462883939, 0.6991456238, 0.0545659823},
125 {0, 0, 1, 0.1163195333, 0.8427538829, 0.0409265838},
126 // 11 16 %%% Order / Number of Points
127 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
128 {0, 0, 1, 0.9724496361, 0.0275503639, 0.0000000000},
129 {0, 0, 1, 0.9096396608, 0.0903603392, 0.0000000000},
130 {0, 0, 1, 0.8164380765, 0.1835619235, 0.0000000000},
131 {0, 0, 1, 0.6997654705, 0.3002345295, 0.0000000000},
132 {0, 0, 1, 0.5682764664, 0.4317235336, 0.0000000000},
133 {0, 1, 0, 0.4746683133, 0.4746683133, 0.0506633734},
134 {0, 1, 0, 0.3764778430, 0.3764778430, 0.2470443140},
135 {0, 1, 0, 0.2422268680, 0.2422268680, 0.5155462640},
136 {0, 1, 0, 0.1104863580, 0.1104863580, 0.7790272840},
137 {0, 1, 0, 0.0204278105, 0.0204278105, 0.9591443790},
138 {0, 0, 1, 0.3649298091, 0.5060795425, 0.1289906484},
139 {0, 0, 1, 0.3361965758, 0.6146545276, 0.0491488966},
140 {0, 0, 1, 0.2299163838, 0.6466193522, 0.1234642640},
141 {0, 0, 1, 0.2073828199, 0.7483396985, 0.0442774816},
142 {0, 0, 1, 0.0959885136, 0.8715407373, 0.0324707491},
143 // 12 19 %%% Order / Number of Points
144 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
145 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
146 {0, 0, 1, 0.9766549233, 0.0233450767, 0.0000000000},
147 {0, 0, 1, 0.9231737823, 0.0768262177, 0.0000000000},
148 {0, 0, 1, 0.8430942345, 0.1569057655, 0.0000000000},
149 {0, 0, 1, 0.7414549105, 0.2585450895, 0.0000000000},
150 {0, 0, 1, 0.6246434651, 0.3753565349, 0.0000000000},
151 {1, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333},
152 {0, 1, 0, 0.4452623516, 0.4452623516, 0.1094752968},
153 {0, 1, 0, 0.2091994115, 0.2091994115, 0.5816011770},
154 {0, 1, 0, 0.0156346170, 0.0156346170, 0.9687307660},
155 {0, 1, 0, 0.0926054449, 0.0926054449, 0.8147891102},
156 {0, 0, 1, 0.4145270405, 0.5430117044, 0.0424612551},
157 {0, 0, 1, 0.3292603428, 0.4567841256, 0.2139555316},
158 {0, 0, 1, 0.3177076680, 0.5753716491, 0.1069206829},
159 {0, 0, 1, 0.2890538328, 0.6707932601, 0.0401529071},
160 {0, 0, 1, 0.1969473706, 0.6989024696, 0.1041501598},
161 {0, 0, 1, 0.1765067641, 0.7877603302, 0.0357329057},
162 {0, 0, 1, 0.0799959921, 0.8942989924, 0.0257050155},
163 // 13 21 %%% Order / Number of Points
164 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
165 {0, 0, 1, 0.9799675226, 0.0200324774, 0.0000000000},
166 {0, 0, 1, 0.9339005269, 0.0660994731, 0.0000000000},
167 {0, 0, 1, 0.8644342995, 0.1355657005, 0.0000000000},
168 {0, 0, 1, 0.7753197015, 0.2246802985, 0.0000000000},
169 {0, 0, 1, 0.6713620067, 0.3286379933, 0.0000000000},
170 {0, 0, 1, 0.5581659344, 0.4418340656, 0.0000000000},
171 {0, 1, 0, 0.0125158559, 0.0125158559, 0.9749682882},
172 {0, 1, 0, 0.4814041934, 0.4814041934, 0.0371916132},
173 {0, 1, 0, 0.0791069148, 0.0791069148, 0.8417861704},
174 {0, 1, 0, 0.1831015613, 0.1831015613, 0.6337968774},
175 {0, 1, 0, 0.4068245409, 0.4068245409, 0.1863509182},
176 {0, 1, 0, 0.2954002632, 0.2954002632, 0.4091994736},
177 {0, 0, 1, 0.3944786597, 0.5151527485, 0.0903685918},
178 {0, 0, 1, 0.3615540438, 0.6022119116, 0.0362340446},
179 {0, 0, 1, 0.2767319260, 0.6304802457, 0.0927878283},
180 {0, 0, 1, 0.2513189999, 0.7149811088, 0.0336998913},
181 {0, 0, 1, 0.1706952037, 0.7399484931, 0.0893563032},
182 {0, 0, 1, 0.1523482839, 0.8179762698, 0.0296754463},
183 {0, 0, 1, 0.2915934740, 0.5215057084, 0.1869008176},
184 {0, 0, 1, 0.0680753374, 0.9108476566, 0.0210770060},
185 // 14 24 %%% Order / Number of Points
186 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
187 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
188 {0, 0, 1, 0.9826229633, 0.0173770367, 0.0000000000},
189 {0, 0, 1, 0.9425410221, 0.0574589779, 0.0000000000},
190 {0, 0, 1, 0.8817598450, 0.1182401550, 0.0000000000},
191 {0, 0, 1, 0.8031266027, 0.1968733973, 0.0000000000},
192 {0, 0, 1, 0.7103190274, 0.2896809726, 0.0000000000},
193 {0, 0, 1, 0.6076769777, 0.3923230223, 0.0000000000},
194 {0, 1, 0, 0.4587977340, 0.4587977340, 0.0824045320},
195 {0, 1, 0, 0.3671908093, 0.3671908093, 0.2656183814},
196 {0, 1, 0, 0.2595748224, 0.2595748224, 0.4808503552},
197 {0, 1, 0, 0.1603773315, 0.1603773315, 0.6792453370},
198 {0, 1, 0, 0.0685768901, 0.0685768901, 0.8628462198},
199 {0, 1, 0, 0.0103478215, 0.0103478215, 0.9793043570},
200 {0, 0, 1, 0.9234057833, 0.0588664441, 0.0177277726},
201 {0, 0, 1, 0.8416660290, 0.1330619104, 0.0252720607},
202 {0, 0, 1, 0.7721478696, 0.1494014554, 0.0784506750},
203 {0, 0, 1, 0.7521462903, 0.2191316332, 0.0287220764},
204 {0, 0, 1, 0.6781794781, 0.2494595411, 0.0723609808},
205 {0, 0, 1, 0.6425344401, 0.3256595455, 0.0318060144},
206 {0, 0, 1, 0.5834887797, 0.2550816171, 0.1614296032},
207 {0, 0, 1, 0.5652822600, 0.3505856755, 0.0841320645},
208 {0, 0, 1, 0.5379997781, 0.4292596705, 0.0327405513},
209 {0, 0, 1, 0.4692799339, 0.3610693351, 0.1696507310},
210 // 15 27 %%% Order / Number of Points
211 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
212 {0, 0, 1, 0.9847840231, 0.0152159769, 0.0000000000},
213 {0, 0, 1, 0.9496002665, 0.0503997335, 0.0000000000},
214 {0, 0, 1, 0.8960041459, 0.1039958541, 0.0000000000},
215 {0, 0, 1, 0.8261943514, 0.1738056486, 0.0000000000},
216 {0, 0, 1, 0.7430297109, 0.2569702891, 0.0000000000},
217 {0, 0, 1, 0.6499152345, 0.3500847655, 0.0000000000},
218 {0, 0, 1, 0.5506631368, 0.4493368632, 0.0000000000},
219 {1, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333},
220 {0, 1, 0, 0.4852528832, 0.4852528832, 0.0294942336},
221 {0, 1, 0, 0.4255990820, 0.4255990820, 0.1488018360},
222 {0, 1, 0, 0.2320836842, 0.2320836842, 0.5358326316},
223 {0, 1, 0, 0.1405179457, 0.1405179457, 0.7189641086},
224 {0, 1, 0, 0.0599963506, 0.0599963506, 0.8800072988},
225 {0, 1, 0, 0.0085857218, 0.0085857218, 0.9828285564},
226 {0, 0, 1, 0.9337196169, 0.0512926813, 0.0149877018},
227 {0, 0, 1, 0.8617284617, 0.1169291070, 0.0213424313},
228 {0, 0, 1, 0.8006726315, 0.1325472687, 0.0667800998},
229 {0, 0, 1, 0.7794706504, 0.1957424109, 0.0247869387},
230 {0, 0, 1, 0.7134213061, 0.2207559648, 0.0658227291},
231 {0, 0, 1, 0.6834546988, 0.2890601702, 0.0274851310},
232 {0, 0, 1, 0.6286428956, 0.2270147509, 0.1443423535},
233 {0, 0, 1, 0.6135939037, 0.3123505510, 0.0740555453},
234 {0, 0, 1, 0.5886608293, 0.3824865582, 0.0288526124},
235 {0, 0, 1, 0.5244220875, 0.3265860871, 0.1489918254},
236 {0, 0, 1, 0.5171616793, 0.4145995177, 0.0682388030},
237 {0, 0, 1, 0.4324830342, 0.3299898010, 0.2375271649},
238 // 16 30 %%% Order / Number of Points
239 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
240 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
241 {0, 0, 1, 0.9865660883, 0.0134339117, 0.0000000000},
242 {0, 0, 1, 0.9554399980, 0.0445600020, 0.0000000000},
243 {0, 0, 1, 0.9078481256, 0.0921518744, 0.0000000000},
244 {0, 0, 1, 0.8455144903, 0.1544855097, 0.0000000000},
245 {0, 0, 1, 0.7706926997, 0.2293073003, 0.0000000000},
246 {0, 0, 1, 0.6860872168, 0.3139127832, 0.0000000000},
247 {0, 0, 1, 0.5947559868, 0.4052440132, 0.0000000000},
248 {0, 1, 0, 0.4692881367, 0.4692881367, 0.0614237267},
249 {0, 1, 0, 0.3932305456, 0.3932305456, 0.2135389089},
250 {0, 1, 0, 0.3025577746, 0.3025577746, 0.3948844509},
251 {0, 1, 0, 0.2078492229, 0.2078492229, 0.5843015542},
252 {0, 1, 0, 0.1284932701, 0.1284932701, 0.7430134598},
253 {0, 1, 0, 0.0529388222, 0.0529388222, 0.8941223556},
254 {0, 1, 0, 0.0072437614, 0.0072437614, 0.9855124772},
255 {0, 0, 1, 0.9419105656, 0.0452492885, 0.0128401458},
256 {0, 0, 1, 0.8772044870, 0.1042200005, 0.0185755125},
257 {0, 0, 1, 0.8214366546, 0.1173927115, 0.0611706338},
258 {0, 0, 1, 0.8060459745, 0.1727546471, 0.0211993784},
259 {0, 0, 1, 0.7464832409, 0.1959218281, 0.0575949309},
260 {0, 0, 1, 0.7198500717, 0.2560058606, 0.0241440677},
261 {0, 0, 1, 0.6657283975, 0.1263493158, 0.2079222867},
262 {0, 0, 1, 0.6578452111, 0.2860606787, 0.0560941102},
263 {0, 0, 1, 0.6256312013, 0.3487602527, 0.0256085459},
264 {0, 0, 1, 0.5755509622, 0.2921362629, 0.1323127749},
265 {0, 0, 1, 0.5620632423, 0.3743524772, 0.0635842805},
266 {0, 0, 1, 0.5343544917, 0.4393591499, 0.0262863584},
267 {0, 0, 1, 0.4883520007, 0.2978352313, 0.2138127680},
268 {0, 0, 1, 0.4806452274, 0.3853613574, 0.1339934152}};

Referenced by Nektar::LibUtilities::NodalTriElec::v_CalculatePoints().

◆ NodalTriElecNPTS

const size_t Nektar::LibUtilities::NodalTriElecNPTS[NodalTriElecAvailable]
static
Initial value:
= {
1, 2, 3, 4, 5, 7, 8, 10, 12, 14, 16, 19, 21, 24, 27, 30}

Definition at line 45 of file NodalTriElecData.h.

45 {
46 1, 2, 3, 4, 5, 7, 8, 10, 12, 14, 16, 19, 21, 24, 27, 30};

Referenced by Nektar::LibUtilities::NodalTriElec::v_CalculatePoints().

◆ NodalTriFeketeAvailable

const size_t Nektar::LibUtilities::NodalTriFeketeAvailable = 16

Definition at line 46 of file NodalTriFeketeData.h.

◆ NodalTriFeketeData

const NekDouble Nektar::LibUtilities::NodalTriFeketeData[][6]
static

Definition at line 49 of file NodalTriFeketeData.h.

49 {
50 // %%% n_1 n_3 n_6 l_1 l_2 l_3
51 // 1 1 %%% Order / Number of Points
52 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
53 // 2 2 %%% Order / Number of Points
54 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
55 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
56 // 3 3 %%% Order / Number of Points
57 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
58 {0, 0, 1, 0.7236067977, 0.2763932023, 0.0000000000},
59 {1, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333},
60 // 4 4 %%% Order / Number of Points
61 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
62 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
63 {0, 0, 1, 0.8273268354, 0.1726731646, 0.0000000000},
64 {0, 2, 0, 0.5669152707, 0.2165423647, 0.2165423647},
65 // 5 5 %%% Order / Number of Points
66 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
67 {0, 0, 1, 0.8825276620, 0.1174723380, 0.0000000000},
68 {0, 0, 1, 0.6426157582, 0.3573842418, 0.0000000000},
69 {0, 2, 0, 0.7039610574, 0.1480194713, 0.1480194713},
70 {0, 1, 0, 0.4208255393, 0.4208255393, 0.1583489214},
71 // 6 7 %%% Order / Number of Points
72 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
73 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
74 {0, 0, 1, 0.9151145777, 0.0848854223, 0.0000000000},
75 {0, 0, 1, 0.7344348598, 0.2655651402, 0.0000000000},
76 {1, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333},
77 {0, 2, 0, 0.7873290632, 0.1063354684, 0.1063354684},
78 {0, 0, 1, 0.5665492870, 0.3162697959, 0.1171809171},
79 // 7 8 %%% Order / Number of Points
80 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
81 {0, 0, 1, 0.9358700743, 0.0641299257, 0.0000000000},
82 {0, 0, 1, 0.7958500908, 0.2041499092, 0.0000000000},
83 {0, 0, 1, 0.6046496090, 0.3953503910, 0.0000000000},
84 {0, 2, 0, 0.8408229862, 0.0795885069, 0.079588506},
85 {0, 2, 0, 0.4735817901, 0.2632091050, 0.2632091050},
86 {0, 1, 0, 0.4539853441, 0.4539853441, 0.0920293119},
87 {0, 0, 1, 0.6676923094, 0.2433646431, 0.0889430475},
88 // 8 10 %%% Order / Number of Points
89 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
90 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
91 {0, 0, 1, 0.9498789977, 0.0501210023, 0.0000000000},
92 {0, 0, 1, 0.8385931398, 0.1614068602, 0.0000000000},
93 {0, 0, 1, 0.6815587319, 0.3184412681, 0.0000000000},
94 {0, 2, 0, 0.8444999609, 0.0777500195, 0.0777500195},
95 {0, 1, 0, 0.4683305115, 0.4683305115, 0.0633389771},
96 {0, 1, 0, 0.3853668203, 0.3853668204, 0.2292663593},
97 {0, 0, 1, 0.7172965409, 0.2335581033, 0.0491453558},
98 {0, 0, 1, 0.5853134902, 0.2667701010, 0.1479164088},
99 // 9 12 %%% Order / Number of Points
100 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
101 {0, 0, 1, 0.9597669930, 0.0402330070, 0.0000000000},
102 {0, 0, 1, 0.8693870908, 0.1306129092, 0.0000000000},
103 {0, 0, 1, 0.7389628040, 0.2610371960, 0.0000000000},
104 {0, 0, 1, 0.5826397065, 0.4173602935, 0.0000000000},
105 {1, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333},
106 {0, 2, 0, 0.9021308608, 0.0489345696, 0.0489345696},
107 {0, 2, 0, 0.6591363598, 0.1704318201, 0.1704318201},
108 {0, 1, 0, 0.4699587644, 0.4699587644, 0.0600824712},
109 {0, 0, 1, 0.7904339977, 0.1543901944, 0.0551758079},
110 {0, 0, 1, 0.6401193011, 0.3010242110, 0.0588564879},
111 {0, 0, 1, 0.4963227512, 0.3252434900, 0.1784337588},
112 // 10 14 %%% Order / Number of Points
113 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
114 {0, 2, 0, 0.5000000000, 0.5000000000, 0.0000000000},
115 {0, 0, 1, 0.9670007152, 0.0329992848, 0.0000000000},
116 {0, 0, 1, 0.8922417368, 0.1077582632, 0.0000000000},
117 {0, 0, 1, 0.7826176635, 0.2173823365, 0.0000000000},
118 {0, 0, 1, 0.6478790678, 0.3521209322, 0.0000000000},
119 {0, 2, 0, 0.9145236987, 0.0427381507, 0.0427381507},
120 {0, 2, 0, 0.5331019411, 0.2334490294, 0.2334490294},
121 {0, 1, 0, 0.4814795342, 0.4814795342, 0.0370409316},
122 {0, 1, 0, 0.3800851251, 0.3800851251, 0.2398297498},
123 {0, 0, 1, 0.8150971991, 0.1351329831, 0.0497698178},
124 {0, 0, 1, 0.6778669104, 0.2844305545, 0.0377025351},
125 {0, 0, 1, 0.6759450113, 0.2079572403, 0.1160977485},
126 {0, 0, 1, 0.5222323306, 0.3633472465, 0.1144204229},
127 // 11 16 %%% Order / Number of Points
128 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
129 {0, 0, 1, 0.9724496361, 0.0275503639, 0.0000000000},
130 {0, 0, 1, 0.9096396608, 0.0903603392, 0.0000000000},
131 {0, 0, 1, 0.8164380765, 0.1835619235, 0.0000000000},
132 {0, 0, 1, 0.6997654705, 0.3002345295, 0.0000000000},
133 {0, 0, 1, 0.5682764664, 0.4317235336, 0.0000000000},
134 {0, 2, 0, 0.9201760661, 0.0399119670, 0.0399119670},
135 {0, 2, 0, 0.8097416696, 0.0951291652, 0.0951291652},
136 {0, 2, 0, 0.4216558161, 0.2891720920, 0.2891720920},
137 {0, 1, 0, 0.4200100315, 0.4200100315, 0.1599799371},
138 {0, 1, 0, 0.4832770031, 0.4832770031, 0.0334459938},
139 {0, 0, 1, 0.8236881237, 0.1452587341, 0.0310531421},
140 {0, 0, 1, 0.7030268141, 0.2021386640, 0.0948345219},
141 {0, 0, 1, 0.6642752329, 0.3066778199, 0.0290469472},
142 {0, 0, 1, 0.5605605456, 0.3510551601, 0.0883842943},
143 {0, 0, 1, 0.5584153138, 0.2661283688, 0.1754563174},
144 // 12 19 %%% Order / Number of Points
145 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
146 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
147 {0, 0, 1, 0.9766549233, 0.0233450767, 0.0000000000},
148 {0, 0, 1, 0.9231737823, 0.0768262177, 0.0000000000},
149 {0, 0, 1, 0.8430942345, 0.1569057655, 0.0000000000},
150 {0, 0, 1, 0.7414549105, 0.2585450895, 0.0000000000},
151 {0, 0, 1, 0.6246434651, 0.3753565349, 0.0000000000},
152 {1, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333},
153 {0, 1, 0, 0.4005558261, 0.4005558262, 0.1988883477},
154 {0, 2, 0, 0.4763189598, 0.2618405201, 0.2618405201},
155 {0, 2, 0, 0.8385226450, 0.0807386775, 0.0807386775},
156 {0, 2, 0, 0.9326048528, 0.0336975736, 0.0336975736},
157 {0, 0, 1, 0.8530528428, 0.1206826354, 0.0262645218},
158 {0, 0, 1, 0.7260597695, 0.2489279690, 0.0250122615},
159 {0, 0, 1, 0.6376427136, 0.2874821712, 0.0748751152},
160 {0, 0, 1, 0.5625832895, 0.4071849276, 0.0302317829},
161 {0, 0, 1, 0.7415828366, 0.1697134458, 0.0887037176},
162 {0, 0, 1, 0.5954847541, 0.2454317980, 0.1590834479},
163 {0, 0, 1, 0.5072511952, 0.3837518758, 0.1089969290},
164 // 13 21 %%% Order / Number of Points
165 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
166 {0, 0, 1, 0.9799675226, 0.0200324774, 0.0000000000},
167 {0, 0, 1, 0.9339005269, 0.0660994731, 0.0000000000},
168 {0, 0, 1, 0.8644342995, 0.1355657005, 0.0000000000},
169 {0, 0, 1, 0.7753197015, 0.2246802985, 0.0000000000},
170 {0, 0, 1, 0.6713620067, 0.3286379933, 0.0000000000},
171 {0, 0, 1, 0.5581659344, 0.4418340656, 0.0000000000},
172 {0, 2, 0, 0.8520024555, 0.0739987723, 0.0739987723},
173 {0, 2, 0, 0.7432264994, 0.1283867503, 0.1283867503},
174 {0, 2, 0, 0.5395738831, 0.2302130584, 0.2302130584},
175 {0, 1, 0, 0.4644144021, 0.4644144021, 0.0711711958},
176 {0, 2, 0, 0.4114075139, 0.2942962431, 0.2942962431},
177 {0, 1, 0, 0.3929739081, 0.3929739081, 0.2140521839},
178 {0, 0, 1, 0.9198937820, 0.0580254800, 0.0220807380},
179 {0, 0, 1, 0.8269495692, 0.1490288338, 0.0240215969},
180 {0, 0, 1, 0.7425432195, 0.1884717952, 0.0689849852},
181 {0, 0, 1, 0.7075668818, 0.2676625888, 0.0247705295},
182 {0, 0, 1, 0.6366434033, 0.2298513909, 0.1335052058},
183 {0, 0, 1, 0.5976134593, 0.3320684992, 0.0703180415},
184 {0, 0, 1, 0.5665760284, 0.4108329044, 0.0225910673},
185 {0, 0, 1, 0.5028853010, 0.3560657231, 0.1410489759},
186 // 14 24 %%% Order / Number of Points
187 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
188 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
189 {0, 0, 1, 0.9826229633, 0.0173770367, 0.0000000000},
190 {0, 0, 1, 0.9425410221, 0.0574589779, 0.0000000000},
191 {0, 0, 1, 0.8817598450, 0.1182401550, 0.0000000000},
192 {0, 0, 1, 0.8031266027, 0.1968733973, 0.0000000000},
193 {0, 0, 1, 0.7103190274, 0.2896809726, 0.0000000000},
194 {0, 0, 1, 0.6076769777, 0.3923230223, 0.0000000000},
195 {0, 2, 0, 0.9545282960, 0.0227358520, 0.0227358520},
196 {0, 2, 0, 0.7279988378, 0.1360005811, 0.1360005811},
197 {0, 2, 0, 0.6146143335, 0.1926928332, 0.1926928332},
198 {0, 1, 0, 0.4704320969, 0.4704320969, 0.0591358062},
199 {0, 2, 0, 0.4062455674, 0.2968772163, 0.2968772163},
200 {0, 1, 0, 0.3997167456, 0.3997167456, 0.2005665089},
201 {0, 0, 1, 0.8994312852, 0.0727092891, 0.0278594257},
202 {0, 0, 1, 0.8235331194, 0.1556596225, 0.0208072581},
203 {0, 0, 1, 0.8159593721, 0.1175577052, 0.0664829227},
204 {0, 0, 1, 0.7277004755, 0.2121104191, 0.0601891053},
205 {0, 0, 1, 0.7017966273, 0.2792485214, 0.0189548513},
206 {0, 0, 1, 0.6286342673, 0.2519081185, 0.1194576142},
207 {0, 0, 1, 0.6152236423, 0.3254238863, 0.0593524714},
208 {0, 0, 1, 0.5599300851, 0.4197058520, 0.0203640629},
209 {0, 0, 1, 0.5124435882, 0.2931807429, 0.1943756690},
210 {0, 0, 1, 0.5038948451, 0.3812965190, 0.1148086359},
211 // 15 27 %%% Order / Number of Points
212 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
213 {0, 0, 1, 0.9847840231, 0.0152159769, 0.0000000000},
214 {0, 0, 1, 0.9496002665, 0.0503997335, 0.0000000000},
215 {0, 0, 1, 0.8960041459, 0.1039958541, 0.0000000000},
216 {0, 0, 1, 0.8261943514, 0.1738056486, 0.0000000000},
217 {0, 0, 1, 0.7430297109, 0.2569702891, 0.0000000000},
218 {0, 0, 1, 0.6499152345, 0.3500847655, 0.0000000000},
219 {0, 0, 1, 0.5506631368, 0.4493368632, 0.0000000000},
220 {1, 0, 0, 0.3333333333, 0.3333333333, 0.3333333333},
221 {0, 2, 0, 0.9561008318, 0.0219495841, 0.0219495841},
222 {0, 2, 0, 0.8937652924, 0.0531173538, 0.0531173538},
223 {0, 2, 0, 0.7626684778, 0.1186657611, 0.1186657611},
224 {0, 2, 0, 0.5478917292, 0.2260541354, 0.2260541354},
225 {0, 1, 0, 0.4761452138, 0.4761452137, 0.0477095725},
226 {0, 1, 0, 0.4206960976, 0.4206960976, 0.1586078048},
227 {0, 0, 1, 0.9011419064, 0.0816639421, 0.0171941515},
228 {0, 0, 1, 0.8302595715, 0.1162464503, 0.0534939782},
229 {0, 0, 1, 0.8059790318, 0.1759511193, 0.0180698489},
230 {0, 0, 1, 0.7424917767, 0.1978887556, 0.0596194677},
231 {0, 0, 1, 0.6958779924, 0.2844332752, 0.0196887324},
232 {0, 0, 1, 0.6684861226, 0.1975591066, 0.1339547708},
233 {0, 0, 1, 0.6374939126, 0.2749910734, 0.0875150140},
234 {0, 0, 1, 0.6000365168, 0.3524012205, 0.0475622627},
235 {0, 0, 1, 0.5666808380, 0.4176001732, 0.0157189888},
236 {0, 0, 1, 0.5400834895, 0.3013819154, 0.1585345951},
237 {0, 0, 1, 0.5173966708, 0.3853507643, 0.0972525649},
238 {0, 0, 1, 0.4350225702, 0.3270403780, 0.2379370518},
239 // 16 30 %%% Order / Number of Points
240 {0, 2, 0, 1.0000000000, 0.0000000000, 0.0000000000},
241 {0, 1, 0, 0.5000000000, 0.5000000000, 0.0000000000},
242 {0, 0, 1, 0.9865660883, 0.0134339117, 0.0000000000},
243 {0, 0, 1, 0.9554399980, 0.0445600020, 0.0000000000},
244 {0, 0, 1, 0.9078481256, 0.0921518744, 0.0000000000},
245 {0, 0, 1, 0.8455144903, 0.1544855097, 0.0000000000},
246 {0, 0, 1, 0.7706926997, 0.2293073003, 0.0000000000},
247 {0, 0, 1, 0.6860872168, 0.3139127832, 0.0000000000},
248 {0, 0, 1, 0.5947559868, 0.4052440132, 0.0000000000},
249 {0, 2, 0, 0.9082733123, 0.0458633439, 0.0458633439},
250 {0, 2, 0, 0.7814558654, 0.1092720673, 0.1092720673},
251 {0, 2, 0, 0.5061583246, 0.2469208377, 0.2469208377},
252 {0, 1, 0, 0.4752124798, 0.4752124798, 0.0495750405},
253 {0, 1, 0, 0.4264731058, 0.4264731058, 0.1470537884},
254 {0, 2, 0, 0.3970899287, 0.3014550356, 0.3014550356},
255 {0, 1, 0, 0.3866478326, 0.3866478326, 0.2267043349},
256 {0, 0, 1, 0.9485194031, 0.0373109962, 0.0141696007},
257 {0, 0, 1, 0.8743842850, 0.1097814309, 0.0158342841},
258 {0, 0, 1, 0.8512484463, 0.0959614844, 0.0527900693},
259 {0, 0, 1, 0.7826094027, 0.1639276476, 0.0534629497},
260 {0, 0, 1, 0.7790251588, 0.2050142286, 0.0159606126},
261 {0, 0, 1, 0.7045940167, 0.2476638915, 0.0477420917},
262 {0, 0, 1, 0.7008539071, 0.1815134068, 0.1176326861},
263 {0, 0, 1, 0.6644617368, 0.3197919643, 0.0157462988},
264 {0, 0, 1, 0.6229177644, 0.2778907781, 0.0991914575},
265 {0, 0, 1, 0.6010014909, 0.3493750783, 0.0496234308},
266 {0, 0, 1, 0.6009076040, 0.2332142592, 0.1658781368},
267 {0, 0, 1, 0.5481915845, 0.4347608890, 0.0170475265},
268 {0, 0, 1, 0.5160516828, 0.3894384191, 0.0945098981},
269 {0, 0, 1, 0.5043443688, 0.3260983223, 0.1695573088}};

Referenced by Nektar::LibUtilities::NodalTriFekete::v_CalculatePoints().

◆ NodalTriFeketeNPTS

const size_t Nektar::LibUtilities::NodalTriFeketeNPTS[NodalTriFeketeAvailable]
static
Initial value:
= {
1, 2, 3, 4, 5, 7, 8, 10, 12, 14, 16, 19, 21, 24, 27, 30}

Definition at line 47 of file NodalTriFeketeData.h.

47 {
48 1, 2, 3, 4, 5, 7, 8, 10, 12, 14, 16, 19, 21, 24, 27, 30};

Referenced by Nektar::LibUtilities::NodalTriFekete::v_CalculatePoints().

◆ NodalTriSPIAvailable

const size_t Nektar::LibUtilities::NodalTriSPIAvailable = 10

Definition at line 40 of file NodalTriSPIData.h.

◆ NodalTriSPIData

const NekDouble Nektar::LibUtilities::NodalTriSPIData[][3]
static

Definition at line 43 of file NodalTriSPIData.h.

43 {
44 // %%% x y w
45 // 1 1 %%% Order / Number of Points
46 {-0.33333333333333333333333333333333333333,
47 -0.33333333333333333333333333333333333333, 2},
48 // 2 3 %%% Order / Number of Points
49 {-0.66666666666666666666666666666666666667,
50 0.33333333333333333333333333333333333333,
51 0.66666666666666666666666666666666666667},
52 {0.33333333333333333333333333333333333333,
53 -0.66666666666666666666666666666666666667,
54 0.66666666666666666666666666666666666667},
55 {-0.66666666666666666666666666666666666667,
56 -0.66666666666666666666666666666666666667,
57 0.66666666666666666666666666666666666667},
58 // 3 6 %%% Order / Number of Points
59 {-0.1081030181680702273633414922338960232,
60 -0.7837939636638595452733170155322079536,
61 0.44676317935602293139001401686624560874},
62 {-0.7837939636638595452733170155322079536,
63 -0.1081030181680702273633414922338960232,
64 0.44676317935602293139001401686624560874},
65 {-0.1081030181680702273633414922338960232,
66 -0.1081030181680702273633414922338960232,
67 0.44676317935602293139001401686624560874},
68 {-0.81684757298045851308085707319559698429,
69 0.63369514596091702616171414639119396858,
70 0.21990348731064373527665264980042105793},
71 {0.63369514596091702616171414639119396858,
72 -0.81684757298045851308085707319559698429,
73 0.21990348731064373527665264980042105793},
74 {-0.81684757298045851308085707319559698429,
75 -0.81684757298045851308085707319559698429,
76 0.21990348731064373527665264980042105793},
77 // 4 6 %%% Order / Number of Points
78 {-0.1081030181680702273633414922338960232,
79 -0.7837939636638595452733170155322079536,
80 0.44676317935602293139001401686624560874},
81 {-0.7837939636638595452733170155322079536,
82 -0.1081030181680702273633414922338960232,
83 0.44676317935602293139001401686624560874},
84 {-0.1081030181680702273633414922338960232,
85 -0.1081030181680702273633414922338960232,
86 0.44676317935602293139001401686624560874},
87 {-0.81684757298045851308085707319559698429,
88 0.63369514596091702616171414639119396858,
89 0.21990348731064373527665264980042105793},
90 {0.63369514596091702616171414639119396858,
91 -0.81684757298045851308085707319559698429,
92 0.21990348731064373527665264980042105793},
93 {-0.81684757298045851308085707319559698429,
94 -0.81684757298045851308085707319559698429,
95 0.21990348731064373527665264980042105793},
96 // 5 7 %%% Order / Number of Points
97 {-0.33333333333333333333333333333333333333,
98 -0.33333333333333333333333333333333333333, 0.45},
99 {-0.79742698535308732239802527616975234389,
100 0.59485397070617464479605055233950468778,
101 0.25187836108965430519136789100036266732},
102 {0.59485397070617464479605055233950468778,
103 -0.79742698535308732239802527616975234389,
104 0.25187836108965430519136789100036266732},
105 {-0.79742698535308732239802527616975234389,
106 -0.79742698535308732239802527616975234389,
107 0.25187836108965430519136789100036266732},
108 {-0.059715871789769820459117580973104798968,
109 -0.88056825642046035908176483805379040206,
110 0.26478830557701236147529877566630399935},
111 {-0.88056825642046035908176483805379040206,
112 -0.059715871789769820459117580973104798968,
113 0.26478830557701236147529877566630399935},
114 {-0.059715871789769820459117580973104798968,
115 -0.059715871789769820459117580973104798968,
116 0.26478830557701236147529877566630399935},
117 // 6 13 %%% Order / Number of Points
118 {-0.3333333333333333, -0.3333333333333333, 0.4153725894804773},
119 {-1, 1, 0.01668544312227965},
120 {1, -1, 0.01668544312227965},
121 {-1, -1, 0.01668544312227965},
122 {-0.07249846092703716, -0.8550030781459257, 0.1914152449999351},
123 {-0.8550030781459257, -0.07249846092703716, 0.1914152449999351},
124 {-0.07249846092703716, -0.07249846092703716, 0.1914152449999351},
125 {0.4693907615361228, -0.8739333400138243, 0.1600542243588131},
126 {-0.8739333400138243, 0.4693907615361228, 0.1600542243588131},
127 {-0.5954574215222985, -0.8739333400138243, 0.1600542243588131},
128 {-0.8739333400138243, -0.5954574215222985, 0.1600542243588131},
129 {-0.5954574215222985, 0.4693907615361228, 0.1600542243588131},
130 {0.4693907615361228, -0.5954574215222985, 0.1600542243588131},
131 // 7 16 %%% Order / Number of Points
132 {-0.3333333333333333, -0.3333333333333333, 0.02890517766969565},
133 {-0.05159753420403723, -0.8968049315919255, 0.1692311578402325},
134 {-0.8968049315919255, -0.05159753420403723, 0.1692311578402325},
135 {-0.05159753420403723, -0.05159753420403723, 0.1692311578402325},
136 {-0.52840910025121, 0.05681820050242004, 0.2565587963589694},
137 {0.05681820050242004, -0.52840910025121, 0.2565587963589694},
138 {-0.52840910025121, -0.52840910025121, 0.2565587963589694},
139 {-1, 1, 0.01018650230579353},
140 {1, -1, 0.01018650230579353},
141 {-1, -1, 0.01018650230579353},
142 {-0.9167345590281095, 0.569735685302827, 0.1105275754692198},
143 {0.569735685302827, -0.9167345590281095, 0.1105275754692198},
144 {-0.6530011262747175, 0.569735685302827, 0.1105275754692198},
145 {0.569735685302827, -0.6530011262747175, 0.1105275754692198},
146 {-0.6530011262747175, -0.9167345590281096, 0.1105275754692198},
147 {-0.9167345590281096, -0.6530011262747175, 0.1105275754692198},
148 // 8 18 %%% Order / Number of Points
149 {-0.5228225045348536, 0.0456450090697072, 0.2646287570910316},
150 {0.0456450090697072, -0.5228225045348536, 0.2646287570910316},
151 {-0.5228225045348536, -0.5228225045348536, 0.2646287570910316},
152 {-0.865016154723089, 0.730032309446178, 0.05974557205954301},
153 {0.730032309446178, -0.865016154723089, 0.05974557205954301},
154 {-0.865016154723089, -0.865016154723089, 0.05974557205954301},
155 {-0.05332197913465642, -0.8933560417306872, 0.1492582098166287},
156 {-0.8933560417306872, -0.05332197913465642, 0.1492582098166287},
157 {-0.05332197913465642, -0.05332197913465642, 0.1492582098166287},
158 {-1, 1, 0.006236363791150692},
159 {1, -1, 0.006236363791150692},
160 {-1, -1, 0.006236363791150692},
161 {-0.5656703440391746, 0.4848664878635023, 0.09339888195415628},
162 {0.4848664878635023, -0.5656703440391746, 0.09339888195415628},
163 {-0.9191961438243277, 0.4848664878635023, 0.09339888195415628},
164 {0.4848664878635023, -0.9191961438243277, 0.09339888195415628},
165 {-0.9191961438243277, -0.5656703440391746, 0.09339888195415628},
166 {-0.5656703440391746, -0.9191961438243277, 0.09339888195415628},
167 // 9 22 %%% Order / Number of Points
168 {-0.3333333333333333, -0.3333333333333333, 0.2125563146250694},
169 {-0.1128567802029919, -0.7742864395940161, 0.1608078833870916},
170 {-0.7742864395940161, -0.1128567802029919, 0.1608078833870916},
171 {-0.1128567802029919, -0.1128567802029919, 0.1608078833870916},
172 {-0.6200530872876424, 0.2401061745752848, 0.1619222257331837},
173 {0.2401061745752848, -0.6200530872876424, 0.1619222257331837},
174 {-0.6200530872876424, -0.6200530872876424, 0.1619222257331837},
175 {-1, 1, 0.000350388943572419},
176 {1, -1, 0.000350388943572419},
177 {-1, -1, 0.000350388943572419},
178 {-0.01239829029425277, -0.9752034194114945, 0.04798535534603363},
179 {-0.9752034194114945, -0.01239829029425277, 0.04798535534603363},
180 {-0.01239829029425277, -0.01239829029425277, 0.04798535534603363},
181 {-0.9083876895065616, 0.8167753790131231, 0.05161455087260469},
182 {0.8167753790131231, -0.9083876895065616, 0.05161455087260469},
183 {-0.9083876895065616, -0.9083876895065616, 0.05161455087260469},
184 {-0.9263231758905274, 0.482397197568996, 0.08656707875457882},
185 {0.482397197568996, -0.9263231758905274, 0.08656707875457882},
186 {-0.5560740216784685, 0.4823971975689959, 0.08656707875457882},
187 {0.4823971975689959, -0.5560740216784685, 0.08656707875457882},
188 {-0.5560740216784685, -0.9263231758905274, 0.08656707875457882},
189 {-0.9263231758905274, -0.5560740216784685, 0.08656707875457882},
190 // 10 25 %%% Order / Number of Points
191 {-0.3333333333333333, -0.3333333333333333, 0.1463412629389919},
192 {-0.1517578857149908, -0.6964842285700183, 0.1596259407516009},
193 {-0.6964842285700183, -0.1517578857149908, 0.1596259407516009},
194 {-0.1517578857149908, -0.1517578857149908, 0.1596259407516009},
195 {-1, 1, 0.004142056403083998},
196 {1, -1, 0.004142056403083998},
197 {-1, -1, 0.004142056403083998},
198 {-0.6385578178947611, 0.2771156357895221, 0.1561253967816473},
199 {0.2771156357895221, -0.6385578178947611, 0.1561253967816473},
200 {-0.6385578178947611, -0.6385578178947611, 0.1561253967816473},
201 {-0.02473842217280176, -0.9505231556543965, 0.04820131094351466},
202 {-0.9505231556543965, -0.02473842217280176, 0.04820131094351466},
203 {-0.02473842217280176, -0.02473842217280176, 0.04820131094351466},
204 {-0.7790015033862367, 0.7167148116753153, 0.04960894888480484},
205 {0.7167148116753153, -0.7790015033862367, 0.04960894888480484},
206 {-0.9377133082890785, 0.7167148116753153, 0.04960894888480484},
207 {0.7167148116753153, -0.9377133082890785, 0.04960894888480484},
208 {-0.9377133082890785, -0.7790015033862367, 0.04960894888480484},
209 {-0.7790015033862367, -0.9377133082890785, 0.04960894888480484},
210 {-0.4144607978125549, 0.3389482548091939, 0.0752868215187729},
211 {0.3389482548091939, -0.4144607978125549, 0.0752868215187729},
212 {-0.924487456996639, 0.3389482548091939, 0.0752868215187729},
213 {0.3389482548091939, -0.924487456996639, 0.0752868215187729},
214 {-0.924487456996639, -0.4144607978125548, 0.0752868215187729},
215 {-0.4144607978125548, -0.924487456996639, 0.0752868215187729}};

Referenced by Nektar::LibUtilities::NodalTriSPI::v_CalculatePoints(), and Nektar::LibUtilities::NodalTriSPI::v_CalculateWeights().

◆ NodalTriSPINPTS

const size_t Nektar::LibUtilities::NodalTriSPINPTS[NodalTriSPIAvailable]
static
Initial value:
= {
1, 3, 6, 6, 7, 13, 16, 18, 22, 25}

Definition at line 41 of file NodalTriSPIData.h.

41 {
42 1, 3, 6, 6, 7, 13, 16, 18, 22, 25};

Referenced by Nektar::LibUtilities::NodalTriSPI::v_CalculatePoints(), and Nektar::LibUtilities::NodalTriSPI::v_CalculateWeights().

◆ NullBasisSharedPtr

BasisSharedPtr Nektar::LibUtilities::NullBasisSharedPtr
static

Definition at line 350 of file Basis.h.

Referenced by Nektar::MultiRegions::ExpList::v_GetHomogeneousBasis().

◆ NullBasisSharedPtr1DArray

Array<OneD, BasisSharedPtr> Nektar::LibUtilities::NullBasisSharedPtr1DArray
static

Definition at line 351 of file Basis.h.

◆ NullDomainRangeShPtr

DomainRangeShPtr Nektar::LibUtilities::NullDomainRangeShPtr
static

◆ NullFieldMetaDataMap

FieldMetaDataMap Nektar::LibUtilities::NullFieldMetaDataMap
static

◆ NullNekDoubleVector

std::vector<NekDouble> Nektar::LibUtilities::NullNekDoubleVector
staticprivate

Definition at line 989 of file BasicUtils/SharedArray.hpp.

◆ NullPointsTypeVector

std::vector<LibUtilities::PointsType> Nektar::LibUtilities::NullPointsTypeVector
static

Definition at line 102 of file PointsType.h.

◆ NullPtsField

PtsFieldSharedPtr Nektar::LibUtilities::NullPtsField
static

◆ NullPtsInfoMap

std::map<PtsInfo, int> Nektar::LibUtilities::NullPtsInfoMap
static

◆ NullPtsMetaDataMap

PtsMetaDataMap Nektar::LibUtilities::NullPtsMetaDataMap
static

Definition at line 57 of file PtsIO.h.

◆ NullUnsignedIntVector

std::vector<unsigned int> Nektar::LibUtilities::NullUnsignedIntVector
staticprivate

Definition at line 990 of file BasicUtils/SharedArray.hpp.

◆ NullVectorNekDoubleVector

std::vector<std::vector<NekDouble> > Nektar::LibUtilities::NullVectorNekDoubleVector
staticprivate

◆ perm12A_3d

const size_t Nektar::LibUtilities::perm12A_3d[12][4]
static
Initial value:
= {
{0, 1, 2, 3}, {0, 1, 3, 2}, {0, 2, 1, 3}, {0, 2, 3, 1},
{0, 3, 1, 2}, {0, 3, 2, 1}, {2, 0, 1, 3}, {2, 0, 3, 1},
{2, 3, 0, 1}, {3, 0, 1, 2}, {3, 0, 2, 1}, {3, 2, 0, 1}}

Definition at line 45 of file NodalTetElecData.h.

45 {
46 {0, 1, 2, 3}, {0, 1, 3, 2}, {0, 2, 1, 3}, {0, 2, 3, 1},
47 {0, 3, 1, 2}, {0, 3, 2, 1}, {2, 0, 1, 3}, {2, 0, 3, 1},
48 {2, 3, 0, 1}, {3, 0, 1, 2}, {3, 0, 2, 1}, {3, 2, 0, 1}}; // Works for aabc

Referenced by Nektar::LibUtilities::NodalTetElec::v_CalculatePoints().

◆ perm12B_3d

const size_t Nektar::LibUtilities::perm12B_3d[12][4]
static
Initial value:
= {
{0, 1, 2, 3}, {0, 2, 1, 3}, {0, 2, 3, 1}, {1, 0, 2, 3},
{1, 2, 0, 3}, {1, 2, 3, 0}, {2, 0, 1, 3}, {2, 0, 3, 1},
{2, 1, 0, 3}, {2, 1, 3, 0}, {2, 3, 0, 1}, {2, 3, 1, 0}}

Definition at line 49 of file NodalTetElecData.h.

49 {
50 {0, 1, 2, 3}, {0, 2, 1, 3}, {0, 2, 3, 1}, {1, 0, 2, 3},
51 {1, 2, 0, 3}, {1, 2, 3, 0}, {2, 0, 1, 3}, {2, 0, 3, 1},
52 {2, 1, 0, 3}, {2, 1, 3, 0}, {2, 3, 0, 1}, {2, 3, 1, 0}}; // Works for abcc

Referenced by Nektar::LibUtilities::NodalTetElec::v_CalculatePoints().

◆ perm12C_3d

const size_t Nektar::LibUtilities::perm12C_3d[12][4]
static
Initial value:
= {
{0, 1, 2, 3}, {0, 1, 3, 2}, {0, 3, 1, 2}, {1, 0, 2, 3},
{1, 0, 3, 2}, {1, 2, 0, 3}, {1, 2, 3, 0}, {1, 3, 0, 2},
{1, 3, 2, 0}, {3, 0, 1, 2}, {3, 1, 0, 2}, {3, 1, 2, 0}}

Definition at line 53 of file NodalTetElecData.h.

53 {
54 {0, 1, 2, 3}, {0, 1, 3, 2}, {0, 3, 1, 2}, {1, 0, 2, 3},
55 {1, 0, 3, 2}, {1, 2, 0, 3}, {1, 2, 3, 0}, {1, 3, 0, 2},
56 {1, 3, 2, 0}, {3, 0, 1, 2}, {3, 1, 0, 2}, {3, 1, 2, 0}}; // Works for abbc

Referenced by Nektar::LibUtilities::NodalTetElec::v_CalculatePoints().

◆ perm24_3d

const size_t Nektar::LibUtilities::perm24_3d[24][4]
static
Initial value:
= {
{0, 1, 2, 3}, {0, 1, 3, 2}, {0, 2, 1, 3}, {0, 2, 3, 1}, {0, 3, 1, 2},
{0, 3, 2, 1}, {1, 0, 2, 3}, {1, 0, 3, 2}, {1, 2, 0, 3}, {1, 2, 3, 0},
{1, 3, 0, 2}, {1, 3, 2, 0}, {2, 0, 1, 3}, {2, 0, 3, 1}, {2, 1, 0, 3},
{2, 1, 3, 0}, {2, 3, 0, 1}, {2, 3, 1, 0}, {3, 0, 1, 2}, {3, 0, 2, 1},
{3, 1, 0, 2}, {3, 1, 2, 0}, {3, 2, 0, 1}, {3, 2, 1, 0}}

Definition at line 58 of file NodalTetElecData.h.

58 {
59 {0, 1, 2, 3}, {0, 1, 3, 2}, {0, 2, 1, 3}, {0, 2, 3, 1}, {0, 3, 1, 2},
60 {0, 3, 2, 1}, {1, 0, 2, 3}, {1, 0, 3, 2}, {1, 2, 0, 3}, {1, 2, 3, 0},
61 {1, 3, 0, 2}, {1, 3, 2, 0}, {2, 0, 1, 3}, {2, 0, 3, 1}, {2, 1, 0, 3},
62 {2, 1, 3, 0}, {2, 3, 0, 1}, {2, 3, 1, 0}, {3, 0, 1, 2}, {3, 0, 2, 1},
63 {3, 1, 0, 2}, {3, 1, 2, 0}, {3, 2, 0, 1}, {3, 2, 1, 0}}; // Works for abcd

Referenced by Nektar::LibUtilities::NodalTetElec::v_CalculatePoints().

◆ perm3A_2d [1/2]

const size_t Nektar::LibUtilities::perm3A_2d[3][3]
static
Initial value:
= {
{0, 1, 2}, {2, 0, 1}, {0, 2, 1}}

Definition at line 37 of file NodalTriElecData.h.

37 {
38 {0, 1, 2}, {2, 0, 1}, {0, 2, 1}}; // Works for aab

Referenced by Nektar::LibUtilities::NodalTriElec::v_CalculatePoints(), and Nektar::LibUtilities::NodalTriFekete::v_CalculatePoints().

◆ perm3A_2d [2/2]

const size_t Nektar::LibUtilities::perm3A_2d[3][3]
static
Initial value:
= {
{0, 1, 2}, {2, 0, 1}, {0, 2, 1}}

Definition at line 37 of file NodalTriFeketeData.h.

37 {
38 {0, 1, 2}, {2, 0, 1}, {0, 2, 1}}; // Works for aab

◆ perm3B_2d [1/2]

const size_t Nektar::LibUtilities::perm3B_2d[3][3]
static
Initial value:
= {
{0, 1, 2}, {1, 0, 2}, {1, 2, 0}}

Definition at line 39 of file NodalTriElecData.h.

39 {
40 {0, 1, 2}, {1, 0, 2}, {1, 2, 0}}; // Works for abb

Referenced by Nektar::LibUtilities::NodalTriElec::v_CalculatePoints(), and Nektar::LibUtilities::NodalTriFekete::v_CalculatePoints().

◆ perm3B_2d [2/2]

const size_t Nektar::LibUtilities::perm3B_2d[3][3]
static
Initial value:
= {
{0, 1, 2}, {1, 0, 2}, {1, 2, 0}}

Definition at line 39 of file NodalTriFeketeData.h.

39 {
40 {0, 1, 2}, {1, 0, 2}, {1, 2, 0}}; // Works for abb

◆ perm3C_2d

const size_t Nektar::LibUtilities::perm3C_2d[3][3]
static
Initial value:
= {
{0, 1, 2}, {2, 0, 1}, {1, 2, 0}}

Definition at line 41 of file NodalTriFeketeData.h.

41 {
42 {0, 1, 2}, {2, 0, 1}, {1, 2, 0}}; // Works for aab and abb

◆ perm4_3d

const size_t Nektar::LibUtilities::perm4_3d[4][4]
static
Initial value:
= {{0, 1, 2, 3},
{3, 0, 1, 2},
{2, 3, 0, 1},
{1, 2, 3, 0}}

Definition at line 37 of file NodalTetElecData.h.

37 {{0, 1, 2, 3},
38 {3, 0, 1, 2},
39 {2, 3, 0, 1},
40 {1, 2, 3, 0}}; // Works for abbb or aaab

Referenced by Nektar::LibUtilities::NodalTetElec::v_CalculatePoints().

◆ perm6_2d [1/2]

const size_t Nektar::LibUtilities::perm6_2d[6][3]
static
Initial value:
= {
{0, 1, 2}, {1, 0, 2}, {2, 0, 1},
{2, 1, 0}, {0, 2, 1}, {1, 2, 0}}

Definition at line 41 of file NodalTriElecData.h.

41 {
42 {0, 1, 2}, {1, 0, 2}, {2, 0, 1}, // Works for abc
43 {2, 1, 0}, {0, 2, 1}, {1, 2, 0}};

Referenced by Nektar::LibUtilities::NodalTriElec::v_CalculatePoints(), and Nektar::LibUtilities::NodalTriFekete::v_CalculatePoints().

◆ perm6_2d [2/2]

const size_t Nektar::LibUtilities::perm6_2d[6][3]
static
Initial value:
= {{0, 1, 2}, {1, 0, 2},
{2, 0, 1}, {2, 1, 0},
{0, 2, 1}, {1, 2, 0}}

Definition at line 43 of file NodalTriFeketeData.h.

43 {{0, 1, 2}, {1, 0, 2},
44 {2, 0, 1}, {2, 1, 0},
45 {0, 2, 1}, {1, 2, 0}}; // Works for abc

◆ perm6_3d

const size_t Nektar::LibUtilities::perm6_3d[6][4]
static
Initial value:
= {
{0, 1, 2, 3}, {0, 2, 1, 3}, {0, 2, 3, 1},
{2, 0, 1, 3}, {2, 0, 3, 1}, {2, 3, 0, 1}}

Definition at line 41 of file NodalTetElecData.h.

41 {
42 {0, 1, 2, 3}, {0, 2, 1, 3}, {0, 2, 3, 1},
43 {2, 0, 1, 3}, {2, 0, 3, 1}, {2, 3, 0, 1}}; // Works for aabb

Referenced by Nektar::LibUtilities::NodalTetElec::v_CalculatePoints().

◆ ReduceOperatorMap

const char* const Nektar::LibUtilities::ReduceOperatorMap[] = {"ReduceSum", "ReduceMax", "ReduceMin"}

Definition at line 72 of file Comm.h.

72{"ReduceSum", "ReduceMax", "ReduceMin"};

Referenced by export_Comm().

◆ ShapeTypeDimMap

constexpr unsigned int Nektar::LibUtilities::ShapeTypeDimMap[SIZE_ShapeType]
constexpr
Initial value:
= {
0,
0,
1,
2,
2,
3,
3,
3,
3,
}

Definition at line 81 of file ShapeType.hpp.

81 {
82 0, // Unknown
83 0, // ePoint
84 1, // eSegment
85 2, // eTriangle
86 2, // eQuadrilateral
87 3, // eTetrahedron
88 3, // ePyramid
89 3, // ePrism
90 3, // eHexahedron
91};

Referenced by Nektar::LocalRegions::GetTraceQuadRange(), Nektar::StdRegions::operator<<(), and Nektar::Collections::CollectionOptimisation::ReadCollOps().

◆ ShapeTypeMap

const char* const Nektar::LibUtilities::ShapeTypeMap[SIZE_ShapeType]