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. More...
 
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. More...
 

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

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().

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: