Intrepid2
|
Defines tensor-product cubature (integration) rules in Intrepid. More...
#include <Intrepid2_CubatureTensorPyr.hpp>
Classes | |
struct | Functor |
Public Types | |
using | TensorPointDataType = typename CubatureTensor< DeviceType, pointValueType, weightValueType >::TensorPointDataType |
using | TensorWeightDataType = typename CubatureTensor< DeviceType, pointValueType, weightValueType >::TensorWeightDataType |
using | PointViewTypeAllocatable = typename CubatureTensor< DeviceType, pointValueType, weightValueType >::PointViewTypeAllocatable |
using | WeightViewTypeAllocatable = typename CubatureTensor< DeviceType, pointValueType, weightValueType >::WeightViewTypeAllocatable |
Public Types inherited from Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType > | |
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< DeviceType, pointValueType, weightValueType > | |
using | ExecSpaceType = typename DeviceType::execution_space |
using | PointViewType = Kokkos::DynRankView< pointValueType, Kokkos::LayoutStride, DeviceType > |
using | weightViewType = Kokkos::DynRankView< weightValueType, Kokkos::LayoutStride, DeviceType > |
using | PointViewTypeAllocatable = Kokkos::DynRankView< pointValueType, DeviceType > |
using | WeightViewTypeAllocatable = Kokkos::DynRankView< weightValueType, DeviceType > |
using | TensorPointDataType = TensorPoints< pointValueType, DeviceType > |
using | TensorWeightDataType = TensorData< weightValueType, DeviceType > |
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 |
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated). More... | |
CubatureTensorPyr (const CubatureTensorPyr &b) | |
template<typename CubatureLineType > | |
CubatureTensorPyr (const CubatureLineType line) | |
template<typename CubatureLineType0 , typename CubatureLineType1 , typename CubatureLineType2 > | |
CubatureTensorPyr (const CubatureLineType0 line0, const CubatureLineType1 line1, const CubatureLineType2 line2) | |
virtual TensorPointDataType | allocateCubaturePoints () const override |
Returns a points container appropriate for passing to getCubature(). More... | |
virtual TensorWeightDataType | allocateCubatureWeights () const override |
Returns a weight container appropriate for passing to getCubature(). More... | |
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(). More... | |
Public Member Functions inherited from Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType > | |
template<typename cubPointValueType , class... cubPointProperties, typename cubWeightValueType , class... cubWeightProperties> | |
void | getCubatureImpl (Kokkos::DynRankView< cubPointValueType, cubPointProperties...> cubPoints, Kokkos::DynRankView< cubWeightValueType, cubWeightProperties...> cubWeights) const |
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. More... | |
template<typename CubatureType0 , typename CubatureType1 , typename CubatureType2 > | |
CubatureTensor (const CubatureType0 cubature0, const CubatureType1 cubature1, const CubatureType2 cubature2) | |
Constructor. More... | |
template<typename DirectCubature > | |
CubatureTensor (const CubatureTensor cubatureTensor, const DirectCubature cubatureExtension) | |
Constructor for extending an existing CubatureTensor object with an additional direct cubature rule. More... | |
Public Member Functions inherited from Intrepid2::Cubature< DeviceType, pointValueType, weightValueType > | |
virtual void | getCubature (PointViewType, weightViewType, PointViewType) const |
Returns cubature points and weights on physical cells (return arrays must be pre-sized/pre-allocated). More... | |
Defines tensor-product cubature (integration) rules in Intrepid.
Definition at line 29 of file Intrepid2_CubatureTensorPyr.hpp.
|
inlineoverridevirtual |
Returns a points container appropriate for passing to getCubature().
Reimplemented from Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >.
Definition at line 103 of file Intrepid2_CubatureTensorPyr.hpp.
References Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >::getCubatureComponent(), and Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >::getNumCubatures().
|
inlineoverridevirtual |
Returns a weight container appropriate for passing to getCubature().
Reimplemented from Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >.
Definition at line 124 of file Intrepid2_CubatureTensorPyr.hpp.
References Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >::getCubatureComponent(), and Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >::getNumCubatures().
|
inlineoverridevirtual |
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated).
cubPoints | [out] - Array containing the cubature points. |
cubWeights | [out] - Array of corresponding cubature weights. |
Reimplemented from Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >.
Definition at line 74 of file Intrepid2_CubatureTensorPyr.hpp.
Referenced by Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::getCubature().
|
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. |
Reimplemented from Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType >.
Definition at line 148 of file Intrepid2_CubatureTensorPyr.hpp.
References Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::getCubature(), Intrepid2::TensorData< Scalar, DeviceType >::getTensorComponent(), Intrepid2::TensorPoints< PointScalar, DeviceType >::getTensorComponent(), and Intrepid2::Data< DataScalar, DeviceType >::getUnderlyingView().