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) |
Static Public Member Functions | |
template<typename BasisType > | |
static CoeffMatrixDataViewType | createCoeffMatrix (const BasisType *basis) |
Create coefficient matrix. More... | |
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) |
Compute orientations of cells in a workset. More... | |
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. More... | |
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. | |
Tools to compute orientations for degrees-of-freedom.
Definition at line 388 of file Intrepid2_OrientationTools.hpp.
|
inlinestatic |
Create coefficient matrix.
basis | [in] - basis type |
Definition at line 231 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 |
Definition at line 65 of file Intrepid2_OrientationToolsDefModifyBasis.hpp.
Referenced by Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::initializeOrientations().
void Intrepid2::OrientationTools< DeviceType >::init_HGRAD | ( | typename OrientationTools< DT >::CoeffMatrixDataViewType | matData, |
BasisHostType const * | cellBasis | ||
) |
KK: mauro, this is an expensive construction for high order elements and we repeat this for all possible orientation combinations we need to address this later
KK: mauro, this is an expensive construction for high order elements and we repeat this for all possible orientation combinations we need to address this later
Definition at line 107 of file Intrepid2_OrientationToolsDefMatrixData.hpp.
References Intrepid2::Impl::OrientationTools::getCoeffMatrix_HGRAD().
|
inlinestatic |
Modify basis due to orientation.
output | [out] - output array |
input | [in] - input array |
orts | [in] - orientations |
basis | [in] - basis type |
Definition at line 230 of file Intrepid2_OrientationToolsDefModifyBasis.hpp.
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().