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.
Defines the base class for cubature (integration) rules in Intrepid.
static constexpr ordinal_type MaxDimension
The maximum ambient space dimension.
virtual ordinal_type getAccuracy() const
Returns dimension of the integration domain.
virtual ordinal_type getNumPoints() const
Returns the number of cubature points.
virtual ordinal_type getDimension() const
Returns dimension of integration domain.
CubatureTensor(const CubatureType0 cubature0, const CubatureType1 cubature1)
Constructor.
virtual void getCubature(pointViewType cubPoints, weightViewType cubWeights) const
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated).
Defines tensor-product cubature (integration) rules in Intrepid.
ordinal_type dimension_
Dimension of integration domain.
ordinal_type getNumCubatures() const
Return the number of cubatures.
Header file for the Intrepid2::Cubature class.
void getAccuracy(ordinal_type *accuracy) const
Returns max. degree of polynomials that are integrated exactly.
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.
Header file for the Intrepid2::CubatureDirect class.
virtual const char * getName() const
Returns cubature name.