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 type~tem_possible_variable_type tem_possible_variable_type type~mus_scheme_type->type~tem_possible_variable_type poss_srcVar, poss_transVar 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~array2d_type array2D_type type~mus_scheme_type->type~array2d_type state type~mus_mixture_type mus_mixture_type type~mus_scheme_type->type~mus_mixture_type mixture type~tem_variable_type tem_variable_type type~mus_scheme_type->type~tem_variable_type luaVar type~glob_boundary_type glob_boundary_type type~mus_scheme_type->type~glob_boundary_type globBC 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~tem_varmap_type tem_varMap_type type~mus_scheme_type->type~tem_varmap_type redTransVarMap, stateVarMap type~mus_auxfieldvar_type mus_auxFieldVar_type type~mus_scheme_type->type~mus_auxfieldvar_type auxField type~mus_source_type mus_source_type type~mus_scheme_type->type~mus_source_type globSrc type~tem_leveldesc_type~2 tem_levelDesc_type type~mus_scheme_type->type~tem_leveldesc_type~2 levelDesc type~tem_tracking_type tem_tracking_type type~mus_scheme_type->type~tem_tracking_type track type~mus_graddata_type mus_gradData_type type~mus_scheme_type->type~mus_graddata_type gradData type~mus_grad_type mus_Grad_type type~mus_scheme_type->type~mus_grad_type Grad type~mus_dervarpos_type mus_derVarPos_type type~mus_scheme_type->type~mus_dervarpos_type derVarPos type~mus_scheme_layout_type mus_scheme_layout_type type~mus_scheme_type->type~mus_scheme_layout_type layout type~tem_varsys_type tem_varSys_type type~mus_scheme_type->type~tem_varsys_type varSys type~tem_st_fun_linkedlist_type tem_st_fun_linkedList_type type~mus_scheme_type->type~tem_st_fun_linkedlist_type st_funList type~pdf_data_type pdf_data_type type~mus_scheme_type->type~pdf_data_type pdf type~mus_transport_var_type mus_transport_var_type type~mus_scheme_type->type~mus_transport_var_type transVar

Inherited by

type~~mus_scheme_type~~InheritedByGraph type~mus_scheme_type mus_scheme_type 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

Contents


Components

TypeVisibilityAttributesNameInitial
type(mus_interpolation_type), private :: intp

Interpolation description for each scheme to do its own interpolation

type(mus_mixture_type), private :: mixture

contains mixture information for multispecies

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

number of fields in the current scheme

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

array of field type for each field

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

array of boundary types contains elems of each boundary

type(mus_source_type), private :: globSrc

global source applied to all fields

type(tem_possible_variable_type), private :: poss_srcVar

possible source variables depends on scheme kind

type(mus_transport_var_type), private :: transVar

transport variables

type(tem_possible_variable_type), private :: poss_transVar

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

type(mus_scheme_header_type), private :: header

identifier of the scheme

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

pdf_data_types for every level size: minLevel:maxLevel

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

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

type(mus_scheme_layout_type), private :: layout

the scheme representation used in this scheme

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

function pointer to compute kernel

type(tem_tracking_type), private :: track

Contains trackingControl, config and instances

type(tem_varMap_type), private :: redTransVarMap

Position of reduction transient variable in varSys

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

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

type(tem_varSys_type), private :: varSys

global variable system definition

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

Variables defined in the lua file

type(tem_varMap_type), private :: stateVarMap

state variable position in the global varSys

type(tem_st_fun_linkedList_type), private :: st_funList

contains spacetime functions defined for lua variables

logical, private :: readVarIsPdf

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

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

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

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

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

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

Function pointer to evaluate auxilary variable

type(mus_Grad_type), private :: Grad

Contains the different pointers to calculate the gradients