Intrepid2
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType > Class Template Reference

An helper class to compute the evaluation points and weights needed for performing projections. More...

#include <Intrepid2_ProjectionStruct.hpp>

Public Types

enum  EvalPointsType { BASIS , TARGET }
 
typedef Kokkos::pair< ordinal_type, ordinal_type > range_type
 
typedef Kokkos::DefaultHostExecutionSpace HostExecutionSpaceType
 KK : do we really need this complication instead of using default host exec space ????
 
typedef Kokkos::HostSpace HostMemorySpaceType
 
typedef Kokkos::Device< HostExecutionSpaceType, HostMemorySpaceType > HostDeviceType
 
typedef Kokkos::DynRankView< ValueType, HostDeviceType > view_type
 
typedef Kokkos::View< range_type **, HostDeviceType > range_tag
 
typedef std::array< std::array< view_type, maxSubCellsCount >, numberSubCellDims > view_tag
 
typedef Kokkos::View< unsigned **, HostDeviceType > key_tag
 

Public Member Functions

ordinal_type getNumBasisEvalPoints ()
 Returns number of basis evaluation points.
 
ordinal_type getNumBasisDerivEvalPoints ()
 Returns number of evaluation points for basis derivatives.
 
ordinal_type getNumTargetEvalPoints ()
 Returns number of points where to evaluate the target function.
 
ordinal_type getNumTargetDerivEvalPoints ()
 Returns number of points where to evaluate the derivatives of the target function.
 
ordinal_type getMaxNumDerivPoints (const EvalPointsType type) const
 Returns the maximum number of derivative evaluation points across all the subcells.
 
ordinal_type getMaxNumEvalPoints (const EvalPointsType type) const
 Returns the maximum number of evaluation points across all the subcells.
 
view_type getBasisEvalPoints (const ordinal_type subCellDim, const ordinal_type subCellId)
 Returns the basis evaluation points on a subcell.
 
view_type getBasisDerivEvalPoints (const ordinal_type subCellDim, const ordinal_type subCellId)
 Returns the evaluation points for basis derivatives on a subcell.
 
view_type getTargetEvalPoints (const ordinal_type subCellDim, const ordinal_type subCellId)
 Returns the points where to evaluate the target function on a subcell.
 
view_type getTargetDerivEvalPoints (const ordinal_type subCellDim, const ordinal_type subCellId)
 Returns the points where to evaluate the derivatives of the target function on a subcell.
 
view_type getEvalPoints (const ordinal_type subCellDim, const ordinal_type subCellId, EvalPointsType type) const
 Returns the basis/target evaluation points on a subcell.
 
view_type getDerivEvalPoints (const ordinal_type subCellDim, const ordinal_type subCellId, EvalPointsType type) const
 Returns the evaluation points for basis/target derivatives on a subcell.
 
view_type getBasisEvalWeights (const ordinal_type subCellDim, const ordinal_type subCellId)
 Returns the basis evaluation weights on a subcell.
 
view_type getBasisDerivEvalWeights (const ordinal_type subCellDim, const ordinal_type subCellId)
 Returns the basis derivatives evaluation weights on a subcell.
 
view_type getTargetEvalWeights (const ordinal_type subCellDim, const ordinal_type subCellId)
 Returns the function evaluation weights on a subcell.
 
view_type getTargetDerivEvalWeights (const ordinal_type subCellDim, const ordinal_type subCellId)
 Returns the function derivatives evaluation weights on a subcell.
 
const range_tag getBasisPointsRange () const
 Returns the range tag of the basis evaluation points subcells.
 
const range_tag getPointsRange (const EvalPointsType type) const
 Returns the range tag of the basis/target evaluation points in subcells.
 
const range_tag getBasisDerivPointsRange () const
 Returns the range tag of the derivative evaluation points on subcell.
 
const range_tag getDerivPointsRange (const EvalPointsType type) const
 Returns the range tag of the basis/target derivative evaluation points on subcells.
 
const range_tag getTargetPointsRange () const
 Returns the range of the target function evaluation points on subcells.
 
const range_tag getTargetDerivPointsRange () const
 Returns the range tag of the target function derivative evaluation points on subcells.
 
const key_tag getTopologyKey () const
 Returns the key tag for subcells.
 
template<typename BasisPtrType >
void createL2ProjectionStruct (const BasisPtrType cellBasis, const ordinal_type targetCubDegree)
 Initialize the ProjectionStruct for L2 projections.
 
template<typename BasisPtrType >
void createL2DGProjectionStruct (const BasisPtrType cellBasis, const ordinal_type targetCubDegree)
 Initialize the ProjectionStruct for (discontinuous local-L2) projection.
 
template<typename BasisPtrType >
void createHGradProjectionStruct (const BasisPtrType cellBasis, const ordinal_type targetCubDegree, const ordinal_type targetGradCubDegre)
 Initialize the ProjectionStruct for HGRAD projections.
 
template<typename BasisPtrType >
void createHCurlProjectionStruct (const BasisPtrType cellBasis, const ordinal_type targetCubDegree, const ordinal_type targetCurlCubDegre)
 Initialize the ProjectionStruct for HCURL projections.
 
template<typename BasisPtrType >
void createHDivProjectionStruct (const BasisPtrType cellBasis, const ordinal_type targetCubDegree, const ordinal_type targetDivCubDegre)
 Initialize the ProjectionStruct for HDIV projections.
 
template<typename BasisPtrType >
void createHVolProjectionStruct (const BasisPtrType cellBasis, const ordinal_type targetCubDegree)
 Initialize the ProjectionStruct for HVOL (local-L2) projection.
 

Public Attributes

key_tag subCellTopologyKey
 
range_tag basisPointsRange
 
range_tag basisDerivPointsRange
 
range_tag targetPointsRange
 
range_tag targetDerivPointsRange
 
view_tag basisCubPoints
 
view_tag basisCubWeights
 
view_tag basisDerivCubPoints
 
view_tag basisDerivCubWeights
 
view_tag targetCubPoints
 
view_tag targetCubWeights
 
view_tag targetDerivCubPoints
 
view_tag targetDerivCubWeights
 
ordinal_type numBasisEvalPoints
 
ordinal_type numBasisDerivEvalPoints
 
ordinal_type numTargetEvalPoints
 
ordinal_type numTargetDerivEvalPoints
 
ordinal_type maxNumBasisEvalPoints
 
ordinal_type maxNumTargetEvalPoints
 
ordinal_type maxNumBasisDerivEvalPoints
 
ordinal_type maxNumTargetDerivEvalPoints
 

Static Public Attributes

static constexpr int numberSubCellDims = 4
 
static constexpr int maxSubCellsCount = 12
 

Detailed Description

template<typename DeviceType, typename ValueType>
class Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >

An helper class to compute the evaluation points and weights needed for performing projections.

In order to perform projections, the basis functions and the target function need to be evaluated at several sets of evaluation points (cubature points) defined on subcell entities (edges, faces, volumes). Depending on the projection, the evaluation of derivatives of the basis functions and of the target function may be needed as well. This class provides a struct to store the evaluation points/weights on the reference cell.

Use: create the proper ProjectionStruct rule by calling one of the functions: createL2ProjectionStruct, createHGradProjectionStruct, createHCurlProjectionStruct, createHDivProjectionStruct, createHVolProjectionStruct, depending on the type of projection wanted.

The created class is then used with the Projection Tools. See ProjectionTools class for more info.

Definition at line 87 of file Intrepid2_ProjectionStruct.hpp.

Member Typedef Documentation

◆ HostDeviceType

template<typename DeviceType , typename ValueType >
typedef Kokkos::Device<HostExecutionSpaceType,HostMemorySpaceType> Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::HostDeviceType

Definition at line 96 of file Intrepid2_ProjectionStruct.hpp.

◆ HostExecutionSpaceType

template<typename DeviceType , typename ValueType >
typedef Kokkos::DefaultHostExecutionSpace Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::HostExecutionSpaceType

KK : do we really need this complication instead of using default host exec space ????

Definition at line 94 of file Intrepid2_ProjectionStruct.hpp.

◆ HostMemorySpaceType

template<typename DeviceType , typename ValueType >
typedef Kokkos::HostSpace Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::HostMemorySpaceType

Definition at line 95 of file Intrepid2_ProjectionStruct.hpp.

◆ key_tag

template<typename DeviceType , typename ValueType >
typedef Kokkos::View<unsigned**,HostDeviceType > Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::key_tag

Definition at line 105 of file Intrepid2_ProjectionStruct.hpp.

◆ range_tag

template<typename DeviceType , typename ValueType >
typedef Kokkos::View<range_type**,HostDeviceType> Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::range_tag

Definition at line 98 of file Intrepid2_ProjectionStruct.hpp.

◆ range_type

template<typename DeviceType , typename ValueType >
typedef Kokkos::pair<ordinal_type,ordinal_type> Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::range_type

Definition at line 92 of file Intrepid2_ProjectionStruct.hpp.

◆ view_tag

template<typename DeviceType , typename ValueType >
typedef std::array<std::array<view_type, maxSubCellsCount>, numberSubCellDims> Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::view_tag

Definition at line 104 of file Intrepid2_ProjectionStruct.hpp.

◆ view_type

template<typename DeviceType , typename ValueType >
typedef Kokkos::DynRankView<ValueType,HostDeviceType > Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::view_type

Definition at line 97 of file Intrepid2_ProjectionStruct.hpp.

Member Enumeration Documentation

◆ EvalPointsType

template<typename DeviceType , typename ValueType >
enum Intrepid2::Experimental::ProjectionStruct::EvalPointsType

Definition at line 90 of file Intrepid2_ProjectionStruct.hpp.

Member Function Documentation

◆ createHCurlProjectionStruct()

template<typename DeviceType , typename ValueType >
template<typename BasisPtrType >
void Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::createHCurlProjectionStruct ( const BasisPtrType  cellBasis,
const ordinal_type  targetCubDegree,
const ordinal_type  targetCurlCubDegre 
)

Initialize the ProjectionStruct for HCURL projections.

Parameters
cellBasis[in] - HCURL basis functions for the projection
targetCubDegree[in] - degree of the cubature needed to integrate the target function
targetGradCubDegre[in] - degree of the cubature needed to integrate the derivative of target function

Definition at line 311 of file Intrepid2_ProjectionStructDef.hpp.

References Intrepid2::DefaultCubatureFactory::create().

◆ createHDivProjectionStruct()

template<typename DeviceType , typename ValueType >
template<typename BasisPtrType >
void Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::createHDivProjectionStruct ( const BasisPtrType  cellBasis,
const ordinal_type  targetCubDegree,
const ordinal_type  targetDivCubDegre 
)

Initialize the ProjectionStruct for HDIV projections.

Parameters
cellBasis[in] - HDIV basis functions for the projection
targetCubDegree[in] - degree of the cubature needed to integrate the target function
targetGradCubDegre[in] - degree of the cubature needed to integrate the derivative of target function

Definition at line 440 of file Intrepid2_ProjectionStructDef.hpp.

References Intrepid2::DefaultCubatureFactory::create(), and Intrepid2::Basis< Device, outputValueType, pointValueType >::getDofCount().

◆ createHGradProjectionStruct()

template<typename DeviceType , typename ValueType >
template<typename BasisPtrType >
void Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::createHGradProjectionStruct ( const BasisPtrType  cellBasis,
const ordinal_type  targetCubDegree,
const ordinal_type  targetGradCubDegre 
)

Initialize the ProjectionStruct for HGRAD projections.

Parameters
cellBasis[in] - HGRAD basis functions for the projection
targetCubDegree[in] - degree of the cubature needed to integrate the target function
targetGradCubDegre[in] - degree of the cubature needed to integrate the derivative of target function

Definition at line 194 of file Intrepid2_ProjectionStructDef.hpp.

References Intrepid2::DefaultCubatureFactory::create(), and Intrepid2::CellTools< DeviceType >::getReferenceVertex().

◆ createHVolProjectionStruct()

template<typename DeviceType , typename ValueType >
template<typename BasisPtrType >
void Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::createHVolProjectionStruct ( const BasisPtrType  cellBasis,
const ordinal_type  targetCubDegree 
)

Initialize the ProjectionStruct for HVOL (local-L2) projection.

Parameters
cellBasis[in] - HVOL basis functions for the projection
targetCubDegree[in] - degree of the cubature needed to integrate the target function

Definition at line 556 of file Intrepid2_ProjectionStructDef.hpp.

References Intrepid2::DefaultCubatureFactory::create().

Referenced by Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::createL2DGProjectionStruct().

◆ createL2DGProjectionStruct()

template<typename DeviceType , typename ValueType >
template<typename BasisPtrType >
void Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::createL2DGProjectionStruct ( const BasisPtrType  cellBasis,
const ordinal_type  targetCubDegree 
)
inline

Initialize the ProjectionStruct for (discontinuous local-L2) projection.

Parameters
cellBasis[in] - basis functions for the projection
targetCubDegree[in] - degree of the cubature needed to integrate the target function

Definition at line 419 of file Intrepid2_ProjectionStruct.hpp.

References Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::createHVolProjectionStruct().

◆ createL2ProjectionStruct()

template<typename DeviceType , typename ValueType >
template<typename BasisPtrType >
void Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::createL2ProjectionStruct ( const BasisPtrType  cellBasis,
const ordinal_type  targetCubDegree 
)

Initialize the ProjectionStruct for L2 projections.

Parameters
cellBasis[in] - basis functions for the projection
targetCubDegree[in] - degree of the cubature needed to integrate the target function

Definition at line 67 of file Intrepid2_ProjectionStructDef.hpp.

References Intrepid2::DefaultCubatureFactory::create(), and Intrepid2::CellTools< DeviceType >::getReferenceVertex().

◆ getBasisDerivEvalPoints()

template<typename DeviceType , typename ValueType >
view_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getBasisDerivEvalPoints ( const ordinal_type  subCellDim,
const ordinal_type  subCellId 
)
inline

Returns the evaluation points for basis derivatives on a subcell.

P - num. evaluation points
D - spatial dimension
Parameters
subCellDim[in] - dimension of the subcell
subCellId[in] - ordinal of the subcell defined by cell topology
Returns
a rank-2 view (P,D) containing the basis derivatives evaluation points on the selected subcell

Definition at line 186 of file Intrepid2_ProjectionStruct.hpp.

◆ getBasisDerivEvalWeights()

template<typename DeviceType , typename ValueType >
view_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getBasisDerivEvalWeights ( const ordinal_type  subCellDim,
const ordinal_type  subCellId 
)
inline

Returns the basis derivatives evaluation weights on a subcell.

P - num. evaluation points
Parameters
subCellDim[in] - dimension of the subcell
subCellId[in] - ordinal of the subcell defined by cell topology
Returns
a rank-1 view (P) containing the basis derivatives evaluation weights on the selected subcell

Definition at line 296 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHDivBasisCoeffs(), and Intrepid2::Experimental::ProjectionTools< DeviceType >::getHGradBasisCoeffs().

◆ getBasisDerivPointsRange()

template<typename DeviceType , typename ValueType >
const range_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getBasisDerivPointsRange ( ) const
inline

Returns the range tag of the derivative evaluation points on subcell.

Returns
the range tag of the basis derivative evaluation points corresponding on subcell

Definition at line 359 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHDivBasisCoeffs(), and Intrepid2::Experimental::ProjectionTools< DeviceType >::getHGradBasisCoeffs().

◆ getBasisEvalPoints()

template<typename DeviceType , typename ValueType >
view_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getBasisEvalPoints ( const ordinal_type  subCellDim,
const ordinal_type  subCellId 
)
inline

Returns the basis evaluation points on a subcell.

P - num. evaluation points
D - spatial dimension
Parameters
subCellDim[in] - dimension of the subcell
subCellId[in] - ordinal of the subcell defined by cell topology
Returns
a rank-2 view (P,D) containing the basis evaluation points on the selected subcell

Definition at line 169 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlBasisCoeffs().

◆ getBasisEvalWeights()

template<typename DeviceType , typename ValueType >
view_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getBasisEvalWeights ( const ordinal_type  subCellDim,
const ordinal_type  subCellId 
)
inline

Returns the basis evaluation weights on a subcell.

P - num. evaluation points
Parameters
subCellDim[in] - dimension of the subcell
subCellId[in] - ordinal of the subcell defined by cell topology
Returns
a rank-1 view (P) containing the basis evaluation weights on the selected subcell

Definition at line 280 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHDivBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHVolBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getL2BasisCoeffs(), and Intrepid2::Experimental::ProjectionTools< DeviceType >::getL2DGBasisCoeffs().

◆ getBasisPointsRange()

template<typename DeviceType , typename ValueType >
const range_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getBasisPointsRange ( ) const
inline

◆ getDerivEvalPoints()

template<typename DeviceType , typename ValueType >
view_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getDerivEvalPoints ( const ordinal_type  subCellDim,
const ordinal_type  subCellId,
EvalPointsType  type 
) const
inline

Returns the evaluation points for basis/target derivatives on a subcell.

P - num. evaluation points
D - spatial dimension
Parameters
subCellDim[in] - dimension of the subcell
subCellId[in] - ordinal of the subcell defined by cell topology
evalPointType[in] - enum selecting whether the points should be computed for the basis functions or for the target function
Returns
a rank-2 view (P,D) containing the basis/target derivatives evaluation points on the selected subcell

Definition at line 260 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlEvaluationPoints(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHDivEvaluationPoints(), and Intrepid2::Experimental::ProjectionTools< DeviceType >::getHGradEvaluationPoints().

◆ getDerivPointsRange()

template<typename DeviceType , typename ValueType >
const range_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getDerivPointsRange ( const EvalPointsType  type) const
inline

Returns the range tag of the basis/target derivative evaluation points on subcells.

Parameters
evalPointType[in] - enum selecting whether the points should be computed for the basis functions or for the target function
Returns
the range tag of the basis/target derivative evaluation points on subcells

Definition at line 369 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlEvaluationPoints(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHDivEvaluationPoints(), and Intrepid2::Experimental::ProjectionTools< DeviceType >::getHGradEvaluationPoints().

◆ getEvalPoints()

template<typename DeviceType , typename ValueType >
view_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getEvalPoints ( const ordinal_type  subCellDim,
const ordinal_type  subCellId,
EvalPointsType  type 
) const
inline

Returns the basis/target evaluation points on a subcell.

P - num. evaluation points
D - spatial dimension
Parameters
subCellDim[in] - dimension of the subcell
subCellId[in] - ordinal of the subcell defined by cell topology
evalPointType[in] - enum selecting whether the points should be computed for the basis functions or for the target function
Returns
a rank-2 view (P,D) containing the basis/target function evaluation points on the selected subcell

Definition at line 239 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlEvaluationPoints(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHDivEvaluationPoints(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHGradEvaluationPoints(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHVolEvaluationPoints(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getL2DGBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getL2DGEvaluationPoints(), and Intrepid2::Experimental::ProjectionTools< DeviceType >::getL2EvaluationPoints().

◆ getMaxNumDerivPoints()

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getMaxNumDerivPoints ( const EvalPointsType  type) const
inline

Returns the maximum number of derivative evaluation points across all the subcells.

Parameters
evalPointType[in] - enum selecting whether the points should be computed for the basis functions or for the target function
Returns
the maximum number of the derivative evaluation points across all the subcells

Definition at line 137 of file Intrepid2_ProjectionStruct.hpp.

◆ getMaxNumEvalPoints()

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getMaxNumEvalPoints ( const EvalPointsType  type) const
inline

Returns the maximum number of evaluation points across all the subcells.

Parameters
evalPointType[in] - enum selecting whether the points should be computed for the basis functions or for the target function
Returns
the maximum number of the evaluation points across all the subcells

Definition at line 150 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getL2EvaluationPoints().

◆ getNumBasisDerivEvalPoints()

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getNumBasisDerivEvalPoints ( )
inline

◆ getNumBasisEvalPoints()

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getNumBasisEvalPoints ( )
inline

◆ getNumTargetDerivEvalPoints()

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getNumTargetDerivEvalPoints ( )
inline

Returns number of points where to evaluate the derivatives of the target function.

Definition at line 127 of file Intrepid2_ProjectionStruct.hpp.

◆ getNumTargetEvalPoints()

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getNumTargetEvalPoints ( )
inline

Returns number of points where to evaluate the target function.

Definition at line 121 of file Intrepid2_ProjectionStruct.hpp.

◆ getPointsRange()

template<typename DeviceType , typename ValueType >
const range_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getPointsRange ( const EvalPointsType  type) const
inline

Returns the range tag of the basis/target evaluation points in subcells.

Parameters
evalPointType[in] - enum selecting whether the points should be computed for the basis functions or for the target function
Returns
the range tag of the basis/target evaluation points on subcells

Definition at line 347 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlEvaluationPoints(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHDivEvaluationPoints(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHGradEvaluationPoints(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHVolEvaluationPoints(), and Intrepid2::Experimental::ProjectionTools< DeviceType >::getL2EvaluationPoints().

◆ getTargetDerivEvalPoints()

template<typename DeviceType , typename ValueType >
view_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getTargetDerivEvalPoints ( const ordinal_type  subCellDim,
const ordinal_type  subCellId 
)
inline

Returns the points where to evaluate the derivatives of the target function on a subcell.

P - num. evaluation points
D - spatial dimension
Parameters
subCellDim[in] - dimension of the subcell
subCellId[in] - ordinal of the subcell defined by cell topology
Returns
a rank-2 view (P,D) containing the target derivatives evaluation points on the selected subcell

Definition at line 220 of file Intrepid2_ProjectionStruct.hpp.

◆ getTargetDerivEvalWeights()

template<typename DeviceType , typename ValueType >
view_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getTargetDerivEvalWeights ( const ordinal_type  subCellDim,
const ordinal_type  subCellId 
)
inline

Returns the function derivatives evaluation weights on a subcell.

P - num. evaluation points
Parameters
subCellDim[in] - dimension of the subcell
subCellId[in] - ordinal of the subcell defined by cell topology
Returns
a rank-1 view (P) containing the target derivatives evaluation weights on the selected subcell

Definition at line 328 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHDivBasisCoeffs(), and Intrepid2::Experimental::ProjectionTools< DeviceType >::getHGradBasisCoeffs().

◆ getTargetDerivPointsRange()

template<typename DeviceType , typename ValueType >
const range_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getTargetDerivPointsRange ( ) const
inline

Returns the range tag of the target function derivative evaluation points on subcells.

Returns
the range of the target function derivative evaluation points corresponding on subcells

Definition at line 390 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHDivBasisCoeffs(), and Intrepid2::Experimental::ProjectionTools< DeviceType >::getHGradBasisCoeffs().

◆ getTargetEvalPoints()

template<typename DeviceType , typename ValueType >
view_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getTargetEvalPoints ( const ordinal_type  subCellDim,
const ordinal_type  subCellId 
)
inline

Returns the points where to evaluate the target function on a subcell.

P - num. evaluation points
D - spatial dimension
Parameters
subCellDim[in] - dimension of the subcell
subCellId[in] - ordinal of the subcell defined by cell topology
Returns
a rank-2 view (P,D) containing the target evaluation points on the selected subcell

Definition at line 203 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlBasisCoeffs(), and Intrepid2::Experimental::ProjectionTools< DeviceType >::getHDivEvaluationPoints().

◆ getTargetEvalWeights()

template<typename DeviceType , typename ValueType >
view_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getTargetEvalWeights ( const ordinal_type  subCellDim,
const ordinal_type  subCellId 
)
inline

Returns the function evaluation weights on a subcell.

P - num. evaluation points
Parameters
subCellDim[in] - dimension of the subcell
subCellId[in] - ordinal of the subcell defined by cell topology
Returns
a rank-1 view (P) containing the target evaluation weights on the selected subcell

Definition at line 312 of file Intrepid2_ProjectionStruct.hpp.

Referenced by Intrepid2::Experimental::ProjectionTools< DeviceType >::getHCurlBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHDivBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getHVolBasisCoeffs(), Intrepid2::Experimental::ProjectionTools< DeviceType >::getL2BasisCoeffs(), and Intrepid2::Experimental::ProjectionTools< DeviceType >::getL2DGBasisCoeffs().

◆ getTargetPointsRange()

template<typename DeviceType , typename ValueType >
const range_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getTargetPointsRange ( ) const
inline

◆ getTopologyKey()

template<typename DeviceType , typename ValueType >
const key_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::getTopologyKey ( ) const
inline

Member Data Documentation

◆ basisCubPoints

template<typename DeviceType , typename ValueType >
view_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::basisCubPoints

Definition at line 470 of file Intrepid2_ProjectionStruct.hpp.

◆ basisCubWeights

template<typename DeviceType , typename ValueType >
view_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::basisCubWeights

Definition at line 471 of file Intrepid2_ProjectionStruct.hpp.

◆ basisDerivCubPoints

template<typename DeviceType , typename ValueType >
view_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::basisDerivCubPoints

Definition at line 472 of file Intrepid2_ProjectionStruct.hpp.

◆ basisDerivCubWeights

template<typename DeviceType , typename ValueType >
view_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::basisDerivCubWeights

Definition at line 473 of file Intrepid2_ProjectionStruct.hpp.

◆ basisDerivPointsRange

template<typename DeviceType , typename ValueType >
range_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::basisDerivPointsRange

Definition at line 467 of file Intrepid2_ProjectionStruct.hpp.

◆ basisPointsRange

template<typename DeviceType , typename ValueType >
range_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::basisPointsRange

Definition at line 466 of file Intrepid2_ProjectionStruct.hpp.

◆ maxNumBasisDerivEvalPoints

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::maxNumBasisDerivEvalPoints

Definition at line 484 of file Intrepid2_ProjectionStruct.hpp.

◆ maxNumBasisEvalPoints

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::maxNumBasisEvalPoints

Definition at line 482 of file Intrepid2_ProjectionStruct.hpp.

◆ maxNumTargetDerivEvalPoints

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::maxNumTargetDerivEvalPoints

Definition at line 485 of file Intrepid2_ProjectionStruct.hpp.

◆ maxNumTargetEvalPoints

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::maxNumTargetEvalPoints

Definition at line 483 of file Intrepid2_ProjectionStruct.hpp.

◆ maxSubCellsCount

template<typename DeviceType , typename ValueType >
constexpr int Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::maxSubCellsCount = 12
staticconstexpr

Definition at line 103 of file Intrepid2_ProjectionStruct.hpp.

◆ numBasisDerivEvalPoints

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::numBasisDerivEvalPoints

Definition at line 479 of file Intrepid2_ProjectionStruct.hpp.

◆ numBasisEvalPoints

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::numBasisEvalPoints

Definition at line 478 of file Intrepid2_ProjectionStruct.hpp.

◆ numberSubCellDims

template<typename DeviceType , typename ValueType >
constexpr int Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::numberSubCellDims = 4
staticconstexpr

Definition at line 99 of file Intrepid2_ProjectionStruct.hpp.

◆ numTargetDerivEvalPoints

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::numTargetDerivEvalPoints

Definition at line 481 of file Intrepid2_ProjectionStruct.hpp.

◆ numTargetEvalPoints

template<typename DeviceType , typename ValueType >
ordinal_type Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::numTargetEvalPoints

Definition at line 480 of file Intrepid2_ProjectionStruct.hpp.

◆ subCellTopologyKey

template<typename DeviceType , typename ValueType >
key_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::subCellTopologyKey

Definition at line 465 of file Intrepid2_ProjectionStruct.hpp.

◆ targetCubPoints

template<typename DeviceType , typename ValueType >
view_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::targetCubPoints

Definition at line 474 of file Intrepid2_ProjectionStruct.hpp.

◆ targetCubWeights

template<typename DeviceType , typename ValueType >
view_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::targetCubWeights

Definition at line 475 of file Intrepid2_ProjectionStruct.hpp.

◆ targetDerivCubPoints

template<typename DeviceType , typename ValueType >
view_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::targetDerivCubPoints

Definition at line 476 of file Intrepid2_ProjectionStruct.hpp.

◆ targetDerivCubWeights

template<typename DeviceType , typename ValueType >
view_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::targetDerivCubWeights

Definition at line 477 of file Intrepid2_ProjectionStruct.hpp.

◆ targetDerivPointsRange

template<typename DeviceType , typename ValueType >
range_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::targetDerivPointsRange

Definition at line 469 of file Intrepid2_ProjectionStruct.hpp.

◆ targetPointsRange

template<typename DeviceType , typename ValueType >
range_tag Intrepid2::Experimental::ProjectionStruct< DeviceType, ValueType >::targetPointsRange

Definition at line 468 of file Intrepid2_ProjectionStruct.hpp.


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