Intrepid2
Intrepid2_LagrangianInterpolation.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Intrepid2 Package
4 //
5 // Copyright 2007 NTESS and the Intrepid2 contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
14 #ifndef __INTREPID2_LAGRANGIANINTERPOLATION_HPP__
15 #define __INTREPID2_LAGRANGIANINTERPOLATION_HPP__
16 
17 #include "Intrepid2_ConfigDefs.hpp"
18 #include "Intrepid2_Types.hpp"
19 #include "Intrepid2_Utils.hpp"
20 
21 #include "Shards_CellTopology.hpp"
22 #include "Shards_BasicTopologies.hpp"
23 
24 #include "Intrepid2_PointTools.hpp"
25 
26 #include "Intrepid2_Basis.hpp"
27 
28 // -- HGRAD family
32 
35 
36 // -- HCURL family
39 
43 
44 // -- HDIV family
47 
51 
52 // -- Lower order family
55 
58 
62 
66 
67 #include "Teuchos_LAPACK.hpp"
69 
70 
71 namespace Intrepid2 {
72 
96 template<typename DeviceType>
98 public:
99 
118  template<typename basisCoeffsViewType,
119  typename funcViewType,
120  typename BasisType,
121  typename ortViewType>
122  static void
123  getBasisCoeffs(basisCoeffsViewType basisCoeffs,
124  const funcViewType functionAtDofCoords,
125  const BasisType* cellBasis,
126  const ortViewType orts);
127  };
128 
141 template<typename DeviceType>
143 public:
144 
159  template<typename BasisType,
160  class ...coordsProperties,
161  typename ortValueType, class ...ortProperties>
162  static void
164  Kokkos::DynRankView<typename BasisType::scalarType, coordsProperties...> dofCoords,
165  const BasisType* cellBasis,
166  const Kokkos::DynRankView<ortValueType, ortProperties...> cellOrientations
167  );
168 
184  template<typename BasisType,
185  class ...coeffsProperties,
186  typename ortValueType, class ...ortProperties>
187  static void
189  Kokkos::DynRankView<typename BasisType::scalarType, coeffsProperties...> dofCoeffs,
190  const BasisType* cellBasis,
191  const Kokkos::DynRankView<ortValueType, ortProperties...> cellOrientations
192  );
193 };
194 
195 } // Intrepid2 namespace
196 
197 // include templated function definitions
199 
200 #endif
201 
202 
203 
204 
205 
Header file for the Intrepid2::Basis_HGRAD_LINE_Cn_FEM class.
A class providing static members to perform Lagrangian interpolation on a finite element.
Header file for the Intrepid2::Basis_HDIV_TET_I1_FEM class.
Header file for the Intrepid2::Basis_HCURL_HEX_In_FEM class.
Header file for the Intrepid2::Basis_HDIV_HEX_I1_FEM class.
Header file for the Intrepid2::Basis_HDIV_WEDGE_I1_FEM class.
static void getBasisCoeffs(basisCoeffsViewType basisCoeffs, const funcViewType functionAtDofCoords, const BasisType *cellBasis, const ortViewType orts)
Computes the basis weights of the function interpolation.
A class providing tools for Lagrangian elements as static members.
Header file for the Intrepid2::Basis_HDIV_HEX_In_FEM class.
Header function for Intrepid2::Util class and other utility functions.
Header file for the Intrepid2::Basis_HGRAD_TRI_Cn_FEM class.
Header file for the Intrepid2::Basis_HVOL_LINE_Cn_FEM class.
Header file for the Intrepid2::Basis_HDIV_QUAD_I1_FEM class.
Header file for the Intrepid2::Basis_HCURL_TET_In_FEM class.
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...
Header file for the Intrepid2::Basis_HGRAD_TET_Cn_FEM class.
Header file for the Intrepid2::Basis_HDIV_TRI_I1_FEM class.
Header file for the Intrepid2::Basis_HDIV_QUAD_In_FEM class.
Header file for the Intrepid2::OrientationTools and Intrepid2::Impl::OrientationTools classes...
Header file for the Intrepid2::Basis_HCURL_QUAD_In_FEM class.
Header file for the Intrepid2::Basis_HDIV_TRI_In_FEM class.
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...
Contains definitions of custom data types in Intrepid2.
Header file for the Intrepid2::Basis_HGRAD_QUAD_Cn_FEM class.
Header file for the Intrepid2::Basis_HDIV_TET_In_FEM class.
Header file for the Intrepid2::Basis_HCURL_QUAD_I1_FEM class.
Header file for the Intrepid2::Basis_HCURL_WEDGE_I1_FEM class.
Header file for the Intrepid2::Basis_HCURL_TET_I1_FEM class.
Header file for the Intrepid2::Basis_HCURL_HEX_I1_FEM class.
Header file for the Intrepid2::Basis_HCURL_TRI_I1_FEM class.
Header file for the Intrepid2::Basis_HVOL_TRI_Cn_FEM class.
Header file for the Intrepid2::LagrangianInterpolation containing definitions.
Header file for the abstract base class Intrepid2::Basis.
Header file for the Intrepid2::Basis_HCURL_TRI_In_FEM class.
Header file for Intrepid2::PointTools class to provide utilities for barycentric coordinates, equispaced lattices, and warp-blend point distrubtions.
Header file for the Intrepid2::Basis_HGRAD_HEX_Cn_FEM class.