|
Intrepid2
|
Defines tensor-product cubature (integration) rules in Intrepid. More...
#include <Intrepid2_CubatureTensor.hpp>
Public Types | |
| using | PointViewType = typename Cubature<DeviceType,pointValueType,weightValueType>::PointViewType |
| using | weightViewType = typename Cubature<DeviceType,pointValueType,weightValueType>::weightViewType |
| using | PointViewTypeAllocatable = typename Cubature<DeviceType,pointValueType,weightValueType>::PointViewTypeAllocatable |
| KK: following should be updated with nate's tensor work. | |
| using | WeightViewTypeAllocatable = typename Cubature<DeviceType,pointValueType,weightValueType>::WeightViewTypeAllocatable |
| using | TensorPointDataType = typename Cubature<DeviceType,pointValueType,weightValueType>::TensorPointDataType |
| using | TensorWeightDataType = typename Cubature<DeviceType,pointValueType,weightValueType>::TensorWeightDataType |
| Public Types inherited from Intrepid2::Cubature< void, double, double > | |
| using | ExecSpaceType |
| using | PointViewType |
| using | weightViewType |
| using | PointViewTypeAllocatable |
| using | WeightViewTypeAllocatable |
| using | TensorPointDataType |
| using | TensorWeightDataType |
Public Member Functions | |
| template<typename cubPointValueType, class ... cubPointProperties, typename cubWeightValueType, class ... cubWeightProperties> | |
| void | getCubatureImpl (Kokkos::DynRankView< cubPointValueType, cubPointProperties... > cubPoints, Kokkos::DynRankView< cubWeightValueType, cubWeightProperties... > cubWeights) const |
| virtual void | getCubature (PointViewType cubPoints, weightViewType cubWeights) const override |
| virtual TensorPointDataType | allocateCubaturePoints () const override |
| Returns a points container appropriate for passing to getCubature(). | |
| virtual TensorWeightDataType | allocateCubatureWeights () const override |
| Returns a weight container appropriate for passing to getCubature(). | |
| virtual void | getCubature (const TensorPointDataType &tensorCubPoints, const TensorWeightDataType &tensorCubWeights) const override |
| Returns tensor cubature points and weights. For non-tensor cubatures, the tensor structures are trivial, thin wrappers around the data returned by getCubature(). The provided containers should be pre-allocated through calls to allocateCubaturePoints() and allocateCubatureWeights(). | |
| virtual ordinal_type | getNumPoints () const override |
| Returns the number of cubature points. | |
| virtual ordinal_type | getDimension () const override |
| Returns dimension of integration domain. | |
| virtual const char * | getName () const override |
| Returns cubature name. | |
| virtual ordinal_type | getAccuracy () const override |
| Returns dimension of the integration domain. | |
| ordinal_type | getNumCubatures () const |
| Return the number of cubatures. | |
| CubatureDirect< DeviceType, pointValueType, weightValueType > | getCubatureComponent (ordinal_type i) const |
| Return the number of cubatures. | |
| void | getAccuracy (ordinal_type *accuracy) const |
| Returns max. degree of polynomials that are integrated exactly. | |
| CubatureTensor (const CubatureTensor &b) | |
| template<typename CubatureType0, typename CubatureType1> | |
| CubatureTensor (const CubatureType0 cubature0, const CubatureType1 cubature1) | |
| Constructor. | |
| template<typename CubatureType0, typename CubatureType1, typename CubatureType2> | |
| CubatureTensor (const CubatureType0 cubature0, const CubatureType1 cubature1, const CubatureType2 cubature2) | |
| Constructor. | |
| template<typename DirectCubature> | |
| CubatureTensor (const CubatureTensor cubatureTensor, const DirectCubature cubatureExtension) | |
| Constructor for extending an existing CubatureTensor object with an additional direct cubature rule. | |
| Public Member Functions inherited from Intrepid2::Cubature< void, double, double > | |
| virtual void | getCubature (PointViewType, weightViewType) const |
| Returns cubature points and weights (return arrays must be pre-sized/pre-allocated). | |
Private Attributes | |
| ordinal_type | numCubatures_ |
| Array of cubature rules. | |
| CubatureDirect< DeviceType, pointValueType, weightValueType > | cubatures_ [Parameters::MaxTensorComponents] |
| ordinal_type | dimension_ |
| Dimension of integration domain. | |
Defines tensor-product cubature (integration) rules in Intrepid.
Definition at line 31 of file Intrepid2_CubatureTensor.hpp.
| using Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >::PointViewType = typename Cubature<DeviceType,pointValueType,weightValueType>::PointViewType |
Definition at line 53 of file Intrepid2_CubatureTensor.hpp.
| using Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >::PointViewTypeAllocatable = typename Cubature<DeviceType,pointValueType,weightValueType>::PointViewTypeAllocatable |
KK: following should be updated with nate's tensor work.
Definition at line 57 of file Intrepid2_CubatureTensor.hpp.
| using Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >::TensorPointDataType = typename Cubature<DeviceType,pointValueType,weightValueType>::TensorPointDataType |
Definition at line 59 of file Intrepid2_CubatureTensor.hpp.
| using Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >::TensorWeightDataType = typename Cubature<DeviceType,pointValueType,weightValueType>::TensorWeightDataType |
Definition at line 60 of file Intrepid2_CubatureTensor.hpp.
| using Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >::weightViewType = typename Cubature<DeviceType,pointValueType,weightValueType>::weightViewType |
Definition at line 54 of file Intrepid2_CubatureTensor.hpp.
| using Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >::WeightViewTypeAllocatable = typename Cubature<DeviceType,pointValueType,weightValueType>::WeightViewTypeAllocatable |
Definition at line 58 of file Intrepid2_CubatureTensor.hpp.
|
inline |
Definition at line 175 of file Intrepid2_CubatureTensor.hpp.
|
inline |
Definition at line 179 of file Intrepid2_CubatureTensor.hpp.
|
inline |
Constructor.
| cubature1 | [in] - First direct cubature rule. |
| cubature2 | [in] - Second direct cubature rule. |
Definition at line 193 of file Intrepid2_CubatureTensor.hpp.
References dimension_, getDimension(), and numCubatures_.
|
inline |
Constructor.
| cubature1 | [in] - First direct cubature rule. |
| cubature2 | [in] - Second direct cubature rule. |
| cubature3 | [in] - Third direct cubature rule. |
Definition at line 210 of file Intrepid2_CubatureTensor.hpp.
References dimension_, getDimension(), and numCubatures_.
|
inline |
Constructor for extending an existing CubatureTensor object with an additional direct cubature rule.
| cubatureTensor | [in] - Existing CubatureTensor object. |
| cubatureExtension | [in] - The direct cubature rule to use to extend in the new dimension. |
Definition at line 226 of file Intrepid2_CubatureTensor.hpp.
References dimension_, getDimension(), getNumCubatures(), and numCubatures_.
|
inlineoverridevirtual |
Returns a points container appropriate for passing to getCubature().
Reimplemented from Intrepid2::Cubature< void, double, double >.
Reimplemented in Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >.
Definition at line 76 of file Intrepid2_CubatureTensor.hpp.
References getDimension(), getNumPoints(), and numCubatures_.
|
inlineoverridevirtual |
Returns a weight container appropriate for passing to getCubature().
Reimplemented from Intrepid2::Cubature< void, double, double >.
Reimplemented in Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >.
Definition at line 92 of file Intrepid2_CubatureTensor.hpp.
References getNumPoints(), and numCubatures_.
|
inlineoverridevirtual |
Returns dimension of the integration domain.
Reimplemented from Intrepid2::Cubature< void, double, double >.
Definition at line 149 of file Intrepid2_CubatureTensor.hpp.
References getAccuracy(), and numCubatures_.
Referenced by getAccuracy(), and getAccuracy().
|
inline |
Returns max. degree of polynomials that are integrated exactly.
Definition at line 170 of file Intrepid2_CubatureTensor.hpp.
References getAccuracy(), and numCubatures_.
|
inlineoverridevirtual |
Returns tensor cubature points and weights. For non-tensor cubatures, the tensor structures are trivial, thin wrappers around the data returned by getCubature(). The provided containers should be pre-allocated through calls to allocateCubaturePoints() and allocateCubatureWeights().
| cubPoints | [out] - TensorPoints structure containing the cubature points. |
| cubWeights | [out] - TensorData structure containing cubature weights. |
Definition at line 112 of file Intrepid2_CubatureTensor.hpp.
References numCubatures_.
|
inlineoverridevirtual |
Definition at line 66 of file Intrepid2_CubatureTensor.hpp.
|
inline |
Return the number of cubatures.
Definition at line 164 of file Intrepid2_CubatureTensor.hpp.
| void Intrepid2::CubatureTensor< DT, PT, WT >::getCubatureImpl | ( | Kokkos::DynRankView< cubPointValueType, cubPointProperties... > | cubPoints, |
| Kokkos::DynRankView< cubWeightValueType, cubWeightProperties... > | cubWeights ) const |
here create mirror view and copy does not work
here create mirror view and copy does not work
Definition at line 25 of file Intrepid2_CubatureTensorDef.hpp.
References Intrepid2::Parameters::MaxTensorComponents, and numCubatures_.
|
inlineoverridevirtual |
Returns dimension of integration domain.
Reimplemented from Intrepid2::Cubature< void, double, double >.
Definition at line 135 of file Intrepid2_CubatureTensor.hpp.
References dimension_.
Referenced by allocateCubaturePoints(), CubatureTensor(), CubatureTensor(), and CubatureTensor().
|
inlineoverridevirtual |
Returns cubature name.
Reimplemented from Intrepid2::Cubature< void, double, double >.
Definition at line 143 of file Intrepid2_CubatureTensor.hpp.
|
inline |
Return the number of cubatures.
Definition at line 158 of file Intrepid2_CubatureTensor.hpp.
References numCubatures_.
Referenced by CubatureTensor().
|
inlineoverridevirtual |
Returns the number of cubature points.
Reimplemented from Intrepid2::Cubature< void, double, double >.
Definition at line 124 of file Intrepid2_CubatureTensor.hpp.
References getNumPoints(), and numCubatures_.
Referenced by allocateCubaturePoints(), allocateCubatureWeights(), and getNumPoints().
|
private |
Definition at line 39 of file Intrepid2_CubatureTensor.hpp.
|
private |
Dimension of integration domain.
Definition at line 43 of file Intrepid2_CubatureTensor.hpp.
Referenced by CubatureTensor(), CubatureTensor(), CubatureTensor(), and getDimension().
|
private |
Array of cubature rules.
Definition at line 37 of file Intrepid2_CubatureTensor.hpp.
Referenced by allocateCubaturePoints(), allocateCubatureWeights(), CubatureTensor(), CubatureTensor(), CubatureTensor(), getAccuracy(), getAccuracy(), getCubature(), getCubatureImpl(), getNumCubatures(), and getNumPoints().