Intrepid2
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< void, double, double > Intrepid2::Cubature< void, double, double >

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< void, double, double >
using PointViewType
using weightViewType
using PointViewTypeAllocatable
 KK: following should be updated with nate's tensor work.
using WeightViewTypeAllocatable
using TensorPointDataType
using 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
 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().
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().
Public Member Functions inherited from Intrepid2::CubatureTensor< void, double, double >
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< void, double, double > getCubatureComponent (ordinal_type i) const
 Return the number of cubatures.
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).

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 Typedef Documentation

◆ PointViewTypeAllocatable

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
using Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::PointViewTypeAllocatable = typename CubatureTensor<DeviceType,pointValueType,weightValueType>::PointViewTypeAllocatable

Definition at line 34 of file Intrepid2_CubatureTensorPyr.hpp.

◆ TensorPointDataType

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
using Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::TensorPointDataType = typename CubatureTensor<DeviceType,pointValueType,weightValueType>::TensorPointDataType

Definition at line 32 of file Intrepid2_CubatureTensorPyr.hpp.

◆ TensorWeightDataType

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
using Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::TensorWeightDataType = typename CubatureTensor<DeviceType,pointValueType,weightValueType>::TensorWeightDataType

Definition at line 33 of file Intrepid2_CubatureTensorPyr.hpp.

◆ WeightViewTypeAllocatable

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
using Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::WeightViewTypeAllocatable = typename CubatureTensor<DeviceType,pointValueType,weightValueType>::WeightViewTypeAllocatable

Definition at line 35 of file Intrepid2_CubatureTensorPyr.hpp.

Constructor & Destructor Documentation

◆ CubatureTensorPyr() [1/4]

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::CubatureTensorPyr ( )
inline

Definition at line 80 of file Intrepid2_CubatureTensorPyr.hpp.

◆ CubatureTensorPyr() [2/4]

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::CubatureTensorPyr ( const CubatureTensorPyr< DeviceType, pointValueType, weightValueType > & b)
inline

Definition at line 83 of file Intrepid2_CubatureTensorPyr.hpp.

◆ CubatureTensorPyr() [3/4]

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
template<typename CubatureLineType>
Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::CubatureTensorPyr ( const CubatureLineType line)
inline

Definition at line 87 of file Intrepid2_CubatureTensorPyr.hpp.

◆ CubatureTensorPyr() [4/4]

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
template<typename CubatureLineType0, typename CubatureLineType1, typename CubatureLineType2>
Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::CubatureTensorPyr ( const CubatureLineType0 line0,
const CubatureLineType1 line1,
const CubatureLineType2 line2 )
inline

Definition at line 93 of file Intrepid2_CubatureTensorPyr.hpp.

Member Function Documentation

◆ allocateCubaturePoints()

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

◆ allocateCubatureWeights()

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

◆ getCubature() [1/2]

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.

Definition at line 148 of file Intrepid2_CubatureTensorPyr.hpp.

◆ getCubature() [2/2]

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
virtual void Intrepid2::CubatureTensorPyr< DeviceType, pointValueType, weightValueType >::getCubature ( PointViewType cubPoints,
weightViewType cubWeights ) const
inlineoverridevirtual

◆ getCubatureImpl()

template<typename DT, typename PT, typename WT>
template<typename cubPointValueType, class ... cubPointProperties, typename cubWeightValueType, class ... cubWeightProperties>
void Intrepid2::CubatureTensorPyr< DT, PT, WT >::getCubatureImpl ( Kokkos::DynRankView< cubPointValueType, cubPointProperties... > cubPoints,
Kokkos::DynRankView< cubWeightValueType, cubWeightProperties... > cubWeights ) const

Definition at line 25 of file Intrepid2_CubatureTensorPyrDef.hpp.


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