Intrepid2
Intrepid2::CubatureDirectTetSymmetric< DeviceType, pointValueType, weightValueType > Class Template Reference

Defines direct integration rules on a tetrahedron. These quadrature rules are symmetric (invariant under orientation mappings) and the quadrature weights are all positive. Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 2021. More...

#include <Intrepid2_CubatureDirectTetSymmetric.hpp>

Inheritance diagram for Intrepid2::CubatureDirectTetSymmetric< DeviceType, pointValueType, weightValueType >:
Intrepid2::CubatureDirect< void, double, double > Intrepid2::Cubature< void, double, double >

Public Types

typedef CubatureDirect< DeviceType, pointValueType, weightValueType >::CubatureDataStatic CubatureDataStatic
typedef CubatureDirect< DeviceType, pointValueType, weightValueType >::CubatureData CubatureData
typedef CubatureDirect< DeviceType, pointValueType, weightValueType >::PointViewType PointViewType
typedef CubatureDirect< DeviceType, pointValueType, weightValueType >::weightViewType weightViewType
Public Types inherited from Intrepid2::CubatureDirect< void, double, double >
typedef Cubature< void, double, double >::PointViewType PointViewType
typedef Cubature< void, double, double >::weightViewType weightViewType
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

 CubatureDirectTetSymmetric (const ordinal_type degree=0)
 Constructor.
virtual const char * getName () const override
 Returns cubature name.
Public Member Functions inherited from Intrepid2::CubatureDirect< void, double, double >
virtual void getCubature (PointViewType cubPoints, weightViewType cubWeights) const override
virtual ordinal_type getNumPoints () const override
 Returns the number of cubature points.
virtual ordinal_type getDimension () const override
 Returns dimension of integration domain.
virtual ordinal_type getAccuracy () const override
 Returns max. degree of polynomials that are integrated exactly. The return vector has size 1.
CubatureDirect & operator= (const CubatureDirect &b)
Public Member Functions inherited from Intrepid2::Cubature< void, double, double >
virtual TensorPointDataType allocateCubaturePoints () const
 Returns a points container appropriate for passing to getCubature().
virtual TensorWeightDataType allocateCubatureWeights () const
 Returns a weight container appropriate for passing to getCubature().
virtual void getCubature (PointViewType, weightViewType) const
 Returns cubature points and weights (return arrays must be pre-sized/pre-allocated).

Static Private Attributes

static constexpr ordinal_type cubatureDataStaticSize =21
static const CubatureDataStatic cubatureDataStatic_ [cubatureDataStaticSize]
 Complete set of data defining default cubature rules on a triangle.

Additional Inherited Members

Protected Member Functions inherited from Intrepid2::CubatureDirect< void, double, double >
void getCubatureFromData (Kokkos::DynRankView< cubPointValueType, cubPointProperties... > cubPoints, Kokkos::DynRankView< cubWeightValueType, cubWeightProperties... > cubWeights, const CubatureData cubData) const
 Returns cubature points and weights.
Protected Attributes inherited from Intrepid2::CubatureDirect< void, double, double >
ordinal_type degree_
 The degree of polynomials that are integrated exactly by this cubature rule.
ordinal_type dimension_
 Dimension of integration domain.
CubatureData cubatureData_
 Cubature data on device.

Detailed Description

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

Defines direct integration rules on a tetrahedron. These quadrature rules are symmetric (invariant under orientation mappings) and the quadrature weights are all positive. Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 2021.

Definition at line 34 of file Intrepid2_CubatureDirectTetSymmetric.hpp.

Member Typedef Documentation

◆ CubatureData

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
typedef CubatureDirect<DeviceType,pointValueType,weightValueType>::CubatureData Intrepid2::CubatureDirectTetSymmetric< DeviceType, pointValueType, weightValueType >::CubatureData

Definition at line 38 of file Intrepid2_CubatureDirectTetSymmetric.hpp.

◆ CubatureDataStatic

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
typedef CubatureDirect<DeviceType,pointValueType,weightValueType>::CubatureDataStatic Intrepid2::CubatureDirectTetSymmetric< DeviceType, pointValueType, weightValueType >::CubatureDataStatic

Definition at line 37 of file Intrepid2_CubatureDirectTetSymmetric.hpp.

◆ PointViewType

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
typedef CubatureDirect<DeviceType,pointValueType,weightValueType>::PointViewType Intrepid2::CubatureDirectTetSymmetric< DeviceType, pointValueType, weightValueType >::PointViewType

Definition at line 40 of file Intrepid2_CubatureDirectTetSymmetric.hpp.

◆ weightViewType

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
typedef CubatureDirect<DeviceType,pointValueType,weightValueType>::weightViewType Intrepid2::CubatureDirectTetSymmetric< DeviceType, pointValueType, weightValueType >::weightViewType

Definition at line 41 of file Intrepid2_CubatureDirectTetSymmetric.hpp.

Constructor & Destructor Documentation

◆ CubatureDirectTetSymmetric()

template<typename DT, typename PT, typename WT>
Intrepid2::CubatureDirectTetSymmetric< DT, PT, WT >::CubatureDirectTetSymmetric ( const ordinal_type degree = 0)

Constructor.

Parameters
degree[in] - The degree of polynomials that are integrated exactly by this cubature rule. Default: 0.

Definition at line 19 of file Intrepid2_CubatureDirectTetSymmetricDef.hpp.

References Intrepid2::CubatureDirect< void, double, double >::cubatureData_, cubatureDataStatic_, Intrepid2::CubatureDirect< void, double, double >::degree_, Intrepid2::Parameters::MaxCubatureDegreeTet, and Intrepid2::Parameters::MaxDimension.

Member Function Documentation

◆ getName()

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
virtual const char * Intrepid2::CubatureDirectTetSymmetric< DeviceType, pointValueType, weightValueType >::getName ( ) const
inlineoverridevirtual

Returns cubature name.

Reimplemented from Intrepid2::CubatureDirect< void, double, double >.

Definition at line 65 of file Intrepid2_CubatureDirectTetSymmetric.hpp.

Member Data Documentation

◆ cubatureDataStatic_

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
const CubatureDataStatic Intrepid2::CubatureDirectTetSymmetric< DeviceType, pointValueType, weightValueType >::cubatureDataStatic_[cubatureDataStaticSize]
staticprivate

Complete set of data defining default cubature rules on a triangle.

Definition at line 50 of file Intrepid2_CubatureDirectTetSymmetric.hpp.

Referenced by CubatureDirectTetSymmetric().

◆ cubatureDataStaticSize

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
ordinal_type Intrepid2::CubatureDirectTetSymmetric< DeviceType, pointValueType, weightValueType >::cubatureDataStaticSize =21
staticconstexprprivate

Definition at line 46 of file Intrepid2_CubatureDirectTetSymmetric.hpp.


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