Intrepid2
Public Types | Public Member Functions | Public Attributes | List of all members
Intrepid2::TransformedVectorData< Scalar, DeviceType > Class Template Reference

Structure-preserving representation of transformed vector data; reference space values and transformations are stored separately. More...

#include <Intrepid2_TransformedVectorData.hpp>

Public Types

using Transform = Data< Scalar, DeviceType >
 

Public Member Functions

 TransformedVectorData (const Data< Scalar, DeviceType > &transform, const VectorData< Scalar, DeviceType > &vectorData)
 Standard constructor. More...
 
 TransformedVectorData (const VectorData< Scalar, DeviceType > &vectorData)
 Constructor for the case of an identity transform. More...
 
template<typename OtherDeviceType , class = typename std::enable_if<!std::is_same<DeviceType, OtherDeviceType>::value>::type>
 TransformedVectorData (const TransformedVectorData< 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.
 
KOKKOS_INLINE_FUNCTION bool axisAligned () const
 Returns true if the transformation matrix is diagonal.
 
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 int &dim) const
 Accessor, with arguments (C,F,P,D).
 
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 constexpr unsigned rank () const
 Returns the rank of the container, which is 4.
 
KOKKOS_INLINE_FUNCTION int extent_int (const int &r) const
 Returns the extent in the specified dimension as an int.
 

Public Attributes

Data< Scalar, DeviceType > transform_
 
VectorData< Scalar, DeviceType > vectorData_
 

Detailed Description

template<class Scalar, typename DeviceType>
class Intrepid2::TransformedVectorData< Scalar, DeviceType >

Structure-preserving representation of transformed vector data; reference space values and transformations are stored separately.

TransformedVectorData 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.

Definition at line 64 of file Intrepid2_TransformedVectorData.hpp.

Constructor & Destructor Documentation

◆ TransformedVectorData() [1/2]

template<class Scalar, typename DeviceType>
Intrepid2::TransformedVectorData< Scalar, DeviceType >::TransformedVectorData ( const Data< Scalar, DeviceType > &  transform,
const VectorData< Scalar, DeviceType > &  vectorData 
)
inline

Standard constructor.

Parameters
[in]transform- the transformation matrix, with logical shape (C,P,D,D)
[in]vectorData- the reference-space data to be transformed, with logical shape (F,P,D)

Definition at line 78 of file Intrepid2_TransformedVectorData.hpp.

◆ TransformedVectorData() [2/2]

template<class Scalar, typename DeviceType>
Intrepid2::TransformedVectorData< Scalar, DeviceType >::TransformedVectorData ( const VectorData< Scalar, DeviceType > &  vectorData)
inline

Constructor for the case of an identity transform.

Parameters
[in]vectorData- the reference-space data, with logical shape (F,P,D)

Definition at line 90 of file Intrepid2_TransformedVectorData.hpp.


The documentation for this class was generated from the following file: