Intrepid2
Public Types | Static Public Member Functions | List of all members
Intrepid2::ProjectedGeometry< spaceDim, PointScalar, DeviceType > Class Template Reference

Allows generation of geometry degrees of freedom based on a provided map from straight-edged mesh domain to curvilinear mesh domain. More...

#include <Intrepid2_ProjectedGeometry.hpp>

Public Types

using ViewType = ScalarView< PointScalar, DeviceType >
 
using ConstViewType = ScalarView< const PointScalar, DeviceType >
 
using BasisPtr = Teuchos::RCP< Basis< DeviceType, PointScalar, PointScalar > >
 

Static Public Member Functions

template<class ExactGeometry , class ExactGeometryGradient >
static void projectOntoHGRADBasis (ViewType projectedBasisNodes, BasisPtr targetHGradBasis, CellGeometry< PointScalar, spaceDim, DeviceType > flatCellGeometry, const ExactGeometry &exactGeometry, const ExactGeometryGradient &exactGeometryGradient)
 Generate geometry degrees of freedom based on a provided map from straight-edged mesh domain to curvilinear mesh domain. More...
 

Detailed Description

template<int spaceDim, typename PointScalar, typename DeviceType>
class Intrepid2::ProjectedGeometry< spaceDim, PointScalar, DeviceType >

Allows generation of geometry degrees of freedom based on a provided map from straight-edged mesh domain to curvilinear mesh domain.

Definition at line 67 of file Intrepid2_ProjectedGeometry.hpp.

Member Function Documentation

template<int spaceDim, typename PointScalar , typename DeviceType >
template<class ExactGeometry , class ExactGeometryGradient >
static void Intrepid2::ProjectedGeometry< spaceDim, PointScalar, DeviceType >::projectOntoHGRADBasis ( ViewType  projectedBasisNodes,
BasisPtr  targetHGradBasis,
CellGeometry< PointScalar, spaceDim, DeviceType >  flatCellGeometry,
const ExactGeometry &  exactGeometry,
const ExactGeometryGradient &  exactGeometryGradient 
)
inlinestatic

Generate geometry degrees of freedom based on a provided map from straight-edged mesh domain to curvilinear mesh domain.

Parameters
[out]projectedBasisNodes- the projected geometry degrees of freedom
[in]targetHGradBasis- the (potentially higher-order) H^1 basis to use to define the basis nodes
[in]flatCellGeometry- the low-order geometry on which the exact geometry functions are defined
[in]exactGeometry- a function defined on the domain described by flatCellGeometry, with values corresponding to the (higher-order) physical geometry.
[in]exactGeometryGradient- the gradient of exactGeometry. For space dimension D, exactGeometry is a functor, accepting a Kokkos::Array<PointScalar,D> as first argument, and a component ordinal representing the coordinate dimension d (0 <= d < D). The return is a PointScalar. exactGeometryGradient is similar, except that it also accepts a second dimension component d2, indicating the direction of the derivative to be evaluated.
See Also
Intrepid2_ProjectedGeometryExamples.hpp for sample implementations of exactGeometry and exactGeometryGradient.

Definition at line 84 of file Intrepid2_ProjectedGeometry.hpp.

References Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::allocateJacobianData(), Intrepid2::Data< DataScalar, DeviceType >::allocateMatVecResult(), Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::basisForNodes(), Intrepid2::ProjectionStruct< DeviceType, ValueType >::createHGradProjectionStruct(), Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::extent_int(), Intrepid2::ProjectionStruct< DeviceType, ValueType >::getAllDerivEvalPoints(), Intrepid2::ProjectionStruct< DeviceType, ValueType >::getAllEvalPoints(), Intrepid2::ProjectionTools< DeviceType >::getHGradBasisCoeffs(), Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::getJacobianRefData(), Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::getOrientations(), Intrepid2::CellTools< DeviceType >::mapToPhysicalFrame(), and Intrepid2::CellGeometry< PointScalar, spaceDim, DeviceType >::setJacobian().


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