Intrepid2
|
Tools to compute orientations for degrees-of-freedom. More...
#include <Intrepid2_OrientationTools.hpp>
Public Types | |
typedef Kokkos::View< double ****, ExecSpaceType > | CoeffMatrixDataViewType |
subcell ordinal, orientation, matrix m x n | |
Public Member Functions | |
template<typename BasisPtrType > | |
OrientationTools< SpT > ::CoeffMatrixDataViewType | createCoeffMatrixInternal (BasisPtrType basis) |
template<typename BasisPtrType > | |
OrientationTools< SpT > ::CoeffMatrixDataViewType | createCoeffMatrix (BasisPtrType basis) |
Static Public Member Functions | |
template<typename BasisPtrType > | |
static CoeffMatrixDataViewType | createCoeffMatrix (BasisPtrType basis) |
Create coefficient matrix. More... | |
static void | clearCoeffMatrix () |
Clear coefficient matrix. | |
template<typename ptViewType > | |
static KOKKOS_INLINE_FUNCTION bool | isLeftHandedCell (const ptViewType pts) |
Check if left-handed. If an element is alinged left, it is an error. More... | |
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 ortValueType , class... ortProperties, typename BasisPtrType > | |
static void | modifyBasisByOrientation (Kokkos::DynRankView< outputValueType, outputProperties...> output, const Kokkos::DynRankView< inputValueType, inputProperties...> input, const Kokkos::DynRankView< ortValueType, ortProperties...> orts, const BasisPtrType basis) |
Modify basis due to orientation. More... | |
template<typename ExecutionSpaceType , typename dofCoordsValueType , typename dofCoeffsValueType , typename BasisType > | |
static void | getSubCellBases (Teuchos::RCP< Basis< ExecutionSpaceType, dofCoeffsValueType, dofCoordsValueType > > *faceBases, Teuchos::RCP< Basis< ExecutionSpaceType, dofCoeffsValueType, dofCoordsValueType > > &edgeBasis, const BasisType &basis, EPointType pointType=POINTTYPE_EQUISPACED) |
template<typename dofCoordsValueType , class... dofCoordsProperties, typename dofCoeffsValueType , class... dofCoeffsProperties, typename ortValueType , class... ortProperties, typename BasisType > | |
static void | getModifiedDofs (Kokkos::DynRankView< dofCoordsValueType, dofCoordsProperties...> orientedDofCoords, Kokkos::DynRankView< dofCoeffsValueType, dofCoeffsProperties...> orientedDofCoeffs, const Kokkos::DynRankView< ortValueType, ortProperties...> orts, const BasisType &basis, EPointType pointType=POINTTYPE_EQUISPACED) |
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 BasisPtrType > | |
static CoeffMatrixDataViewType | createCoeffMatrixInternal (BasisPtrType basis) |
static void | init_HGRAD_QUAD_Cn_FEM (CoeffMatrixDataViewType matData, const ordinal_type order) |
static void | init_HGRAD_HEX_Cn_FEM (CoeffMatrixDataViewType matData, const ordinal_type order) |
static void | init_HGRAD_TRI_Cn_FEM (CoeffMatrixDataViewType matData, const ordinal_type order) |
static void | init_HGRAD_TET_Cn_FEM (CoeffMatrixDataViewType matData, const ordinal_type order) |
static void | init_HCURL_QUAD_In_FEM (CoeffMatrixDataViewType matData, const ordinal_type order) |
static void | init_HCURL_HEX_In_FEM (CoeffMatrixDataViewType matData, const ordinal_type order) |
static void | init_HCURL_TRI_In_FEM (CoeffMatrixDataViewType matData, const ordinal_type order) |
static void | init_HCURL_TET_In_FEM (CoeffMatrixDataViewType matData, const ordinal_type order) |
static void | init_HDIV_QUAD_In_FEM (CoeffMatrixDataViewType matData, const ordinal_type order) |
static void | init_HDIV_HEX_In_FEM (CoeffMatrixDataViewType matData, const ordinal_type order) |
static void | init_HDIV_TRI_In_FEM (CoeffMatrixDataViewType matData, const ordinal_type order) |
static void | init_HDIV_TET_In_FEM (CoeffMatrixDataViewType matData, const ordinal_type order) |
static void | init_EDGE_ELEMENT_I1_FEM (CoeffMatrixDataViewType matData, const ordinal_type edgeId) |
static void | init_TRI_FACE_ELEMENT_I1_FEM (CoeffMatrixDataViewType matData, const ordinal_type faceId) |
static void | init_QUAD_FACE_ELEMENT_I1_FEM (CoeffMatrixDataViewType matData, const ordinal_type faceId) |
Tools to compute orientations for degrees-of-freedom.
Definition at line 327 of file Intrepid2_OrientationTools.hpp.
|
inlinestatic |
Create coefficient matrix.
basis | [in] - basis type |
|
inlinestatic |
Compute orientations of cells in a workset.
elemOrts | [out] - cell orientations |
elemNodes | [in] - node coordinates |
cellTopo | [in] - shards cell topology |
Definition at line 109 of file Intrepid2_OrientationToolsDefModifyBasis.hpp.
|
static |
Check if left-handed. If an element is alinged left, it is an error.
pts | [in] - points |
Definition at line 62 of file Intrepid2_OrientationToolsDefModifyBasis.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 133 of file Intrepid2_OrientationToolsDefModifyBasis.hpp.