Intrepid
Enumerations | Functions
Intrepid_Utils.hpp File Reference

Intrepid utilities. More...

#include "Intrepid_ConfigDefs.hpp"
#include "Intrepid_Types.hpp"
#include "Teuchos_Array.hpp"
#include "Teuchos_oblackholestream.hpp"
#include "Teuchos_RCP.hpp"
#include "Intrepid_KokkosRank.hpp"

Go to the source code of this file.

Enumerations

enum  TypeOfExactData { INTREPID_UTILS_FRACTION =0, INTREPID_UTILS_SCALAR }
 

Functions

int Intrepid::getFieldRank (const EFunctionSpace spaceType)
 Returns the rank of fields in a function space of the specified type. More...
 
int Intrepid::getOperatorRank (const EFunctionSpace spaceType, const EOperator operatorType, const int spaceDim)
 Returns rank of an operator. More...
 
int Intrepid::getOperatorOrder (const EOperator operatorType)
 Returns order of an operator. More...
 
int Intrepid::getDkEnumeration (const int xMult, const int yMult=-1, const int zMult=-1)
 Returns the ordinal of a partial derivative of order k based on the multiplicities of the partials dx, dy, and dz. More...
 
void Intrepid::getDkMultiplicities (Teuchos::Array< int > &partialMult, const int derivativeEnum, const EOperator operatorType, const int spaceDim)
 Returns multiplicities of dx, dy, and dz based on the enumeration of the partial derivative, its order and the space dimension. Inverse of the getDkEnumeration() method. More...
 
int Intrepid::getDkCardinality (const EOperator operatorType, const int spaceDim)
 Returns cardinality of Dk, i.e., the number of all derivatives of order k. More...
 
void Intrepid::setOrdinalTagData (std::vector< std::vector< std::vector< int > > > &tagToOrdinal, std::vector< std::vector< int > > &ordinalToTag, const int *tags, const int basisCard, const int tagSize, const int posScDim, const int posScOrd, const int posDfOrd)
 Fills ordinalToTag_ and tagToOrdinal_ by basis-specific tag data. More...
 
template<class Scalar >
int Intrepid::compareToAnalytic (const Teuchos::Array< Teuchos::Array< Scalar > > testMat, std::ifstream &inputFile, Scalar reltol, int iprint, TypeOfExactData analyticDataType=INTREPID_UTILS_FRACTION)
 Compares the values in the test matrix testMat to precomputed analytic values stored in a file, where the input matrix is an array of arrays. More...
 
template<class Scalar >
int Intrepid::compareToAnalytic (const Scalar *testMat, std::ifstream &inputFile, Scalar reltol, int iprint, TypeOfExactData analyticDataType=INTREPID_UTILS_FRACTION)
 Compares the values in the test matrix testMat to precomputed analytic values stored in a file, where the input matrix is a single contiguous array. More...
 
template<class Scalar >
void Intrepid::getAnalytic (Teuchos::Array< Teuchos::Array< Scalar > > &testMat, std::ifstream &inputFile, TypeOfExactData analyticDataType=INTREPID_UTILS_FRACTION)
 Loads analytic values stored in a file into the matrix testMat, where the output matrix is an array of arrays. More...
 
template<class Scalar >
void Intrepid::getAnalytic (Scalar *testMat, std::ifstream &inputFile, TypeOfExactData analyticDataType=INTREPID_UTILS_FRACTION)
 Loads analytic values stored in a file into the matrix testMat, where the output matrix is a single contiguous array. More...
 
template<class Array >
bool Intrepid::requireRankRange (std::string &errmsg, const Array &array, const int lowerBound, const int upperBound)
 Checks if the rank of the array argument is in the required range. More...
 
template<class Array1 , class Array2 >
bool Intrepid::requireRankMatch (std::string &errmsg, const Array1 &array1, const Array2 &array2)
 Checks if two arrays have matching ranks. More...
 
template<class Array >
bool Intrepid::requireDimensionRange (std::string &errmsg, const Array &array, const int dim, const int lowerBound, const int upperBound)
 Checks if the specified array dimension is in the required range. More...
 
template<class Array1 , class Array2 >
bool Intrepid::requireDimensionMatch (std::string &errmsg, const Array1 &array1, const int a1_dim0, const Array2 &array2, const int a2_dim0)
 Checks arrays for a single matching dimension. More...
 
template<class Array1 , class Array2 >
bool Intrepid::requireDimensionMatch (std::string &errmsg, const Array1 &array1, const int a1_dim0, const int a1_dim1, const Array2 &array2, const int a2_dim0, const int a2_dim1)
 Checks arrays for two matching dimensions. More...
 
template<class Array1 , class Array2 >
bool Intrepid::requireDimensionMatch (std::string &errmsg, const Array1 &array1, const int a1_dim0, const int a1_dim1, const int a1_dim2, const Array2 &array2, const int a2_dim0, const int a2_dim1, const int a2_dim2)
 Checks arrays for three matching dimensions. More...
 
template<class Array1 , class Array2 >
bool Intrepid::requireDimensionMatch (std::string &errmsg, const Array1 &array1, const int a1_dim0, const int a1_dim1, const int a1_dim2, const int a1_dim3, const Array2 &array2, const int a2_dim0, const int a2_dim1, const int a2_dim2, const int a2_dim3)
 Checks arrays for four matching dimensions. More...
 
template<class Array1 , class Array2 >
bool Intrepid::requireDimensionMatch (std::string &errmsg, const Array1 &array1, const int a1_dim0, const int a1_dim1, const int a1_dim2, const int a1_dim3, const int a1_dim4, const Array2 &array2, const int a2_dim0, const int a2_dim1, const int a2_dim2, const int a2_dim3, const int a2_dim4)
 Checks arrays for five matching dimensions. More...
 
template<class Array1 , class Array2 >
bool Intrepid::requireDimensionMatch (std::string &errmsg, const Array1 &array1, const Array2 &array2)
 Checks arrays for all their dimensions match. Arrays with equal ranks required. More...
 

Detailed Description

Intrepid utilities.

Author
Created by P. Bochev and D. Ridzal.

Definition in file Intrepid_Utils.hpp.