mus_scheme_type Derived Type

type, public :: mus_scheme_type

Datatype containing all information on the scheme.

The mus_scheme_type contains of all information that are needed to run a simulation (including informations on the: fluid, boundary conditions, levelDescriptor, state vector, layout, diffusion info, tracking).


Components

Type Visibility Attributes Name Initial
type(mus_interpolation_type), public :: intp

Interpolation description for each scheme to do its own interpolation

type(mus_mixture_type), public :: mixture

contains mixture information for multispecies

type(mus_nernstPlanck_type), public :: nernstPlanck
integer, public :: nFields = 0

number of fields in the current scheme

type(mus_field_type), public, allocatable :: field(:)

array of field type for each field

type(glob_boundary_type), public, allocatable :: globBC(:)

array of boundary types contains elems of each boundary

type(mus_source_type), public :: globSrc

global source applied to all fields

type(tem_possible_variable_type), public :: poss_srcVar

possible source variables depends on scheme kind

type(mus_transport_var_type), public :: transVar

transport variables

type(tem_possible_variable_type), public :: poss_transVar

possible transport variables depends on scheme kind This variables might be used in compute kernel

type(mus_scheme_header_type), public :: header

identifier of the scheme

type(tem_levelDesc_type), public, allocatable :: levelDesc(:)
type(pdf_data_type), public, allocatable :: pdf(:)

pdf_data_types for every level size: minLevel:maxLevel

type(array2D_type), public, allocatable :: state(:)

Data vector containing the pdf state allocated in routine: mus_construct size: minLevel:maxLevel

type(mus_scheme_layout_type), public :: layout

the scheme representation used in this scheme

procedure(kernel), public, pointer, nopass :: compute => null()

function pointer to compute kernel

type(tem_tracking_type), public :: track

Contains trackingControl, config and instances

type(tem_varMap_type), public :: redTransVarMap

Position of reduction transient variable in varSys

type(mus_derVarPos_type), public, allocatable :: derVarPos(:)

store position of derived variable each field and total field in the global system

type(tem_varSys_type), public :: varSys

global variable system definition

type(tem_variable_type), public, allocatable :: luaVar(:)

Variables defined in the lua file

type(tem_varMap_type), public :: stateVarMap

state variable position in the global varSys

type(tem_st_fun_linkedList_type), public :: st_funList

contains spacetime functions defined for lua variables

logical, public :: readVarIsPdf

Used in mus_harvesting to check whether variables loaded from restart file has pdf variable

type(mus_auxFieldVar_type), public, allocatable :: auxField(:)

stores auxField variable values and function pointer to compute auxiliary field Size: minlevel:maxLevel

type(mus_gradData_type), public, allocatable :: gradData(:)

Contains direct neighbor position in the state and finite difference coefficients to compute gradient

procedure(mus_proc_calcAuxField), public, pointer, nopass :: calcAuxField => null()

Function pointer to evaluate auxilary variable

type(mus_Grad_type), public :: Grad

Contains the different pointers to calculate the gradients