Intrepid2
|
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 >, CoeffMatrixDataViewType > | ortCoeffData |
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. | |
Tools to compute orientations for degrees-of-freedom.
Definition at line 406 of file Intrepid2_OrientationTools.hpp.
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.
|
inlinestatic |
Clear coefficient matrix.
Definition at line 328 of file Intrepid2_OrientationToolsDefMatrixData.hpp.
|
inlinestatic |
Create coefficient matrix.
basis | [in] - basis type |
Definition at line 305 of file Intrepid2_OrientationToolsDefMatrixData.hpp.
|
inlinestaticprivate |
Definition at line 61 of file Intrepid2_OrientationToolsDefMatrixData.hpp.
|
inlinestatic |
Compute orientations of cells in a workset.
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().
void Intrepid2::OrientationTools< DeviceType >::init_HCURL | ( | typename OrientationTools< DT >::CoeffMatrixDataViewType | matData, |
BasisHostType const * | cellBasis ) |
Definition at line 171 of file Intrepid2_OrientationToolsDefMatrixData.hpp.
void Intrepid2::OrientationTools< DeviceType >::init_HDIV | ( | typename OrientationTools< DT >::CoeffMatrixDataViewType | matData, |
BasisHostType const * | cellBasis ) |
Definition at line 231 of file Intrepid2_OrientationToolsDefMatrixData.hpp.
void Intrepid2::OrientationTools< DeviceType >::init_HGRAD | ( | typename OrientationTools< DT >::CoeffMatrixDataViewType | matData, |
BasisHostType const * | cellBasis ) |
Definition at line 108 of file Intrepid2_OrientationToolsDefMatrixData.hpp.
void Intrepid2::OrientationTools< DeviceType >::init_HVOL | ( | typename OrientationTools< DT >::CoeffMatrixDataViewType | matData, |
BasisHostType const * | cellBasis ) |
Definition at line 265 of file Intrepid2_OrientationToolsDefMatrixData.hpp.
|
inlinestatic |
Modify basis due to orientation.
output | [out] - output array |
input | [in] - input array |
orts | [in] - orientations |
basis | [in] - basis type |
Definition at line 261 of file Intrepid2_OrientationToolsDefModifyBasis.hpp.
References Intrepid2::RealSpaceTools< DeviceType >::clone().
Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHDivBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHGradBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getL2BasisCoeffs(), and Intrepid2::Experimental::ProjectionTools< DeviceType >::getL2DGBasisCoeffs().
|
static |
key :: basis name, order, value :: matrix data view type
Definition at line 416 of file Intrepid2_OrientationTools.hpp.