Intrepid2
|
Defines cubature (integration) rules over control volumes. More...
#include <Intrepid2_CubatureControlVolume.hpp>
Classes | |
struct | Functor |
Public Types | |
typedef Cubature< DeviceType, pointValueType, weightValueType >::PointViewType | PointViewType |
typedef Cubature< DeviceType, pointValueType, weightValueType >::weightViewType | weightViewType |
![]() | |
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. | |
CubatureControlVolume (const shards::CellTopology cellTopology) | |
![]() | |
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::DynRankView< pointValueType, DeviceType > | subcvCubaturePoints_ |
Kokkos::DynRankView< weightValueType, DeviceType > | subcvCubatureWeights_ |
Defines cubature (integration) rules over control volumes.
Each primary cell contains one sub-control volume per node and there is one integration point per sub-control volume.
Definition at line 70 of file Intrepid2_CubatureControlVolume.hpp.
typedef Cubature<DeviceType,pointValueType,weightValueType>::PointViewType Intrepid2::CubatureControlVolume< DeviceType, pointValueType, weightValueType >::PointViewType |
Definition at line 142 of file Intrepid2_CubatureControlVolume.hpp.
typedef Cubature<DeviceType,pointValueType,weightValueType>::weightViewType Intrepid2::CubatureControlVolume< DeviceType, pointValueType, weightValueType >::weightViewType |
Definition at line 143 of file Intrepid2_CubatureControlVolume.hpp.
Intrepid2::CubatureControlVolume< DT, PT, WT >::CubatureControlVolume | ( | const shards::CellTopology | cellTopology | ) |
brief Constructor.
cellTopology | [in] - The topology of the primary cell. |
Definition at line 55 of file Intrepid2_CubatureControlVolumeDef.hpp.
|
inlinevirtual |
Definition at line 188 of file Intrepid2_CubatureControlVolume.hpp.
|
overridevirtual |
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. |
cellCoords | [in] - Array of cell coordinates |
Reimplemented from Intrepid2::Cubature< DeviceType, pointValueType, weightValueType >.
Definition at line 92 of file Intrepid2_CubatureControlVolumeDef.hpp.
References Intrepid2::CellTools< DeviceType >::getSubcvCoords(), Intrepid2::CellTools< DeviceType >::setJacobian(), and Intrepid2::CellTools< DeviceType >::setJacobianDet().
|
inlineoverridevirtual |
Returns dimension of integration domain.
Reimplemented from Intrepid2::Cubature< DeviceType, pointValueType, weightValueType >.
Definition at line 172 of file Intrepid2_CubatureControlVolume.hpp.
References Intrepid2::CubatureControlVolume< DeviceType, pointValueType, weightValueType >::primaryCellTopo_.
|
inlineoverridevirtual |
Returns cubature name.
Reimplemented from Intrepid2::Cubature< DeviceType, pointValueType, weightValueType >.
Definition at line 180 of file Intrepid2_CubatureControlVolume.hpp.
|
inlineoverridevirtual |
Returns the number of cubature points.
Reimplemented from Intrepid2::Cubature< DeviceType, pointValueType, weightValueType >.
Definition at line 164 of file Intrepid2_CubatureControlVolume.hpp.
References Intrepid2::CubatureControlVolume< DeviceType, pointValueType, weightValueType >::primaryCellTopo_.
|
protected |
The degree of the polynomials that are integrated exactly.
Definition at line 135 of file Intrepid2_CubatureControlVolume.hpp.
|
protected |
The topology of the primary cell.
Definition at line 127 of file Intrepid2_CubatureControlVolume.hpp.
Referenced by Intrepid2::CubatureControlVolume< DeviceType, pointValueType, weightValueType >::getDimension(), and Intrepid2::CubatureControlVolume< DeviceType, pointValueType, weightValueType >::getNumPoints().
|
protected |
The topology of the sub-control volume.
Definition at line 131 of file Intrepid2_CubatureControlVolume.hpp.
|
protected |
Definition at line 138 of file Intrepid2_CubatureControlVolume.hpp.
|
protected |
Definition at line 139 of file Intrepid2_CubatureControlVolume.hpp.