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

Defines cubature (integration) rules over control volumes. More...

#include <Intrepid2_CubatureControlVolumeSide.hpp>

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

Classes

struct  Functor
 

Public Types

typedef Cubature< DeviceType, pointValueType, weightValueType >::PointViewType PointViewType
 
typedef Cubature< DeviceType, pointValueType, weightValueType >::weightViewType weightViewType
 
- 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

virtual void getCubature (PointViewType cubPoints, weightViewType cubWeights, PointViewType cellCoords) const override
 Returns cubature points and weights (return arrays must be pre-sized/pre-allocated).
 
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.
 
 CubatureControlVolumeSide (const shards::CellTopology cellTopology)
 
- Public Member Functions inherited from Intrepid2::Cubature< DeviceType, pointValueType, weightValueType >
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).
 
virtual void getCubature (const TensorPointDataType &tensorCubPoints, const TensorWeightDataType &tensorCubWeights) const
 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 getAccuracy () const
 Returns dimension of the integration domain.
 

Protected Attributes

shards::CellTopology primaryCellTopo_
 The topology of the primary cell.
 
shards::CellTopology subcvCellTopo_
 The topology of the sub-control volume.
 
ordinal_type degree_
 The degree of the polynomials that are integrated exactly.
 
Kokkos::View< ordinal_type **, Kokkos::LayoutRight, DeviceType > sideNodeMap_
 
Kokkos::DynRankView< pointValueType, DeviceType > sidePoints_
 

Detailed Description

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

Defines cubature (integration) rules over control volumes.

Definition at line 66 of file Intrepid2_CubatureControlVolumeSide.hpp.

Member Typedef Documentation

◆ PointViewType

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
typedef Cubature<DeviceType,pointValueType,weightValueType>::PointViewType Intrepid2::CubatureControlVolumeSide< DeviceType, pointValueType, weightValueType >::PointViewType

Definition at line 143 of file Intrepid2_CubatureControlVolumeSide.hpp.

◆ weightViewType

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
typedef Cubature<DeviceType,pointValueType,weightValueType>::weightViewType Intrepid2::CubatureControlVolumeSide< DeviceType, pointValueType, weightValueType >::weightViewType

Definition at line 144 of file Intrepid2_CubatureControlVolumeSide.hpp.

Constructor & Destructor Documentation

◆ CubatureControlVolumeSide()

template<typename DT , typename PT , typename WT >
Intrepid2::CubatureControlVolumeSide< DT, PT, WT >::CubatureControlVolumeSide ( const shards::CellTopology cellTopology)

brief Constructor.

Parameters
cellTopology[in] - The topology of the primary cell.

Definition at line 55 of file Intrepid2_CubatureControlVolumeSideDef.hpp.

References Intrepid2::CellTools< DeviceType >::mapToReferenceSubcell().

◆ ~CubatureControlVolumeSide()

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
virtual Intrepid2::CubatureControlVolumeSide< DeviceType, pointValueType, weightValueType >::~CubatureControlVolumeSide ( )
inlinevirtual

Definition at line 189 of file Intrepid2_CubatureControlVolumeSide.hpp.

Member Function Documentation

◆ getCubature()

template<typename DT , typename PT , typename WT >
void Intrepid2::CubatureControlVolumeSide< DT, PT, WT >::getCubature ( PointViewType cubPoints,
weightViewType cubWeights,
PointViewType cellCoords ) const
overridevirtual

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.
cellCoords[in] - Array of cell coordinates

Reimplemented from Intrepid2::Cubature< DeviceType, pointValueType, weightValueType >.

Definition at line 111 of file Intrepid2_CubatureControlVolumeSideDef.hpp.

References Intrepid2::CellTools< DeviceType >::getPhysicalSideNormals(), Intrepid2::CellTools< DeviceType >::getSubcvCoords(), and Intrepid2::CellTools< DeviceType >::setJacobian().

◆ getDimension()

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
virtual ordinal_type Intrepid2::CubatureControlVolumeSide< DeviceType, pointValueType, weightValueType >::getDimension ( ) const
inlineoverridevirtual

◆ getName()

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

Returns cubature name.

Reimplemented from Intrepid2::Cubature< DeviceType, pointValueType, weightValueType >.

Definition at line 181 of file Intrepid2_CubatureControlVolumeSide.hpp.

◆ getNumPoints()

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
virtual ordinal_type Intrepid2::CubatureControlVolumeSide< DeviceType, pointValueType, weightValueType >::getNumPoints ( ) const
inlineoverridevirtual

Member Data Documentation

◆ degree_

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
ordinal_type Intrepid2::CubatureControlVolumeSide< DeviceType, pointValueType, weightValueType >::degree_
protected

The degree of the polynomials that are integrated exactly.

Definition at line 136 of file Intrepid2_CubatureControlVolumeSide.hpp.

◆ primaryCellTopo_

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
shards::CellTopology Intrepid2::CubatureControlVolumeSide< DeviceType, pointValueType, weightValueType >::primaryCellTopo_
protected

◆ sideNodeMap_

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
Kokkos::View<ordinal_type**,Kokkos::LayoutRight,DeviceType> Intrepid2::CubatureControlVolumeSide< DeviceType, pointValueType, weightValueType >::sideNodeMap_
protected

Definition at line 139 of file Intrepid2_CubatureControlVolumeSide.hpp.

◆ sidePoints_

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
Kokkos::DynRankView<pointValueType, DeviceType> Intrepid2::CubatureControlVolumeSide< DeviceType, pointValueType, weightValueType >::sidePoints_
protected

Definition at line 140 of file Intrepid2_CubatureControlVolumeSide.hpp.

◆ subcvCellTopo_

template<typename DeviceType = void, typename pointValueType = double, typename weightValueType = double>
shards::CellTopology Intrepid2::CubatureControlVolumeSide< DeviceType, pointValueType, weightValueType >::subcvCellTopo_
protected

The topology of the sub-control volume.

Definition at line 132 of file Intrepid2_CubatureControlVolumeSide.hpp.


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