Intrepid2
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Private Member Functions | List of all members
Intrepid2::OrientationTools< DeviceType > Class Template Reference

Tools to compute orientations for degrees-of-freedom. More...

#include <Intrepid2_OrientationTools.hpp>

Public Types

typedef Kokkos::View< double ****, DeviceType > CoeffMatrixDataViewType
 subcell ordinal, orientation, matrix m x n
 

Public Member Functions

template<typename BasisHostType >
void init_HGRAD (typename OrientationTools< DT >::CoeffMatrixDataViewType matData, BasisHostType const *cellBasis)
 
template<typename BasisHostType >
void init_HCURL (typename OrientationTools< DT >::CoeffMatrixDataViewType matData, BasisHostType const *cellBasis)
 
template<typename BasisHostType >
void init_HDIV (typename OrientationTools< DT >::CoeffMatrixDataViewType matData, BasisHostType const *cellBasis)
 
template<typename BasisHostType >
void init_HVOL (typename OrientationTools< DT >::CoeffMatrixDataViewType matData, BasisHostType const *cellBasis)
 

Static Public Member Functions

template<typename BasisType >
static CoeffMatrixDataViewType createCoeffMatrix (const BasisType *basis)
 Create coefficient matrix.
 
static void clearCoeffMatrix ()
 Clear coefficient matrix.
 
template<typename elemOrtValueType , class ... elemOrtProperties, typename elemNodeValueType , class ... elemNodeProperties>
static void getOrientation (Kokkos::DynRankView< elemOrtValueType, elemOrtProperties... > elemOrts, const Kokkos::DynRankView< elemNodeValueType, elemNodeProperties... > elemNodes, const shards::CellTopology cellTopo, bool isSide=false)
 Compute orientations of cells in a workset.
 
template<typename outputValueType , class ... outputProperties, typename inputValueType , class ... inputProperties, typename OrientationViewType , typename BasisType >
static void modifyBasisByOrientation (Kokkos::DynRankView< outputValueType, outputProperties... > output, const Kokkos::DynRankView< inputValueType, inputProperties... > input, const OrientationViewType orts, const BasisType *basis)
 Modify basis due to orientation.
 

Static Public Attributes

static std::map< std::pair< std::string, ordinal_type >, CoeffMatrixDataViewTypeortCoeffData
 key :: basis name, order, value :: matrix data view type
 

Static Private Member Functions

template<typename BasisHostType >
static CoeffMatrixDataViewType createCoeffMatrixInternal (const BasisHostType *basis)
 
template<typename BasisHostType >
static void init_HGRAD (CoeffMatrixDataViewType matData, BasisHostType const *cellBasis)
 Compute orientation matrix for HGRAD basis.
 
template<typename BasisHostType >
static void init_HCURL (CoeffMatrixDataViewType matData, BasisHostType const *cellBasis)
 Compute orientation matrix for HCURL basis.
 
template<typename BasisHostType >
static void init_HDIV (CoeffMatrixDataViewType matData, BasisHostType const *cellBasis)
 Compute orientation matrix for HDIV basis.
 
template<typename BasisHostType >
static void init_HVOL (CoeffMatrixDataViewType matData, BasisHostType const *cellBasis)
 Compute orientation matrix for HVOL basis.
 

Detailed Description

template<typename DeviceType>
class Intrepid2::OrientationTools< DeviceType >

Tools to compute orientations for degrees-of-freedom.

Definition at line 406 of file Intrepid2_OrientationTools.hpp.

Member Typedef Documentation

◆ CoeffMatrixDataViewType

template<typename DeviceType >
typedef Kokkos::View<double****,DeviceType> Intrepid2::OrientationTools< DeviceType >::CoeffMatrixDataViewType

subcell ordinal, orientation, matrix m x n

Definition at line 411 of file Intrepid2_OrientationTools.hpp.

Member Function Documentation

◆ clearCoeffMatrix()

template<typename DT >
void Intrepid2::OrientationTools< DT >::clearCoeffMatrix ( )
inlinestatic

Clear coefficient matrix.

Definition at line 328 of file Intrepid2_OrientationToolsDefMatrixData.hpp.

◆ createCoeffMatrix()

template<typename DT >
template<typename BasisType >
OrientationTools< DT >::CoeffMatrixDataViewType Intrepid2::OrientationTools< DT >::createCoeffMatrix ( const BasisType * basis)
inlinestatic

Create coefficient matrix.

Parameters
basis[in] - basis type

Definition at line 305 of file Intrepid2_OrientationToolsDefMatrixData.hpp.

◆ createCoeffMatrixInternal()

template<typename DT >
template<typename BasisHostType >
OrientationTools< DT >::CoeffMatrixDataViewType Intrepid2::OrientationTools< DT >::createCoeffMatrixInternal ( const BasisHostType * basis)
inlinestaticprivate

Definition at line 61 of file Intrepid2_OrientationToolsDefMatrixData.hpp.

◆ getOrientation()

template<typename DT >
template<typename elemOrtValueType , class ... elemOrtProperties, typename elemNodeValueType , class ... elemNodeProperties>
void Intrepid2::OrientationTools< DT >::getOrientation ( Kokkos::DynRankView< elemOrtValueType, elemOrtProperties... > elemOrts,
const Kokkos::DynRankView< elemNodeValueType, elemNodeProperties... > elemNodes,
const shards::CellTopology cellTopo,
bool isSide = false )
inlinestatic

Compute orientations of cells in a workset.

Parameters
elemOrts[out] - cell orientations
elemNodes[in] - node coordinates
cellTopo[in] - shards cell topology
isSide[in] - boolean, whether the cell is a side

Definition at line 64 of file Intrepid2_OrientationToolsDefModifyBasis.hpp.

Referenced by Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::initializeOrientations().

◆ init_HCURL()

template<typename DeviceType >
template<typename BasisHostType >
void Intrepid2::OrientationTools< DeviceType >::init_HCURL ( typename OrientationTools< DT >::CoeffMatrixDataViewType matData,
BasisHostType const * cellBasis )

Definition at line 171 of file Intrepid2_OrientationToolsDefMatrixData.hpp.

◆ init_HDIV()

template<typename DeviceType >
template<typename BasisHostType >
void Intrepid2::OrientationTools< DeviceType >::init_HDIV ( typename OrientationTools< DT >::CoeffMatrixDataViewType matData,
BasisHostType const * cellBasis )

Definition at line 231 of file Intrepid2_OrientationToolsDefMatrixData.hpp.

◆ init_HGRAD()

template<typename DeviceType >
template<typename BasisHostType >
void Intrepid2::OrientationTools< DeviceType >::init_HGRAD ( typename OrientationTools< DT >::CoeffMatrixDataViewType matData,
BasisHostType const * cellBasis )

Definition at line 108 of file Intrepid2_OrientationToolsDefMatrixData.hpp.

◆ init_HVOL()

template<typename DeviceType >
template<typename BasisHostType >
void Intrepid2::OrientationTools< DeviceType >::init_HVOL ( typename OrientationTools< DT >::CoeffMatrixDataViewType matData,
BasisHostType const * cellBasis )

Definition at line 265 of file Intrepid2_OrientationToolsDefMatrixData.hpp.

◆ modifyBasisByOrientation()

template<typename DT >
template<typename outputValueType , class ... outputProperties, typename inputValueType , class ... inputProperties, typename OrientationViewType , typename BasisType >
void Intrepid2::OrientationTools< DT >::modifyBasisByOrientation ( Kokkos::DynRankView< outputValueType, outputProperties... > output,
const Kokkos::DynRankView< inputValueType, inputProperties... > input,
const OrientationViewType orts,
const BasisType * basis )
inlinestatic

Member Data Documentation

◆ ortCoeffData

template<typename T >
std::map< std::pair< std::string, ordinal_type >, typename OrientationTools< T >::CoeffMatrixDataViewType > Intrepid2::OrientationTools< T >::ortCoeffData
static

key :: basis name, order, value :: matrix data view type

Definition at line 416 of file Intrepid2_OrientationTools.hpp.


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