49 #ifndef INTREPID_CUBATURE_TENSORSORTED_HPP 
   50 #define INTREPID_CUBATURE_TENSORSORTED_HPP 
   89 template<
class Scalar, 
class ArrayPo
int = FieldContainer<Scalar>, 
class ArrayWeight = ArrayPo
int>
 
   95   typename std::map<std::vector<Scalar>,
int> 
points_; 
 
  135   CubatureTensorSorted(
int dimension, std::vector<int> numPoints1D, std::vector<EIntrepidBurkardt> rule1D, 
bool isNormalized);
 
  144   CubatureTensorSorted(
int dimension, std::vector<int> numPoints1D, std::vector<EIntrepidBurkardt> rule1D, std::vector<EIntrepidGrowth> growth1D, 
bool isNormalized);
 
  154   CubatureTensorSorted(
int dimension, 
int maxNumPoints, std::vector<EIntrepidBurkardt> rule1D, std::vector<EIntrepidGrowth> growth1D, 
bool isNormalized);
 
  164                    ArrayWeight & cubWeights) 
const;
 
  174                    ArrayWeight& cubWeights,
 
  175                    ArrayPoint& cellCoords) 
const;
 
  184   void getAccuracy(std::vector<int> & accuracy) 
const;
 
  192   typename std::map<std::vector<Scalar>,
int>::iterator 
begin();
 
  196   typename std::map<std::vector<Scalar>,
int>::iterator 
end();
 
  200   void insert(
typename std::map<std::vector<Scalar>,
int>::iterator it,        
 
  201               std::vector<Scalar> point, Scalar weight);
 
  205   std::vector<Scalar> 
getNode(
typename std::map<std::vector<Scalar>,
int>::iterator it);
 
  213   Scalar 
getWeight(std::vector<Scalar> point);
 
  226 template<
class Scalar>
 
  227 CubatureTensorSorted<Scalar> kron_prod(CubatureTensorSorted<Scalar> & rule1,
 
  228                                        CubatureLineSorted<Scalar>   & rule2 );
 
int getNumPoints() const 
Returns the number of cubature points. 
void normalize()
Normalize CubatureLineSorted weights. 
std::map< std::vector< Scalar >, int >::iterator begin()
Initiate iterator at the beginning of data. 
Utilizes cubature (integration) rules contained in the library sandia_rules (John Burkardt...
Scalar getWeight(int node)
Get a specific weight described by the integer location. 
std::vector< Scalar > getNode(typename std::map< std::vector< Scalar >, int >::iterator it)
Get a specific node described by the iterator location. 
void update(Scalar alpha2, CubatureTensorSorted< Scalar > &cubRule2, Scalar alpha1)
Replace CubatureLineSorted values with "this = alpha1*this+alpha2*cubRule2". 
Header file for the Intrepid::CubatureLineSorted class. 
std::vector< int > degree_
The degree of polynomials that are integrated exactly by this cubature rule. 
int dimension_
Dimension of integration domain. 
Definition file for the Intrepid::CubatureTensorSorted class. 
void insert(typename std::map< std::vector< Scalar >, int >::iterator it, std::vector< Scalar > point, Scalar weight)
Insert a node and weight into data near the iterator position. 
Defines the base class for cubature (integration) rules in Intrepid. 
int getDimension() const 
Returns dimension of domain of integration. 
std::map< std::vector< Scalar >, int > points_
Contains nodes 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...
Utilizes 1D cubature (integration) rules contained in the library sandia_rules (John Burkardt...
void getCubature(ArrayPoint &cubPoints, ArrayWeight &cubWeights) const 
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated). 
std::map< std::vector< Scalar >, int >::iterator end()
Initiate iterator at the end of data. 
int numPoints_
Contains the number of nodes for this cubature rule. 
std::vector< Scalar > weights_
Contains weights of this cubature rule.