|
Intrepid2
|
H(grad) basis on the pyramid based on integrated Legendre polynomials. More...
#include <Kokkos_DynRankView.hpp>#include <Intrepid2_config.h>#include "Intrepid2_Basis.hpp"#include "Intrepid2_DerivedBasis_HGRAD_QUAD.hpp"#include "Intrepid2_IntegratedLegendreBasis_HGRAD_LINE.hpp"#include "Intrepid2_IntegratedLegendreBasis_HGRAD_TRI.hpp"#include "Intrepid2_Polynomials.hpp"#include "Intrepid2_Utils.hpp"#include "Teuchos_RCP.hpp"Go to the source code of this file.
Classes | |
| class | Intrepid2::Hierarchical_HGRAD_PYR_Functor< DeviceType, OutputScalar, PointScalar, OutputFieldType, InputPointsType > |
| Functor for computing values for the IntegratedLegendreBasis_HGRAD_PYR class. More... | |
| class | Intrepid2::IntegratedLegendreBasis_HGRAD_PYR< DeviceType, OutputScalar, PointScalar, defineVertexFunctions > |
| Basis defining integrated Legendre basis on the line, a polynomial subspace of H(grad) on the line. More... | |
Functions | |
| template<class PointScalar> | |
| KOKKOS_INLINE_FUNCTION void | Intrepid2::affinePyramid (Kokkos::Array< PointScalar, 5 > &lambda, Kokkos::Array< Kokkos::Array< PointScalar, 3 >, 5 > &lambdaGrad, Kokkos::Array< Kokkos::Array< PointScalar, 3 >, 2 > &mu, Kokkos::Array< Kokkos::Array< Kokkos::Array< PointScalar, 3 >, 3 >, 2 > &muGrad, Kokkos::Array< Kokkos::Array< PointScalar, 2 >, 3 > &nu, Kokkos::Array< Kokkos::Array< Kokkos::Array< PointScalar, 3 >, 2 >, 3 > &nuGrad, Kokkos::Array< PointScalar, 3 > &coords) |
| Compute various affine-like coordinates on the pyramid. See Fuentes et al, Appendix E.9 for definitions. | |
| template<class PointScalar> | |
| KOKKOS_INLINE_FUNCTION void | Intrepid2::transformToESEASPyramid (PointScalar &x_eseas, PointScalar &y_eseas, PointScalar &z_eseas, const PointScalar &x_int2, const PointScalar &y_int2, const PointScalar &z_int2) |
| Transforms from the Intrepid2 pyramid, centered at the origin with base [-1,1]^2 and height 1, to ESEAS pyramid, with base [0,1]^2, height 1, with its top vertex at (0,0,1). | |
| template<class OutputScalar> | |
| KOKKOS_INLINE_FUNCTION void | Intrepid2::transformFromESEASPyramidGradient (OutputScalar &dx_int2, OutputScalar &dy_int2, OutputScalar &dz_int2, const OutputScalar &dx_eseas, const OutputScalar &dy_eseas, const OutputScalar &dz_eseas) |
| Transforms gradients computed on the ESEAS pyramid to gradients on the Intrepid2 pyramid. | |
H(grad) basis on the pyramid based on integrated Legendre polynomials.
Note that although this basis is derived from integrated Legendre polynomials, it is not itself a polynomial basis, but a set of rational functions. The vertex functions are nodal at the vertices; edge functions associated with one edge vanish on all others; face functions associated with a given face vanish on other faces. Similarly, the functions associated with the interior vanish on the boundary of the element.
The construction is also hierarchical, in the sense that the basis for p-1 is included in the basis for p.
Intrepid2 has a pre-existing lowest-order HGRAD basis defined on the pyramid, found in Intrepid2_HGRAD_PYR_C1_FEM.hpp; this agrees precisely with this basis when p=1.
Definition in file Intrepid2_IntegratedLegendreBasis_HGRAD_PYR.hpp.
| KOKKOS_INLINE_FUNCTION void Intrepid2::affinePyramid | ( | Kokkos::Array< PointScalar, 5 > & | lambda, |
| Kokkos::Array< Kokkos::Array< PointScalar, 3 >, 5 > & | lambdaGrad, | ||
| Kokkos::Array< Kokkos::Array< PointScalar, 3 >, 2 > & | mu, | ||
| Kokkos::Array< Kokkos::Array< Kokkos::Array< PointScalar, 3 >, 3 >, 2 > & | muGrad, | ||
| Kokkos::Array< Kokkos::Array< PointScalar, 2 >, 3 > & | nu, | ||
| Kokkos::Array< Kokkos::Array< Kokkos::Array< PointScalar, 3 >, 2 >, 3 > & | nuGrad, | ||
| Kokkos::Array< PointScalar, 3 > & | coords ) |
Compute various affine-like coordinates on the pyramid. See Fuentes et al, Appendix E.9 for definitions.
Definition at line 75 of file Intrepid2_IntegratedLegendreBasis_HGRAD_PYR.hpp.
| KOKKOS_INLINE_FUNCTION void Intrepid2::transformFromESEASPyramidGradient | ( | OutputScalar & | dx_int2, |
| OutputScalar & | dy_int2, | ||
| OutputScalar & | dz_int2, | ||
| const OutputScalar & | dx_eseas, | ||
| const OutputScalar & | dy_eseas, | ||
| const OutputScalar & | dz_eseas ) |
Transforms gradients computed on the ESEAS pyramid to gradients on the Intrepid2 pyramid.
Definition at line 186 of file Intrepid2_IntegratedLegendreBasis_HGRAD_PYR.hpp.
| KOKKOS_INLINE_FUNCTION void Intrepid2::transformToESEASPyramid | ( | PointScalar & | x_eseas, |
| PointScalar & | y_eseas, | ||
| PointScalar & | z_eseas, | ||
| const PointScalar & | x_int2, | ||
| const PointScalar & | y_int2, | ||
| const PointScalar & | z_int2 ) |
Transforms from the Intrepid2 pyramid, centered at the origin with base [-1,1]^2 and height 1, to ESEAS pyramid, with base [0,1]^2, height 1, with its top vertex at (0,0,1).
Definition at line 175 of file Intrepid2_IntegratedLegendreBasis_HGRAD_PYR.hpp.