Intrepid2
Intrepid2_PyramidCoords.hpp File Reference

Defines several coordinates and their gradients on the pyramid; maps from Intrepid2 (shards) pyramid to the ESEAS pyramid and back. More...

#include <Kokkos_DynRankView.hpp>
#include <Intrepid2_config.h>

Go to the source code of this file.

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.

Detailed Description

Defines several coordinates and their gradients on the pyramid; maps from Intrepid2 (shards) pyramid to the ESEAS pyramid and back.

Author
Created by N.V. Roberts.

Definition in file Intrepid2_PyramidCoords.hpp.

Function Documentation

◆ affinePyramid()

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.

Definition at line 27 of file Intrepid2_PyramidCoords.hpp.

◆ transformFromESEASPyramidGradient()

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.

Definition at line 138 of file Intrepid2_PyramidCoords.hpp.

◆ transformToESEASPyramid()

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

Definition at line 127 of file Intrepid2_PyramidCoords.hpp.