pdf_data_type Derived Type

type, public :: pdf_data_type

This level-wise data type contains the PDF arrays which are fed into the kernel. The solver updates the state vector and finds the position of the neighbor vectors by looking it up in the neigh array


Inherited by

type~~pdf_data_type~~InheritedByGraph type~pdf_data_type pdf_data_type type~mus_scheme_type mus_scheme_type type~mus_scheme_type->type~pdf_data_type pdf

Components

Type Visibility Attributes Name Initial
integer, public :: nElems_fluid

number of local fluid elements

integer, public :: nElems_halo

number of halo elements (from remote processes)

integer, public :: nElems_ghostFromCoarser

number of ghost elements (from other levels)

integer, public :: nElems_ghostFromFiner

number of ghost elements (from other levels)

integer, public :: nElems_ghost

number of ghost elements (from other levels)

integer, public :: nElems_local

number of local elements (fluid+halos+ghost)

integer, public :: nElems_solve

fluid elements + ghostFromCoarser elements (elements for solver). PDF and auxFied are interpolated for ghostFromFiner and there is no need to do collision on these elements.

integer, public :: nElems_computed

fluid elements + ghostFromCoarse + ghostFromFiner

integer, public :: nSize

number of elements padded to 4

integer, public :: nNow = 1

which buffer to use for current time step

integer, public :: nNext = 2

which buffer to use for next time step

integer, public, allocatable, dimension(:) :: neigh

Connectivity array Points to where to send respective pdfs Access in a neigh way Size: QQ * nSize allocated in routine: mus_pdf_allocate

real(kind=rk), public, allocatable, dimension(:) :: bcBuffer

containing state vector values of elements which have a boundary It always uses AOS data layout allocated in routine: mus_pdf_allocate filled for each iteration in routine: fill_bcBuffer

real(kind=rk), public, allocatable :: momBuf(:,:)

Buffer storing the moments of all source from Coarser