Intrepid2
|
A class providing static members to perform Lagrangian interpolation on a finite element. More...
Static Public Member Functions | |
template<typename basisCoeffsViewType , typename funcViewType , typename BasisType , typename ortViewType > | |
static void | getBasisCoeffs (basisCoeffsViewType basisCoeffs, const funcViewType functionAtDofCoords, const BasisType *cellBasis, const ortViewType orts) |
Computes the basis weights of the function interpolation. More... | |
A class providing static members to perform Lagrangian interpolation on a finite element.
classes The Lagrangian interpolant is defined as
where is the basis of the finite element, are the basisCoeffs and are the DOFs of the basis. This class works only for Lagrangian elements that provide a set of orthonormal DOFs defined as
where are referred to as dofCoeffs, and are the coordinates of the basis nodes.
In order to perform the interpolation, evaluate the function at the set of points computed using the basis method getDoCoords and then obtain the basis coefficients by calling the function getBasisCoeffs.
Definition at line 97 of file Intrepid2_LagrangianInterpolation.hpp.
|
static |
Computes the basis weights of the function interpolation.
basisCoeffs | [out] - rank-2 view (C,F) that will contain the basis coefficients of the interpolation. |
functionAtDofCoords | [in] - variable rank view that contains the function evaluated at reference DOF coordinates. |
cellBasis | [in] - pointer to the basis for the interpolation |
cellOrientations | [in] - rank-1 view (C) containing the Orientation objects at each cell |
Definition at line 309 of file Intrepid2_LagrangianInterpolationDef.hpp.
References Intrepid2::RealSpaceTools< DeviceType >::clone(), Intrepid2::ArrayTools< DeviceType >::dotMultiplyDataData(), and Intrepid2::OrientationTools< DeviceType >::modifyBasisByOrientationInverse().