Intrepid2
|
Defines direct cubature (integration) rules in Intrepid. More...
#include <Intrepid2_CubatureDirect.hpp>
Classes | |
struct | CubatureData |
Cubature data is defined on exec space and deep-copied when an object is created. More... | |
struct | CubatureDataStatic |
Cubature data is defined on the host space and is static. More... | |
Public Types | |
typedef Cubature < ExecSpaceType, pointValueType, weightValueType > ::PointViewType | PointViewType |
typedef Cubature < ExecSpaceType, pointValueType, weightValueType > ::weightViewType | weightViewType |
Public Types inherited from Intrepid2::Cubature< ExecSpaceType, pointValueType, weightValueType > | |
typedef Kokkos::DynRankView < pointValueType, Kokkos::LayoutStride, ExecSpaceType > | PointViewType |
typedef Kokkos::DynRankView < weightValueType, Kokkos::LayoutStride, ExecSpaceType > | weightViewType |
Public Member Functions | |
virtual void | getCubature (PointViewType cubPoints, weightViewType cubWeights) const |
Returns cubature points and weights (return arrays must be pre-sized/pre-allocated). More... | |
virtual ordinal_type | getNumPoints () const |
Returns the number of cubature points. | |
virtual ordinal_type | getDimension () const |
Returns dimension of integration domain. | |
virtual const char * | getName () const |
Returns cubature name. | |
virtual ordinal_type | getAccuracy () const |
Returns max. degree of polynomials that are integrated exactly. The return vector has size 1. | |
CubatureDirect (const CubatureDirect &b) | |
CubatureDirect (const ordinal_type degree, const ordinal_type dimension) | |
Public Member Functions inherited from Intrepid2::Cubature< ExecSpaceType, 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... | |
Protected Member Functions | |
template<typename cubPointValueType , class... cubPointProperties, typename cubWeightValueType , class... cubWeightProperties> | |
void | getCubatureFromData (Kokkos::DynRankView< cubPointValueType, cubPointProperties...> cubPoints, Kokkos::DynRankView< cubWeightValueType, cubWeightProperties...> cubWeights, const CubatureData cubData) const |
Returns cubature points and weights. More... | |
Protected Attributes | |
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. | |
Defines direct cubature (integration) rules in Intrepid.
Cubature template (rule) consists of cubature points and cubature weights. Intrepid provides a small collection of frequently used cubature rule templates for FEM reconstructions on simplices (edge, tri, tet) and pyramid cells.
For quad, hex, and triprism rules, see tensor-product rules defined in the class CubatureTensor, and its derived classes.
Cubature rules for simplices and the pyramid are stored in the cubature_data_ array.
All templates are defined on a reference cell and can be mapped to physical space cells by the methods available in the MultiCell class.
Definition at line 76 of file Intrepid2_CubatureDirect.hpp.
|
inlinevirtual |
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. |
Reimplemented from Intrepid2::Cubature< ExecSpaceType, pointValueType, weightValueType >.
Definition at line 187 of file Intrepid2_CubatureDirect.hpp.
References Intrepid2::CubatureDirect< ExecSpaceType, pointValueType, weightValueType >::cubatureData_, and Intrepid2::CubatureDirect< ExecSpaceType, pointValueType, weightValueType >::getCubatureFromData().
Referenced by Intrepid2::Basis_HCURL_TET_In_FEM< ExecSpaceType, outputValueType, pointValueType >::Basis_HCURL_TET_In_FEM(), Intrepid2::Basis_HCURL_TRI_In_FEM< ExecSpaceType, outputValueType, pointValueType >::Basis_HCURL_TRI_In_FEM(), Intrepid2::Basis_HDIV_TET_In_FEM< ExecSpaceType, outputValueType, pointValueType >::Basis_HDIV_TET_In_FEM(), and Intrepid2::Basis_HDIV_TRI_In_FEM< ExecSpaceType, outputValueType, pointValueType >::Basis_HDIV_TRI_In_FEM().
|
inlineprotected |
Returns cubature points and weights.
cubPoints | [out] - Array containing the cubature points. |
cubWeights | [out] - Array of corresponding cubature weights. |
cubData | [in] - Cubuture data object |
Definition at line 138 of file Intrepid2_CubatureDirect.hpp.
References Intrepid2::CubatureDirect< ExecSpaceType, pointValueType, weightValueType >::getDimension(), Intrepid2::CubatureDirect< ExecSpaceType, pointValueType, weightValueType >::getNumPoints(), Intrepid2::CubatureDirect< ExecSpaceType, pointValueType, weightValueType >::CubatureData::points_, and Intrepid2::CubatureDirect< ExecSpaceType, pointValueType, weightValueType >::CubatureData::weights_.
Referenced by Intrepid2::CubatureDirect< ExecSpaceType, pointValueType, weightValueType >::getCubature().