Intrepid2
Classes | Typedefs | Enumerations | Functions
Intrepid2_Types.hpp File Reference

Contains definitions of custom data types in Intrepid2. More...

#include <Kokkos_Core.hpp>
#include <Kokkos_DynRankView.hpp>
#include <stdexcept>

Go to the source code of this file.

Classes

class  Intrepid2::Parameters
 Define constants. More...
 

Typedefs

typedef int Intrepid2::ordinal_type
 
typedef size_t Intrepid2::size_type
 

Enumerations

enum  EPolyType {
  POLYTYPE_GAUSS =0, POLYTYPE_GAUSS_RADAU_LEFT, POLYTYPE_GAUSS_RADAU_RIGHT, POLYTYPE_GAUSS_LOBATTO,
  POLYTYPE_MAX
}
 
enum  Intrepid2::ECoordinates {
  COORDINATES_CARTESIAN =0, COORDINATES_POLAR, COORDINATES_CYLINDRICAL, COORDINATES_SPHERICAL,
  COORDINATES_MAX
}
 Enumeration of coordinate systems for geometrical entities (cells, points).
 
enum  Intrepid2::ENorm {
  NORM_ONE = 0, NORM_TWO, NORM_INF, NORM_FRO,
  NORM_MAX
}
 Enumeration of norm types for vectors and functions.
 
enum  Intrepid2::EOperator {
  OPERATOR_VALUE = 0, OPERATOR_GRAD, OPERATOR_CURL, OPERATOR_DIV,
  OPERATOR_D1, OPERATOR_D2, OPERATOR_D3, OPERATOR_D4,
  OPERATOR_D5, OPERATOR_D6, OPERATOR_D7, OPERATOR_D8,
  OPERATOR_D9, OPERATOR_D10, OPERATOR_Dn, OPERATOR_MAX = OPERATOR_Dn
}
 Enumeration of primitive operators available in Intrepid. Primitive operators act on reconstructed functions or basis functions. Pairs of primitive operators are used to specify what kind of local weak operator should be constructed.
 
enum  EFunctionSpace {
  FUNCTION_SPACE_HGRAD = 0, FUNCTION_SPACE_HCURL = 1, FUNCTION_SPACE_HDIV = 2, FUNCTION_SPACE_HVOL = 3,
  FUNCTION_SPACE_VECTOR_HGRAD = 4, FUNCTION_SPACE_TENSOR_HGRAD = 5, FUNCTION_SPACE_MAX
}
 
enum  Intrepid2::EDiscreteSpace { DISCRETE_SPACE_COMPLETE = 0, DISCRETE_SPACE_INCOMPLETE, DISCRETE_SPACE_BROKEN, DISCRETE_SPACE_MAX }
 Enumeration of the discrete spaces used to define bases for function spaces. Intrepid allows up to three basic kinds of discrete spaces for each cell type. More...
 
enum  Intrepid2::EPointType { POINTTYPE_EQUISPACED = 0, POINTTYPE_WARPBLEND, POINTTYPE_GAUSS }
 Enumeration of types of point distributions in Intrepid.
 
enum  Intrepid2::EBasis {
  BASIS_FEM_DEFAULT = 0, BASIS_FEM_HIERARCHICAL, BASIS_FEM_FIAT, BASIS_FVD_DEFAULT,
  BASIS_FVD_COVOLUME, BASIS_FVD_MIMETIC, BASIS_MAX
}
 Enumeration of basis types for discrete spaces in Intrepid.
 

Functions

template<typename ValueType >
KOKKOS_FORCEINLINE_FUNCTION ValueType Intrepid2::epsilon ()
 
template<>
KOKKOS_FORCEINLINE_FUNCTION double Intrepid2::epsilon< double > ()
 
template<>
KOKKOS_FORCEINLINE_FUNCTION float Intrepid2::epsilon< float > ()
 
KOKKOS_FORCEINLINE_FUNCTION double Intrepid2::tolerence ()
 
KOKKOS_FORCEINLINE_FUNCTION double Intrepid2::threshold ()
 
KOKKOS_INLINE_FUNCTION const char * Intrepid2::EPolyTypeToString (const EPolyType polytype)
 
KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidPolyType (const EPolyType polytype)
 Verifies validity of a PolyType enum. More...
 
KOKKOS_INLINE_FUNCTION const char * Intrepid2::ECoordinatesToString (const ECoordinates coords)
 
KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidCoordinate (const ECoordinates coordinateType)
 Verifies validity of a Coordinate enum. More...
 
KOKKOS_INLINE_FUNCTION const char * Intrepid2::ENormToString (const ENorm norm)
 
KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidNorm (const ENorm normType)
 Verifies validity of a Norm enum. More...
 
KOKKOS_INLINE_FUNCTION const char * Intrepid2::EOperatorToString (const EOperator op)
 
KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidOperator (const EOperator operatorType)
 Verifies validity of an operator enum. More...
 
KOKKOS_INLINE_FUNCTION const char * Intrepid2::EFunctionSpaceToString (const EFunctionSpace space)
 
KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidFunctionSpace (const EFunctionSpace spaceType)
 Verifies validity of a function space enum. More...
 
KOKKOS_INLINE_FUNCTION const char * Intrepid2::EDiscreteSpaceToString (const EDiscreteSpace space)
 
KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidDiscreteSpace (const EDiscreteSpace spaceType)
 Verifies validity of a discrete space enum. More...
 
KOKKOS_INLINE_FUNCTION const char * Intrepid2::EPointTypeToString (const EPointType pointType)
 
KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidPointType (const EPointType pointType)
 Verifies validity of a point type enum. More...
 
KOKKOS_INLINE_FUNCTION const char * Intrepid2::EBasisToString (const EBasis basis)
 
KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidBasis (const EBasis basisType)
 Verifies validity of a basis enum. More...
 

Detailed Description

Contains definitions of custom data types in Intrepid2.

Author
Created by P. Bochev and D. Ridzal and Kyungjoo Kim.

Definition in file Intrepid2_Types.hpp.

Enumeration Type Documentation

◆ EDiscreteSpace

Enumeration of the discrete spaces used to define bases for function spaces. Intrepid allows up to three basic kinds of discrete spaces for each cell type.

  • COMPLETE complete polynomial or tensor product space
  • INCOMPLETE incomplete polynomial or tensor product space, such as used in RT elements
  • BROKEN piecewise smooth, with respect to a cell, polynomial space

Definition at line 386 of file Intrepid2_Types.hpp.

Function Documentation

◆ isValidBasis()

KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidBasis ( const EBasis  basisType)

Verifies validity of a basis enum.

Parameters
basisType[in] - enum of the basis
Returns
1 if the argument is valid discrete space; 0 otherwise

Definition at line 479 of file Intrepid2_Types.hpp.

References Intrepid2::isValidBasis().

Referenced by Intrepid2::isValidBasis().

◆ isValidCoordinate()

KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidCoordinate ( const ECoordinates  coordinateType)

Verifies validity of a Coordinate enum.

Parameters
coordinateType[in] - enum of the coordinate system
Returns
1 if the argument is valid coordinate system; 0 otherwise

Definition at line 222 of file Intrepid2_Types.hpp.

References Intrepid2::isValidCoordinate().

Referenced by Intrepid2::isValidCoordinate().

◆ isValidDiscreteSpace()

KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidDiscreteSpace ( const EDiscreteSpace  spaceType)

Verifies validity of a discrete space enum.

Parameters
spaceType[in] - enum of the function space
Returns
1 if the argument is valid discrete space; 0 otherwise

Definition at line 410 of file Intrepid2_Types.hpp.

References Intrepid2::isValidDiscreteSpace().

Referenced by Intrepid2::isValidDiscreteSpace().

◆ isValidFunctionSpace()

KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidFunctionSpace ( const EFunctionSpace  spaceType)

Verifies validity of a function space enum.

Parameters
spaceType[in] - enum of the function space
Returns
1 if the argument is valid function space; 0 otherwise

Definition at line 369 of file Intrepid2_Types.hpp.

References Intrepid2::isValidFunctionSpace().

Referenced by Intrepid2::isValidFunctionSpace().

◆ isValidNorm()

KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidNorm ( const ENorm  normType)

Verifies validity of a Norm enum.

Parameters
normType[in] - enum of the norm
Returns
1 if the argument is valid norm; 0 otherwise

Definition at line 258 of file Intrepid2_Types.hpp.

References Intrepid2::isValidNorm().

Referenced by Intrepid2::isValidNorm().

◆ isValidOperator()

KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidOperator ( const EOperator  operatorType)

Verifies validity of an operator enum.

Parameters
operatorType[in] - enum of the operator
Returns
1 if the argument is valid operator; 0 otherwise

Definition at line 318 of file Intrepid2_Types.hpp.

References Intrepid2::isValidOperator().

Referenced by Intrepid2::isValidOperator().

◆ isValidPointType()

KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidPointType ( const EPointType  pointType)

Verifies validity of a point type enum.

Parameters
pointType[in] - enum of the point type
Returns
1 if the argument is a valid point type; 0 otherwise

Definition at line 440 of file Intrepid2_Types.hpp.

References Intrepid2::isValidPointType().

Referenced by Intrepid2::isValidPointType().

◆ isValidPolyType()

KOKKOS_FORCEINLINE_FUNCTION bool Intrepid2::isValidPolyType ( const EPolyType  polytype)

Verifies validity of a PolyType enum.

Parameters
polytype[in] - enum of the coordinate system
Returns
1 if the argument is valid poly type; 0 otherwise

Definition at line 185 of file Intrepid2_Types.hpp.

References Intrepid2::isValidPolyType().

Referenced by Intrepid2::isValidPolyType().