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).


Inherits

type~~mus_scheme_type~~InheritsGraph type~mus_scheme_type mus_scheme_type glob_boundary_type glob_boundary_type type~mus_scheme_type->glob_boundary_type globBC mus_Grad_type mus_Grad_type type~mus_scheme_type->mus_Grad_type Grad mus_gradData_type mus_gradData_type type~mus_scheme_type->mus_gradData_type gradData tem_levelDesc_type tem_levelDesc_type type~mus_scheme_type->tem_levelDesc_type levelDesc tem_possible_variable_type tem_possible_variable_type type~mus_scheme_type->tem_possible_variable_type poss_srcVar, poss_transVar tem_st_fun_linkedList_type tem_st_fun_linkedList_type type~mus_scheme_type->tem_st_fun_linkedList_type st_funList tem_tracking_type tem_tracking_type type~mus_scheme_type->tem_tracking_type track tem_varMap_type tem_varMap_type type~mus_scheme_type->tem_varMap_type redTransVarMap, stateVarMap tem_varSys_type tem_varSys_type type~mus_scheme_type->tem_varSys_type varSys tem_variable_type tem_variable_type type~mus_scheme_type->tem_variable_type luaVar type~array2d_type array2D_type type~mus_scheme_type->type~array2d_type state type~mus_auxfieldvar_type mus_auxFieldVar_type type~mus_scheme_type->type~mus_auxfieldvar_type auxField type~mus_dervarpos_type mus_derVarPos_type type~mus_scheme_type->type~mus_dervarpos_type derVarPos type~mus_field_type mus_field_type type~mus_scheme_type->type~mus_field_type field type~mus_interpolation_type mus_interpolation_type type~mus_scheme_type->type~mus_interpolation_type intp type~mus_mixture_type mus_mixture_type type~mus_scheme_type->type~mus_mixture_type mixture type~mus_nernstplanck_type mus_nernstPlanck_type type~mus_scheme_type->type~mus_nernstplanck_type nernstPlanck type~mus_scheme_header_type mus_scheme_header_type type~mus_scheme_type->type~mus_scheme_header_type header type~mus_scheme_layout_type mus_scheme_layout_type type~mus_scheme_type->type~mus_scheme_layout_type layout type~mus_source_type mus_source_type type~mus_scheme_type->type~mus_source_type globSrc type~mus_transport_var_type mus_transport_var_type type~mus_scheme_type->type~mus_transport_var_type transVar type~pdf_data_type pdf_data_type type~mus_scheme_type->type~pdf_data_type pdf

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