Gyselalib++
InverseJacobianMatrix< Mapping, PositionCoordinate > Class Template Reference

A class to calculate the inverse of the Jacobian matrix. More...

Public Member Functions

KOKKOS_FUNCTION InverseJacobianMatrix (Mapping const &mapping)
 A constructor for the InverseJacobianMatrix. More...
 
KOKKOS_INLINE_FUNCTION Matrix_2x2 operator() (PositionCoordinate const &coord) const
 Compute full inverse Jacobian matrix. More...
 
KOKKOS_INLINE_FUNCTION double inv_jacobian_11 (PositionCoordinate const &coord) const
 Compute the (1,1) coefficient of the inverse Jacobian matrix. More...
 
KOKKOS_INLINE_FUNCTION double inv_jacobian_12 (PositionCoordinate const &coord) const
 Compute the (1,2) coefficient of the inverse Jacobian matrix. More...
 
KOKKOS_INLINE_FUNCTION double inv_jacobian_21 (PositionCoordinate const &coord) const
 Compute the (2,1) coefficient of the inverse Jacobian matrix. More...
 
KOKKOS_INLINE_FUNCTION double inv_jacobian_22 (PositionCoordinate const &coord) const
 Compute the (2,2) coefficient of the inverse Jacobian matrix. More...
 

Detailed Description

template<class Mapping, class PositionCoordinate = typename Mapping::CoordArg>
class InverseJacobianMatrix< Mapping, PositionCoordinate >

A class to calculate the inverse of the Jacobian matrix.

If specialised methods are available then these are used by the class. Otherwise the inverse is calculated from the Jacobian matrix.

Template Parameters
MappingThe mapping whose inverse we are interested in.
PositionCoordinateThe coordinate system in which the inverse should be calculated.

Constructor & Destructor Documentation

◆ InverseJacobianMatrix()

template<class Mapping , class PositionCoordinate = typename Mapping::CoordArg>
KOKKOS_FUNCTION InverseJacobianMatrix< Mapping, PositionCoordinate >::InverseJacobianMatrix ( Mapping const &  mapping)
inlineexplicit

A constructor for the InverseJacobianMatrix.

Parameters
[in]mappingThe mapping whose inverse we are interested in.

Member Function Documentation

◆ operator()()

template<class Mapping , class PositionCoordinate = typename Mapping::CoordArg>
KOKKOS_INLINE_FUNCTION Matrix_2x2 InverseJacobianMatrix< Mapping, PositionCoordinate >::operator() ( PositionCoordinate const &  coord) const
inline

Compute full inverse Jacobian matrix.

For some computations, we need the complete inverse Jacobian matrix or just the coefficients. The coefficients can be given indendently with the functions inv_jacobian_11, inv_jacobian_12, inv_jacobian_21 and inv_jacobian_22.

Parameters
[in]coordThe coordinate where we evaluate the Jacobian matrix.
Returns
The inverse Jacobian matrix returned.
See also
inv_jacobian_11
inv_jacobian_12
inv_jacobian_21
inv_jacobian_22

◆ inv_jacobian_11()

template<class Mapping , class PositionCoordinate = typename Mapping::CoordArg>
KOKKOS_INLINE_FUNCTION double InverseJacobianMatrix< Mapping, PositionCoordinate >::inv_jacobian_11 ( PositionCoordinate const &  coord) const
inline

Compute the (1,1) coefficient of the inverse Jacobian matrix.

Be careful because not all mappings are invertible, especially at the center point.

Parameters
[in]coordThe coordinate where we evaluate the inverse Jacobian matrix.
Returns
A double with the value of the (1,1) coefficient of the inverse Jacobian matrix.

◆ inv_jacobian_12()

template<class Mapping , class PositionCoordinate = typename Mapping::CoordArg>
KOKKOS_INLINE_FUNCTION double InverseJacobianMatrix< Mapping, PositionCoordinate >::inv_jacobian_12 ( PositionCoordinate const &  coord) const
inline

Compute the (1,2) coefficient of the inverse Jacobian matrix.

Be careful because not all mappings are invertible, especially at the center point.

Parameters
[in]coordThe coordinate where we evaluate the inverse Jacobian matrix.
Returns
A double with the value of the (1,2) coefficient of the inverse Jacobian matrix.

◆ inv_jacobian_21()

template<class Mapping , class PositionCoordinate = typename Mapping::CoordArg>
KOKKOS_INLINE_FUNCTION double InverseJacobianMatrix< Mapping, PositionCoordinate >::inv_jacobian_21 ( PositionCoordinate const &  coord) const
inline

Compute the (2,1) coefficient of the inverse Jacobian matrix.

Be careful because not all mappings are invertible, especially at the center point.

Parameters
[in]coordThe coordinate where we evaluate the inverse Jacobian matrix.
Returns
A double with the value of the (2,1) coefficient of the inverse Jacobian matrix.

◆ inv_jacobian_22()

template<class Mapping , class PositionCoordinate = typename Mapping::CoordArg>
KOKKOS_INLINE_FUNCTION double InverseJacobianMatrix< Mapping, PositionCoordinate >::inv_jacobian_22 ( PositionCoordinate const &  coord) const
inline

Compute the (2,2) coefficient of the inverse Jacobian matrix.

Be careful because not all mappings are invertible, especially at the center point.

Parameters
[in]coordThe coordinate where we evaluate the inverse Jacobian matrix.
Returns
A double with the value of the (2,2) coefficient of the inverse Jacobian matrix.

The documentation for this class was generated from the following file: