|
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 TransformedVectorData< Scalar, DeviceType > vectorDataLeft, const TensorData< Scalar, DeviceType > cellMeasures, const TransformedVectorData< 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 TransformedVectorData< Scalar, DeviceType > &vectorDataLeft, const TensorData< Scalar, DeviceType > &cellMeasures, const TransformedVectorData< 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 78 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 1792 of file Intrepid2_IntegrationToolsDef.hpp.
References Intrepid2::combinedDimensionInfo(), Intrepid2::CONSTANT, Intrepid2::GENERAL, Intrepid2::Data< DataScalar, DeviceType >::getDimensionInfo(), Intrepid2::TensorData< Scalar, DeviceType >::getTensorComponent(), Intrepid2::TransformedVectorData< Scalar, DeviceType >::numCells(), Intrepid2::TransformedVectorData< Scalar, DeviceType >::numFields(), and Intrepid2::TransformedVectorData< 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 1837 of file Intrepid2_IntegrationToolsDef.hpp.
References Intrepid2::Data< DataScalar, DeviceType >::allocateMatMatResult(), Intrepid2::TensorArgumentIterator::argument(), Intrepid2::TransformedVectorData< Scalar, DeviceType >::axisAligned(), Intrepid2::Data< DataScalar, DeviceType >::clear(), Intrepid2::dimension_scalar(), Intrepid2::Data< DataScalar, DeviceType >::extent_int(), Intrepid2::Data< DataScalar, DeviceType >::getDataExtent(), 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::TensorData< Scalar, DeviceType >::isValid(), Intrepid2::TransformedVectorData< Scalar, DeviceType >::numFields(), Intrepid2::TensorData< Scalar, DeviceType >::numTensorComponents(), Intrepid2::Data< DataScalar, DeviceType >::rank(), Intrepid2::TensorArgumentIterator::setEnumerationIndex(), Intrepid2::TransformedVectorData< Scalar, DeviceType >::spaceDim(), Intrepid2::Data< DataScalar, DeviceType >::storeMatMat(), Intrepid2::TransformedVectorData< Scalar, DeviceType >::transform(), Intrepid2::TransformedVectorData< Scalar, DeviceType >::transformWeight(), and Intrepid2::TransformedVectorData< Scalar, DeviceType >::vectorData().