Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website
Loading...
Searching...
No Matches
ScalarFaceValues Struct Reference

Face values of the cell scalars: the cell value (first order) or the linear reconstruction S_c + phi_c grad S_c . r with one limiter value phi_c per cell shared by all scalars (MUSCL); one point per face. Least-squares reconstruction reproduces constants, so mass fractions summing to one in every cell sum to one at every face point to round-off. More...

#include <scalar_reconstruction.h>

Public Member Functions

KOKKOS_INLINE_FUNCTION void offset (const uint32_t c, const uint32_t f, const uint8_t side, rtype *r) const
 Offset from the centroid of cell c, on side side of face f, to the face centroid.
 
KOKKOS_INLINE_FUNCTION rtype value (const uint32_t c, const uint32_t j, const rtype *r) const
 Scalar j of cell c at offset r from its centroid.
 
KOKKOS_INLINE_FUNCTION void face_values (const uint32_t c, const uint32_t j, const uint8_t k, rtype *out) const
 
KOKKOS_INLINE_FUNCTION void cell_values (const uint32_t c, const uint32_t j, FacePointValues *out) const
 

Public Attributes

Kokkos::View< uint32_t * > offsets_faces_of_cell
 
Kokkos::View< uint32_t * > faces_of_cell
 
Kokkos::View< int32_t *[2]> cells_of_face
 
Kokkos::View< rtype *[N_DIM]> cell_coords
 
Kokkos::View< rtype *[N_DIM]> face_coords
 
Kokkos::View< rtype *[N_DIM]> shifts
 
Kokkos::View< uint8_t * > face_shift
 
ScalarView scalars
 
Kokkos::View< rtype ***, Kokkos::LayoutRight > gradients
 
Kokkos::View< rtype * > limiter
 

Detailed Description

Face values of the cell scalars: the cell value (first order) or the linear reconstruction S_c + phi_c grad S_c . r with one limiter value phi_c per cell shared by all scalars (MUSCL); one point per face. Least-squares reconstruction reproduces constants, so mass fractions summing to one in every cell sum to one at every face point to round-off.

A plain aggregate of Views, captured by value in kernels. Face-value evaluators (also TENOScalarValues) provide cell_values(c, j, out), the values of scalar j at the points of each local face k of cell c in out[k][q], and face_values(c, j, k, out) for one face.

Member Function Documentation

◆ cell_values()

KOKKOS_INLINE_FUNCTION void ScalarFaceValues::cell_values ( const uint32_t  c,
const uint32_t  j,
FacePointValues *  out 
) const
inline

◆ face_values()

KOKKOS_INLINE_FUNCTION void ScalarFaceValues::face_values ( const uint32_t  c,
const uint32_t  j,
const uint8_t  k,
rtype *  out 
) const
inline

◆ offset()

KOKKOS_INLINE_FUNCTION void ScalarFaceValues::offset ( const uint32_t  c,
const uint32_t  f,
const uint8_t  side,
rtype *  r 
) const
inline

Offset from the centroid of cell c, on side side of face f, to the face centroid.

◆ value()

KOKKOS_INLINE_FUNCTION rtype ScalarFaceValues::value ( const uint32_t  c,
const uint32_t  j,
const rtype *  r 
) const
inline

Scalar j of cell c at offset r from its centroid.

Member Data Documentation

◆ cell_coords

Kokkos::View<rtype *[N_DIM]> ScalarFaceValues::cell_coords

◆ cells_of_face

Kokkos::View<int32_t *[2]> ScalarFaceValues::cells_of_face

◆ face_coords

Kokkos::View<rtype *[N_DIM]> ScalarFaceValues::face_coords

◆ face_shift

Kokkos::View<uint8_t *> ScalarFaceValues::face_shift

◆ faces_of_cell

Kokkos::View<uint32_t *> ScalarFaceValues::faces_of_cell

◆ gradients

Kokkos::View<rtype ***, Kokkos::LayoutRight> ScalarFaceValues::gradients

◆ limiter

Kokkos::View<rtype *> ScalarFaceValues::limiter

◆ offsets_faces_of_cell

Kokkos::View<uint32_t *> ScalarFaceValues::offsets_faces_of_cell

◆ scalars

ScalarView ScalarFaceValues::scalars

◆ shifts

Kokkos::View<rtype *[N_DIM]> ScalarFaceValues::shifts

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