Intrepid2
Functions
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.
 
template<class OutputScalar >
KOKKOS_INLINE_FUNCTION void Intrepid2::transformHDIVFromESEASPyramidValue (OutputScalar &xcomp_int2, OutputScalar &ycomp_int2, OutputScalar &zcomp_int2, const OutputScalar &xcomp_eseas, const OutputScalar &ycomp_eseas, const OutputScalar &zcomp_eseas)
 Transforms values in H(div) computed on the ESEAS pyramid to values on the Intrepid2 H(div) pyramid. It is allowed for outputs to be in the same memory location as inputs (e.g. xcomp_int2 may refer to the same location as xcomp_eseas).
 
template<class OutputScalar >
KOKKOS_INLINE_FUNCTION void Intrepid2::transformHDIVFromESEASPyramidDIV (OutputScalar &div_int2, const OutputScalar &div_eseas)
 Transforms values in H(div) computed on the ESEAS pyramid to values on the Intrepid2 H(div) 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.

References Intrepid2::affinePyramid().

Referenced by Intrepid2::affinePyramid().

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

References Intrepid2::transformFromESEASPyramidGradient().

Referenced by Intrepid2::transformFromESEASPyramidGradient().

◆ transformHDIVFromESEASPyramidDIV()

template<class OutputScalar >
KOKKOS_INLINE_FUNCTION void Intrepid2::transformHDIVFromESEASPyramidDIV ( OutputScalar &  div_int2,
const OutputScalar &  div_eseas 
)

Transforms values in H(div) computed on the ESEAS pyramid to values on the Intrepid2 H(div) pyramid.

Definition at line 168 of file Intrepid2_PyramidCoords.hpp.

References Intrepid2::transformHDIVFromESEASPyramidDIV().

Referenced by Intrepid2::transformHDIVFromESEASPyramidDIV().

◆ transformHDIVFromESEASPyramidValue()

template<class OutputScalar >
KOKKOS_INLINE_FUNCTION void Intrepid2::transformHDIVFromESEASPyramidValue ( OutputScalar &  xcomp_int2,
OutputScalar &  ycomp_int2,
OutputScalar &  zcomp_int2,
const OutputScalar &  xcomp_eseas,
const OutputScalar &  ycomp_eseas,
const OutputScalar &  zcomp_eseas 
)

Transforms values in H(div) computed on the ESEAS pyramid to values on the Intrepid2 H(div) pyramid. It is allowed for outputs to be in the same memory location as inputs (e.g. xcomp_int2 may refer to the same location as xcomp_eseas).

Definition at line 149 of file Intrepid2_PyramidCoords.hpp.

References Intrepid2::transformHDIVFromESEASPyramidValue().

Referenced by Intrepid2::transformHDIVFromESEASPyramidValue().

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

References Intrepid2::transformToESEASPyramid().

Referenced by Intrepid2::transformToESEASPyramid().