Intrepid2
Classes | Public Types | Public Member Functions | List of all members
Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType > Class Template Reference

Defines tensor-product cubature (integration) rules in Intrepid. More...

#include <Intrepid2_CubatureTensorPyr.hpp>

Inheritance diagram for Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >:
Intrepid2::CubatureTensor< DeviceType, pointValueType, weightValueType > Intrepid2::Cubature< DeviceType, pointValueType, weightValueType >

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...
 

Detailed Description

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
class Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >

Defines tensor-product cubature (integration) rules in Intrepid.

Definition at line 29 of file Intrepid2_CubatureTensorPyr.hpp.

Member Function Documentation

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
virtual TensorPointDataType Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::allocateCubaturePoints ( ) const
inlineoverridevirtual
template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
virtual TensorWeightDataType Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::allocateCubatureWeights ( ) const
inlineoverridevirtual
template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
virtual void Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::getCubature ( PointViewType  ,
weightViewType   
) const
inlineoverridevirtual

Returns cubature points and weights (return arrays must be pre-sized/pre-allocated).

Parameters
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().

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
virtual void Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::getCubature ( const TensorPointDataType tensorCubPoints,
const TensorWeightDataType tensorCubWeights 
) const
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().

Parameters
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().


The documentation for this class was generated from the following files: