|
Intrepid2
|
Provides support for structure-aware integration. More...
#include <Intrepid2_IntegrationTools.hpp>
Static Public Member Functions | |
| template<class Scalar > | |
| static Data< Scalar, DeviceType > | allocateIntegralData (const TransformedBasisValues< Scalar, DeviceType > &vectorDataLeft, const TensorData< Scalar, DeviceType > &cellMeasures, const TransformedBasisValues< Scalar, DeviceType > &vectorDataRight) |
| Allocates storage for the contraction of vectorDataLeft and vectorDataRight containers on point and space dimensions, weighting each point according to cellMeasures. | |
| template<class Scalar > | |
| static void | integrate (Data< Scalar, DeviceType > &integrals, const TransformedBasisValues< Scalar, DeviceType > &vectorDataLeft, const TensorData< Scalar, DeviceType > &cellMeasures, const TransformedBasisValues< Scalar, DeviceType > &vectorDataRight, const bool sumInto=false, double *approximateFlops=NULL) |
| Contracts vectorDataLeft and vectorDataRight containers on point and space dimensions, weighting each point according to cellMeasures, and stores the result in outputValues. The integrals container can be constructed using allocateIntegralData(). | |
Provides support for structure-aware integration.
Definition at line 45 of file Intrepid2_IntegrationTools.hpp.
|
static |
Allocates storage for the contraction of vectorDataLeft and vectorDataRight containers on point and space dimensions, weighting each point according to cellMeasures.
| vectorDataRight | [in] - Left input container, with logical shape (C,F,P,D) |
| cellMeasures | [in] - Point weight container, with logical shape (C,P) |
| vectorDataLeft | [in] - Right input container with logical shape (C,F,P,D) |
| sumInto | [in] - If TRUE, sum into given output array, otherwise overwrite it. Default: FALSE. |
Definition at line 1966 of file Intrepid2_IntegrationToolsDef.hpp.
References Intrepid2::combinedDimensionInfo(), Intrepid2::CONSTANT, Intrepid2::GENERAL, Intrepid2::Data< DataScalar, DeviceType >::getDimensionInfo(), Intrepid2::TensorData< Scalar, DeviceType >::getTensorComponent(), Intrepid2::Data< DataScalar, DeviceType >::isValid(), Intrepid2::TransformedBasisValues< Scalar, DeviceType >::numCells(), Intrepid2::TransformedBasisValues< Scalar, DeviceType >::numFields(), and Intrepid2::TransformedBasisValues< Scalar, DeviceType >::transform().
|
static |
Contracts vectorDataLeft and vectorDataRight containers on point and space dimensions, weighting each point according to cellMeasures, and stores the result in outputValues. The integrals container can be constructed using allocateIntegralData().
| outputValues | [out] - Output array, with logical shape (C,F,F) |
| vectorDataRight | [in] - Left input container, with logical shape (C,F,P,D) |
| cellMeasures | [in] - Point weight container, with logical shape (C,P) |
| vectorDataLeft | [in] - Right input container with logical shape (C,F,P,D) |
| sumInto | [in] - If TRUE, sum into given output array, otherwise overwrite it. Default: FALSE. |
| approxFlops | [in] - if not NULL, the double pointed to will be set with an estimated number of floating point operations. Intended for performance assessment purposes. |
Two use cases:
Definition at line 2024 of file Intrepid2_IntegrationToolsDef.hpp.
References Intrepid2::Data< DataScalar, DeviceType >::allocateInPlaceCombinationResult(), Intrepid2::TransformedBasisValues< Scalar, DeviceType >::axisAligned(), Intrepid2::BLOCK_PLUS_DIAGONAL, Intrepid2::Data< DataScalar, DeviceType >::clear(), Intrepid2::CONSTANT, Intrepid2::dimension_scalar(), Intrepid2::Data< DataScalar, DeviceType >::extent_int(), Intrepid2::TensorData< Scalar, DeviceType >::extent_int(), Intrepid2::Data< DataScalar, DeviceType >::getDataExtent(), Intrepid2::Data< DataScalar, DeviceType >::getExtents(), Intrepid2::TensorData< Scalar, DeviceType >::getTensorComponent(), Intrepid2::Data< DataScalar, DeviceType >::getUnderlyingView(), Intrepid2::Data< DataScalar, DeviceType >::getUnderlyingView2(), Intrepid2::Data< DataScalar, DeviceType >::getUnderlyingView3(), Intrepid2::Data< DataScalar, DeviceType >::getUnderlyingViewRank(), Intrepid2::Data< DataScalar, DeviceType >::getUnderlyingViewSize(), Intrepid2::Data< DataScalar, DeviceType >::getVariationTypes(), INTREPID2_TEST_FOR_EXCEPTION_DEVICE_SAFE, Intrepid2::Data< DataScalar, DeviceType >::isValid(), Intrepid2::TensorData< Scalar, DeviceType >::isValid(), Intrepid2::TransformedBasisValues< Scalar, DeviceType >::numCells(), Intrepid2::TransformedBasisValues< Scalar, DeviceType >::numFields(), Intrepid2::TransformedBasisValues< Scalar, DeviceType >::numPoints(), Intrepid2::TensorData< Scalar, DeviceType >::numTensorComponents(), Intrepid2::Data< DataScalar, DeviceType >::rank(), Intrepid2::Data< DataScalar, DeviceType >::shallowCopy(), Intrepid2::TransformedBasisValues< Scalar, DeviceType >::spaceDim(), Intrepid2::Data< DataScalar, DeviceType >::storeInPlaceProduct(), Intrepid2::Data< DataScalar, DeviceType >::storeMatMat(), Intrepid2::TransformedBasisValues< Scalar, DeviceType >::transform(), and Intrepid2::TransformedBasisValues< Scalar, DeviceType >::vectorData().