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.