49 #ifndef INTREPID_CUBATURE_LINESORTED_HPP 
   50 #define INTREPID_CUBATURE_LINESORTED_HPP 
   52 #include "Intrepid_ConfigDefs.hpp" 
   55 #include "Teuchos_Assert.hpp" 
   56 #include "Teuchos_Array.hpp" 
   61 enum EIntrepidGrowth {
 
   88 template<
class Scalar, 
class ArrayPo
int = FieldContainer<Scalar>, 
class ArrayWeight = ArrayPo
int> 
 
  127   CubatureLineSorted(
int degree = 0, EIntrepidBurkardt rule = BURK_CLENSHAWCURTIS, 
bool isNormalized = 
false);
 
  133   CubatureLineSorted(EIntrepidBurkardt rule = BURK_CLENSHAWCURTIS, 
int numPoints = 0, 
bool isNormalized = 
false);
 
  145                    ArrayWeight & cubWeights) 
const;
 
  155                    ArrayWeight& cubWeights,
 
  156                    ArrayPoint& cellCoords) 
const;
 
  165   void getAccuracy(std::vector<int> & accuracy) 
const;
 
  177   Scalar 
getNode(
typename std::map<Scalar,int>::iterator it);
 
  189   typename std::map<Scalar,int>::iterator 
begin(
void);
 
  193   typename std::map<Scalar,int>::iterator 
end(
void);
 
  201 int growthRule1D(
int index, EIntrepidGrowth growth, EIntrepidBurkardt rule);
 
CubatureLineSorted(int degree=0, EIntrepidBurkardt rule=BURK_CLENSHAWCURTIS, bool isNormalized=false)
Constructor. 
Utilizes cubature (integration) rules contained in the library sandia_rules (John Burkardt...
std::map< Scalar, int >::iterator begin(void)
Initiate iterator at the beginning of data. 
void update(Scalar alpha2, CubatureLineSorted< Scalar > &cubRule2, Scalar alpha1)
Replace CubatureLineSorted values with "this = alpha1*this+alpha2*cubRule2". 
EIntrepidBurkardt rule_type_
Type of integration points. 
Header file for utility class to provide multidimensional containers. 
std::vector< Scalar > weights_
Contains points of this cubature rule. 
void getAccuracy(std::vector< int > &accuracy) const 
Returns max. degree of polynomials that are integrated exactly. The return vector has size 1...
void getCubature(ArrayPoint &cubPoints, ArrayWeight &cubWeights) const 
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated). 
Header file for integration rules provided by John Burkardt. <> 
static const char * cubature_name_
Cubature name. 
int getNumPoints() const 
Returns the number of cubature points. 
int getDimension() const 
Returns dimension of domain of integration. 
Defines the base class for cubature (integration) rules in Intrepid. 
Scalar getNode(typename std::map< Scalar, int >::iterator it)
Get a specific node described by the iterator location. 
const char * getName() const 
Returns cubature name. 
Definition file for the Intrepid::CubatureLineSorted class. 
std::map< Scalar, int > points_
Contains points of this cubature rule. 
Header file for the Intrepid::Cubature class. 
int numPoints_
Contains the number of nodes for this cubature rule. 
int degree_
The degree of polynomials that are integrated exactly by this cubature rule. 
Scalar getWeight(int weight)
Get a specific weight described by the integer location. 
std::map< Scalar, int >::iterator end(void)
Initiate iterator at the end of data.