|
Intrepid2
|
Structure-preserving representation of transformed vector data; reference space values and transformations are stored separately. More...
#include <Intrepid2_TransformedBasisValues.hpp>
Public Member Functions | |
| TransformedBasisValues (const Data< Scalar, DeviceType > &transform, const BasisValues< Scalar, DeviceType > &basisValues) | |
| Standard constructor. | |
| TransformedBasisValues (const ordinal_type &numCells, const BasisValues< Scalar, DeviceType > &basisValues) | |
| Constructor for the case of an identity transform. | |
| template<typename OtherDeviceType , class = typename std::enable_if<!std::is_same<DeviceType, OtherDeviceType>::value>::type> | |
| TransformedBasisValues (const TransformedBasisValues< Scalar, OtherDeviceType > &transformedVectorData) | |
| copy-like constructor for differing device types. This may do a deep_copy of underlying views, depending on the memory spaces involved. | |
| TransformedBasisValues () | |
| Default constructor; an invalid container. Will return -1 for numCells(). | |
| KOKKOS_INLINE_FUNCTION bool | axisAligned () const |
| Returns true if the transformation matrix is diagonal. | |
| BasisValues< Scalar, DeviceType > | basisValues () const |
| KOKKOS_INLINE_FUNCTION int | cellDataExtent () const |
| Returns the true data extent in the cell dimension (e.g., will be 1 for transform matrices that do not vary from one cell to the next). | |
| KOKKOS_INLINE_FUNCTION DataVariationType | cellVariationType () const |
| Returns the variation type corresponding to the cell dimension. | |
| KOKKOS_INLINE_FUNCTION int | numCells () const |
| Returns the logical extent in the cell dimension, which is the 0 dimension in this container. | |
| KOKKOS_INLINE_FUNCTION int | numFields () const |
| Returns the logical extent in the fields dimension, which is the 1 dimension in this container. | |
| KOKKOS_INLINE_FUNCTION int | numPoints () const |
| Returns the logical extent in the points dimension, which is the 2 dimension in this container. | |
| KOKKOS_INLINE_FUNCTION int | spaceDim () const |
| Returns the logical extent in the space dimension, which is the 3 dimension in this container. | |
| KOKKOS_INLINE_FUNCTION Scalar | operator() (const int &cellOrdinal, const int &fieldOrdinal, const int &pointOrdinal) const |
| Scalar accessor, with arguments (C,F,P). | |
| KOKKOS_INLINE_FUNCTION Scalar | operator() (const int &cellOrdinal, const int &fieldOrdinal, const int &pointOrdinal, const int &dim) const |
| Vector accessor, with arguments (C,F,P,D). | |
| KOKKOS_INLINE_FUNCTION Scalar | transformWeight (const int &cellOrdinal, const int &pointOrdinal) const |
| Returns the specified entry in the (scalar) transform. (Only valid for scalar-valued BasisValues; see the four-argument transformWeight() for the vector-valued case.) | |
| KOKKOS_INLINE_FUNCTION Scalar | transformWeight (const int &cellOrdinal, const int &pointOrdinal, const int &dim1, const int &dim2) const |
| Returns the specified entry in the transform matrix. | |
| const Data< Scalar, DeviceType > & | transform () const |
| Returns the transform matrix. An invalid/empty container indicates the identity transform. | |
| const VectorData< Scalar, DeviceType > & | vectorData () const |
| Returns the reference-space vector data. | |
| KOKKOS_INLINE_FUNCTION unsigned | rank () const |
| Returns the rank of the container, which is 3 for scalar values, and 4 for vector values. | |
| KOKKOS_INLINE_FUNCTION int | extent_int (const int &r) const |
| Returns the extent in the specified dimension as an int. | |
Public Attributes | |
| ordinal_type | numCells_ |
| Data< Scalar, DeviceType > | transform_ |
| BasisValues< Scalar, DeviceType > | basisValues_ |
Structure-preserving representation of transformed vector data; reference space values and transformations are stored separately.
TransformedBasisValues provides a View-like interface of rank 4, with shape (C,F,P,D). When the corresponding accessor is used, the transformed value is determined from corresponding reference space values and the transformation.
|
inline |
Standard constructor.
| [in] | transform | - the transformation (matrix), with logical shape (C,P) or (C,P,D,D) |
| [in] | basisValues | - the reference-space data to be transformed, with logical shape (F,P) (for scalar values) or (F,P,D) (for vector values) |
Definition at line 79 of file Intrepid2_TransformedBasisValues.hpp.
References Intrepid2::CONSTANT, and INTREPID2_TEST_FOR_EXCEPTION_DEVICE_SAFE.
|
inline |
Constructor for the case of an identity transform.
| [in] | vectorData | - the reference-space data, with logical shape (F,P,D) |
Definition at line 93 of file Intrepid2_TransformedBasisValues.hpp.
|
inline |
copy-like constructor for differing device types. This may do a deep_copy of underlying views, depending on the memory spaces involved.
Definition at line 101 of file Intrepid2_TransformedBasisValues.hpp.
|
inline |
Default constructor; an invalid container. Will return -1 for numCells().
Definition at line 111 of file Intrepid2_TransformedBasisValues.hpp.
|
inline |
Returns true if the transformation matrix is diagonal.
Definition at line 117 of file Intrepid2_TransformedBasisValues.hpp.
Referenced by Intrepid2::IntegrationTools< DeviceType >::integrate().
|
inline |
Definition at line 130 of file Intrepid2_TransformedBasisValues.hpp.
|
inline |
Returns the true data extent in the cell dimension (e.g., will be 1 for transform matrices that do not vary from one cell to the next).
Definition at line 136 of file Intrepid2_TransformedBasisValues.hpp.
|
inline |
Returns the variation type corresponding to the cell dimension.
Definition at line 142 of file Intrepid2_TransformedBasisValues.hpp.
|
inline |
Returns the extent in the specified dimension as an int.
Definition at line 257 of file Intrepid2_TransformedBasisValues.hpp.
References Intrepid2::TransformedBasisValues< Scalar, DeviceType >::numCells(), Intrepid2::TransformedBasisValues< Scalar, DeviceType >::numFields(), Intrepid2::TransformedBasisValues< Scalar, DeviceType >::numPoints(), and Intrepid2::TransformedBasisValues< Scalar, DeviceType >::spaceDim().
|
inline |
Returns the logical extent in the cell dimension, which is the 0 dimension in this container.
Definition at line 148 of file Intrepid2_TransformedBasisValues.hpp.
Referenced by Intrepid2::IntegrationTools< DeviceType >::allocateIntegralData(), Intrepid2::TransformedBasisValues< Scalar, DeviceType >::extent_int(), and Intrepid2::IntegrationTools< DeviceType >::integrate().
|
inline |
Returns the logical extent in the fields dimension, which is the 1 dimension in this container.
Definition at line 154 of file Intrepid2_TransformedBasisValues.hpp.
Referenced by Intrepid2::IntegrationTools< DeviceType >::allocateIntegralData(), Intrepid2::TransformedBasisValues< Scalar, DeviceType >::extent_int(), and Intrepid2::IntegrationTools< DeviceType >::integrate().
|
inline |
Returns the logical extent in the points dimension, which is the 2 dimension in this container.
Definition at line 160 of file Intrepid2_TransformedBasisValues.hpp.
Referenced by Intrepid2::TransformedBasisValues< Scalar, DeviceType >::extent_int(), and Intrepid2::IntegrationTools< DeviceType >::integrate().
|
inline |
Scalar accessor, with arguments (C,F,P).
Definition at line 172 of file Intrepid2_TransformedBasisValues.hpp.
|
inline |
Vector accessor, with arguments (C,F,P,D).
Definition at line 186 of file Intrepid2_TransformedBasisValues.hpp.
|
inline |
Returns the rank of the container, which is 3 for scalar values, and 4 for vector values.
Definition at line 250 of file Intrepid2_TransformedBasisValues.hpp.
|
inline |
Returns the logical extent in the space dimension, which is the 3 dimension in this container.
Definition at line 166 of file Intrepid2_TransformedBasisValues.hpp.
Referenced by Intrepid2::TransformedBasisValues< Scalar, DeviceType >::extent_int(), and Intrepid2::IntegrationTools< DeviceType >::integrate().
|
inline |
Returns the transform matrix. An invalid/empty container indicates the identity transform.
Definition at line 237 of file Intrepid2_TransformedBasisValues.hpp.
Referenced by Intrepid2::IntegrationTools< DeviceType >::allocateIntegralData(), and Intrepid2::IntegrationTools< DeviceType >::integrate().
|
inline |
Returns the specified entry in the (scalar) transform. (Only valid for scalar-valued BasisValues; see the four-argument transformWeight() for the vector-valued case.)
Definition at line 209 of file Intrepid2_TransformedBasisValues.hpp.
Referenced by Intrepid2::IntegrationTools< DeviceType >::integrate().
|
inline |
Returns the specified entry in the transform matrix.
Definition at line 223 of file Intrepid2_TransformedBasisValues.hpp.
|
inline |
Returns the reference-space vector data.
Definition at line 243 of file Intrepid2_TransformedBasisValues.hpp.
Referenced by Intrepid2::IntegrationTools< DeviceType >::integrate().
| BasisValues<Scalar, DeviceType> Intrepid2::TransformedBasisValues< Scalar, DeviceType >::basisValues_ |
Definition at line 72 of file Intrepid2_TransformedBasisValues.hpp.
| ordinal_type Intrepid2::TransformedBasisValues< Scalar, DeviceType >::numCells_ |
Definition at line 68 of file Intrepid2_TransformedBasisValues.hpp.
| Data<Scalar,DeviceType> Intrepid2::TransformedBasisValues< Scalar, DeviceType >::transform_ |
Definition at line 70 of file Intrepid2_TransformedBasisValues.hpp.