49 #ifndef __INTREPID2_CUBATURE_TENSOR_HPP__ 
   50 #define __INTREPID2_CUBATURE_TENSOR_HPP__ 
   52 #include "Intrepid2_ConfigDefs.hpp" 
   61   template<
typename ExecSpaceType = void,
 
   62            typename pointValueType = double,
 
   63            typename weightValueType = 
double>
 
   65     : 
public Cubature<ExecSpaceType,pointValueType,weightValueType> {
 
   80     template<
typename cubPointValueType,  
class ...cubPointProperties,
 
   81              typename cubWeightValueType, 
class ...cubWeightProperties>
 
   83     getCubatureImpl( Kokkos::DynRankView<cubPointValueType, cubPointProperties...>  cubPoints,
 
   84                      Kokkos::DynRankView<cubWeightValueType,cubWeightProperties...> cubWeights ) 
const;
 
   86     typedef typename Cubature<ExecSpaceType,pointValueType,weightValueType>::PointViewType  PointViewType;
 
   87     typedef typename Cubature<ExecSpaceType,pointValueType,weightValueType>::weightViewType weightViewType;
 
   94                  weightViewType cubWeights )
 const {
 
   95       getCubatureImpl( cubPoints,
 
  104       ordinal_type numCubPoints = 1;
 
  123       return "CubatureTensor";
 
  129       ordinal_type r_val = 0;
 
  152     CubatureTensor(
const CubatureTensor &b)
 
  156         cubatures_[i] = b.cubatures_[i];
 
  164     template<
typename CubatureType0,
 
  165              typename CubatureType1>
 
  167                     const CubatureType1 cubature1 )
 
  170       cubatures_[0] = cubature0;
 
  171       cubatures_[1] = cubature1;
 
  180     template<
typename CubatureType0,
 
  181              typename CubatureType1,
 
  182              typename CubatureType2>
 
  184                     const CubatureType1 cubature1,
 
  185                     const CubatureType2 cubature2 ) 
 
  188       cubatures_[0] = cubature0;
 
  189       cubatures_[1] = cubature1;
 
  190       cubatures_[2] = cubature2;
 
ordinal_type numCubatures_
Array of cubature rules. 
 
virtual ordinal_type getAccuracy() const 
Returns dimension of the integration domain. 
 
Defines the base class for cubature (integration) rules in Intrepid. 
 
static constexpr ordinal_type MaxDimension
The maximum ambient space dimension. 
 
ordinal_type getNumCubatures() const 
Return the number of cubatures. 
 
CubatureTensor(const CubatureType0 cubature0, const CubatureType1 cubature1)
Constructor. 
 
void getAccuracy(ordinal_type *accuracy) const 
Returns max. degree of polynomials that are integrated exactly. 
 
Defines tensor-product cubature (integration) rules in Intrepid. 
 
virtual ordinal_type getNumPoints() const 
Returns the number of cubature points. 
 
ordinal_type dimension_
Dimension of integration domain. 
 
virtual const char * getName() const 
Returns cubature name. 
 
Header file for the Intrepid2::Cubature class. 
 
virtual ordinal_type getDimension() const 
Returns dimension of integration domain. 
 
CubatureTensor(const CubatureType0 cubature0, const CubatureType1 cubature1, const CubatureType2 cubature2)
Constructor. 
 
Definition file for the Intrepid2::CubatureTensor class. 
 
Defines direct cubature (integration) rules in Intrepid. 
 
virtual void getCubature(PointViewType cubPoints, weightViewType cubWeights) const 
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated). 
 
Header file for the Intrepid2::CubatureDirect class.