Intrepid
Classes | Macros | Enumerations | Functions | Variables
Intrepid_Types.hpp File Reference

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

#include <Teuchos_ScalarTraits.hpp>

Go to the source code of this file.

Classes

struct  Intrepid::CubatureTemplate
 Template for the cubature rules used by Intrepid. Cubature template consists of cubature points and cubature weights. Intrepid provides a collection of cubature templates for most standard cell topologies. The templates are defined in reference coordinates using a standard reference cell for each canonical cell type. Cubature points are always specified by a triple of (X,Y,Z) coordinates even if the cell dimension is less than 3. The unused dimensions should be padded by zeroes. More...
 

Macros

#define INTREPID_VALIDATE(A)   /* empty */
 
#define INTREPID_MAX_ORDER   10
 The maximum reconstruction order.
 
#define INTREPID_MAX_INTEGRATION_POINTS   1001
 The maximum number of integration points for direct cubature rules.
 
#define INTREPID_MAX_CUBATURE_DEGREE_EDGE   61
 The maximum degree of the polynomial that can be integrated exactly by a direct edge rule.
 
#define INTREPID_MAX_CUBATURE_DEGREE_TRI   20
 The maximum degree of the polynomial that can be integrated exactly by a direct triangle rule.
 
#define INTREPID_MAX_CUBATURE_DEGREE_TET   20
 The maximum degree of the polynomial that can be integrated exactly by a direct tetrahedron rule.
 
#define INTREPID_MAX_CUBATURE_DEGREE_PYR   11
 The maximum degree of the polynomial that can be integrated exactly by a direct pyramid rule.
 
#define INTREPID_MAX_DIMENSION   3
 The maximum ambient space dimension.
 
#define INTREPID_MAX_NEWTON   15
 Maximum number of Newton iterations used internally in methods such as computing the action of the inverse reference to physical cell map.
 
#define INTREPID_MAX_DERIVATIVE   10
 Maximum order of derivatives allowed in intrepid.
 

Enumerations

enum  ECoordinates {
  COORDINATES_CARTESIAN =0, COORDINATES_POLAR, COORDINATES_CYLINDRICAL, COORDINATES_SPHERICAL,
  COORDINATES_MAX
}
 Enumeration of coordinate systems for geometrical entities (cells, points).
 
enum  ENorm {
  NORM_ONE = 0, NORM_TWO, NORM_INF, NORM_FRO,
  NORM_MAX
}
 Enumeration of norm types for vectors and functions.
 
enum  EOperator : int {
  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_MAX
}
 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, FUNCTION_SPACE_HDIV, FUNCTION_SPACE_HVOL,
  FUNCTION_SPACE_VECTOR_HGRAD, FUNCTION_SPACE_TENSOR_HGRAD, FUNCTION_SPACE_MAX
}
 
enum  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  EPointType { POINTTYPE_EQUISPACED = 0, POINTTYPE_SPECTRAL, POINTTYPE_SPECTRAL_OPEN, POINTTYPE_WARPBLEND }
 Enumeration of types of point distributions in Intrepid.
 
enum  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.
 
enum  ECompEngine { COMP_CPP = 0, COMP_BLAS, COMP_ENGINE_MAX }
 Specifies how operators and functionals are computed internally (COMP_MANUAL = native C++ implementation, COMP_BLAS = BLAS implementation, etc.).
 

Functions

std::string Intrepid::ECoordinatesToString (ECoordinates coords)
 
int Intrepid::isValidCoordinate (ECoordinates coordinateType)
 Verifies validity of a Coordinate enum. More...
 
std::string Intrepid::ENormToString (ENorm norm)
 
int Intrepid::isValidNorm (ENorm normType)
 Verifies validity of a Norm enum. More...
 
std::string Intrepid::EOperatorToString (EOperator op)
 
EOperator & Intrepid::operator++ (EOperator &type)
 
EOperator Intrepid::operator++ (EOperator &type, int)
 
EOperator & Intrepid::operator-- (EOperator &type)
 
EOperator Intrepid::operator-- (EOperator &type, int)
 
int Intrepid::isValidOperator (const EOperator operatorType)
 Verifies validity of an operator enum. More...
 
std::string Intrepid::EFunctionSpaceToString (EFunctionSpace space)
 
int Intrepid::isValidFunctionSpace (const EFunctionSpace spaceType)
 Verifies validity of a function space enum. More...
 
std::string Intrepid::EDiscreteSpaceToString (EDiscreteSpace space)
 
int Intrepid::isValidDiscreteSpace (const EDiscreteSpace spaceType)
 Verifies validity of a discrete space enum. More...
 
std::string Intrepid::EPointTypeToString (EPointType pointType)
 
int Intrepid::isValidPointType (const EPointType pointType)
 Verifies validity of a point type enum. More...
 
std::string Intrepid::EBasisToString (EBasis basis)
 
int Intrepid::isValidBasis (const EBasis basisType)
 Verifies validity of a basis enum. More...
 
std::string Intrepid::ECompEngineToString (ECompEngine cEngine)
 
ECompEngine & Intrepid::operator++ (ECompEngine &type)
 
ECompEngine Intrepid::operator++ (ECompEngine &type, int)
 
ECompEngine & Intrepid::operator-- (ECompEngine &type)
 
ECompEngine Intrepid::operator-- (ECompEngine &type, int)
 
int Intrepid::isValidCompEngine (const ECompEngine compEngType)
 Verifies validity of a computational engine enum. More...
 

Variables

static const double Intrepid::INTREPID_EPSILON = std::abs(Teuchos::ScalarTraits<double>::eps())
 Platform-dependent machine epsilon.
 
static const double Intrepid::INTREPID_THRESHOLD = 10.0 * INTREPID_EPSILON
 Tolerance for various cell inclusion tests.
 
static const double Intrepid::INTREPID_TOL = 10.0* INTREPID_THRESHOLD
 General purpose tolerance in, e.g., internal Newton's method to invert ref to phys maps.
 

Detailed Description

Contains definitions of custom data types in Intrepid.

Author
Created by P. Bochev and D. Ridzal.

Definition in file Intrepid_Types.hpp.