mus_scheme_layout_type Derived Type

type, public :: mus_scheme_layout_type

data structure containing all information related to the compute stencil. Several stencils can be defined. mus_moments_module Moments are directly related to the stencil layout and are therefore defined here


type~~mus_scheme_layout_type~~InheritsGraph type~mus_scheme_layout_type mus_scheme_layout_type type~tem_stencilheader_type tem_stencilHeader_type type~mus_scheme_layout_type->type~tem_stencilheader_type fStencil, stencil type~dyn_labelarray_type dyn_labelarray_type type~mus_scheme_layout_type->type~dyn_labelarray_type stencil_labels type~grw_stencilheaderarray_type grw_stencilheaderarray_type type~mus_scheme_layout_type->type~grw_stencilheaderarray_type grwStencil type~mus_moment_type mus_moment_type type~mus_scheme_layout_type->type~mus_moment_type moment type~tem_matrix_type tem_matrix_type type~mus_moment_type->type~tem_matrix_type toMoments, toPDF

Inherited by

type~~mus_scheme_layout_type~~InheritedByGraph type~mus_scheme_layout_type mus_scheme_layout_type type~mus_scheme_type mus_scheme_type type~mus_scheme_type->type~mus_scheme_layout_type layout type~mus_varsys_solverdata_type mus_varSys_solverData_type type~mus_varsys_solverdata_type->type~mus_scheme_type scheme type~mus_varsys_data_type mus_varSys_data_type type~mus_varsys_data_type->type~mus_varsys_solverdata_type solverData



type(tem_stencilHeader_type), private :: fStencil

fluid stencil same as stencil(1)

integer, private :: nStencils

number of stencils used in this scheme

type(grw_stencilheaderarray_type), private :: grwStencil

Temporary growing array of stencil It is copied to stencil(:) and destroyed, where this is destroyed?

type(tem_stencilHeader_type), private, allocatable:: stencil(:)

The list of stencil types, the stencils for the individual schemes is ordered as follows:

| flSt | bcSt1_field1 ... bcStN_field1 ... bcSt1_fieldM ... bcStN_fieldM | addSt ... |

Unique stencil label for boundary stencils are created with boundary label and stencil%cxDir therefore each stencil is limited to one boundary type

type(dyn_labelarray_type), private :: stencil_labels

dynamic array of labels created from stencil directions to create unique growing array of grwStencil

integer, private :: fStencil_pos

position of fluid stencil in grwStencil

real(kind=rk), private, allocatable:: weight(:)

The weights for the different discrete velocities

real(kind=rk), private :: cs

Lattice speed of sound for fStencil $\sum_i (weight_icx_icx_i) = c_s^2 I

real(kind=rk), private, allocatable:: prevailDir(:,:)

Prevailing directions

type(mus_moment_type), private :: moment

Moment space definition

logical, private :: new_stencil =.false.

New stencil definition loaded from config