Intrepid2
Static Public Member Functions | List of all members
Intrepid2::LagrangianTools< DeviceType > Class Template Reference

A class providing tools for Lagrangian elements as static members. More...

#include <Intrepid2_LagrangianInterpolation.hpp>

Static Public Member Functions

template<typename BasisType , class ... coordsProperties, typename ortValueType , class ... ortProperties>
static void getOrientedDofCoords (Kokkos::DynRankView< typename BasisType::scalarType, coordsProperties... > dofCoords, const BasisType *cellBasis, const Kokkos::DynRankView< ortValueType, ortProperties... > cellOrientations)
 Computes the coordinates associated with the basis DOFs for the reference oriented element.
 
template<typename BasisType , class ... coeffsProperties, typename ortValueType , class ... ortProperties>
static void getOrientedDofCoeffs (Kokkos::DynRankView< typename BasisType::scalarType, coeffsProperties... > dofCoeffs, const BasisType *cellBasis, const Kokkos::DynRankView< ortValueType, ortProperties... > cellOrientations)
 Computes the coefficients associated with the basis DOFs for the reference oriented element.
 

Detailed Description

template<typename DeviceType>
class Intrepid2::LagrangianTools< DeviceType >

A class providing tools for Lagrangian elements as static members.

Lagrangian orthonormal DOFs are defined as

\[
L_i(f) := f(\mathbf x_i) \cdot \beta_i, \quad L_i(\phi_j) = \delta_{ij},
\]

where $\beta_i$ are referred to as dofCoeffs, and $\mathbf x_i$ as the dofCoords.

This class provides tools to compute dofCoords and dofCoeffs for the oriented reference element.

Definition at line 142 of file Intrepid2_LagrangianInterpolation.hpp.

Member Function Documentation

◆ getOrientedDofCoeffs()

template<typename DeviceType >
template<typename BasisType , class ... coeffsProperties, typename ortValueType , class ... ortProperties>
void Intrepid2::LagrangianTools< DeviceType >::getOrientedDofCoeffs ( Kokkos::DynRankView< typename BasisType::scalarType, coeffsProperties... >  dofCoeffs,
const BasisType *  cellBasis,
const Kokkos::DynRankView< ortValueType, ortProperties... >  cellOrientations 
)
static

Computes the coefficients associated with the basis DOFs for the reference oriented element.

C - num. cells
F - num. fields
D - spatial dimension
Parameters
dofCoeffs[out] - variable rank view that will contain coefficients associated with the basis DOFs.
cellBasis[in] - pointer to the basis for the interpolation
cellOrientations[in] - rank-1 view (C) containing the Orientation objects at each cell
Remarks
the output views need to be pre-allocated. dofCoeffs has rank 2, (C,F) for scalar basis and 3, (C,F,D) for vector basis.

Definition at line 286 of file Intrepid2_LagrangianInterpolationDef.hpp.

References Intrepid2::OrientationTools< DeviceType >::modifyBasisByOrientationInverse().

◆ getOrientedDofCoords()

template<typename DeviceType >
template<typename BasisType , class ... coordsProperties, typename ortValueType , class ... ortProperties>
void Intrepid2::LagrangianTools< DeviceType >::getOrientedDofCoords ( Kokkos::DynRankView< typename BasisType::scalarType, coordsProperties... >  dofCoords,
const BasisType *  cellBasis,
const Kokkos::DynRankView< ortValueType, ortProperties... >  cellOrientations 
)
static

Computes the coordinates associated with the basis DOFs for the reference oriented element.

C - num. cells
F - num. fields
D - spatial dimension
Parameters
dofCoords[out] - rank-3 view (C,F,D), that will contain coordinates associated with the basis DOFs.
cellBasis[in] - pointer to the basis for the interpolation
cellOrientations[in] - rank-1 view (C) containing the Orientation objects at each cell
Remarks
the output views need to be pre-allocated.

Definition at line 140 of file Intrepid2_LagrangianInterpolationDef.hpp.

References Intrepid2::RealSpaceTools< DeviceType >::clone(), and Intrepid2::RefSubcellParametrization< DeviceType >::get().


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