mus_transport_var_module Module

Module containing subroutines for building MUSUBI specific transport variables to use in compute kernels and source update


Used by

  • module~~mus_transport_var_module~~UsedByGraph module~mus_transport_var_module mus_transport_var_module module~mus_scheme_type_module mus_scheme_type_module module~mus_scheme_type_module->module~mus_transport_var_module module~mus_aux_module mus_aux_module module~mus_aux_module->module~mus_transport_var_module module~mus_dynloadbal_module mus_dynLoadBal_module module~mus_dynloadbal_module->module~mus_transport_var_module module~mus_scheme_module mus_scheme_module module~mus_scheme_module->module~mus_transport_var_module


Derived Types

type, public :: mus_transport_var_type

Description of musubi transport variable type


type(mus_transport_op_type), private, allocatable:: method(:)

Contains variable pntIndex to setup_index and getValOfIndex Size: varDict%nVals

type(grw_stringkeyvaluepairarray_type), private :: varDict

Dictionary of transport variable with varDict%val()%key is the name of transport variable and varDict%val()%value is the name of variable provided for the key

type, private :: mus_transport_op_type

Description contains index to access value using variable function pointer


integer, private :: data_varpos

Position of data variable provided in config file in the varSys

type(tem_indexLvl_type), private :: pntIndex

Indices for points for nElems_solve (nFluids + nGhosts). Order of index matches levelDesc%total list, required for setup_index, getvalof_Index


public function get_transport_params() result(trans_params)

Function returns transport parameter as a string to set params for transport data variable KM: Currently this function is unused but might be needed in the future if more parameters are need to set for a variable



Return Value character(len=solSpecLen)


public subroutine mus_create_poss_transVar(poss_transVar, schemeHeader)

Routine initialize possible transport variable depends on scheme kind


type(tem_possible_variable_type), intent(out) :: poss_transVar

possible transport variables

type(mus_scheme_header_type), intent(in) :: schemeHeader

Identifier of the scheme

public subroutine mus_load_transport_var(me, possVars, conf, parent, varSys, schemeHeader)

Routine load musubi transport variables


type(mus_transport_var_type), intent(out) :: me

transport variable type to initialize

type(tem_possible_variable_type), intent(in) :: possVars

possible transport variables

type(flu_State) :: conf

flu state

integer, intent(in), optional :: parent

parent handle if scheme table is defined

type(tem_varSys_type), intent(inout) :: varSys

Global variable system

type(mus_scheme_header_type), intent(in) :: schemeHeader

Identifier of the scheme

public subroutine mus_init_transport_var(me, varSys, tree, nElems_solve, levelDesc)

Initialize transport variable by calling setupIndices for every variable and store pntIndex


type(mus_transport_var_type), intent(inout) :: me

transport variable to fill in

type(tem_varSys_type), intent(in) :: varSys

global variable system

type(treelmesh_type), intent(in) :: tree

global treelm mesh

integer, intent(in) :: nElems_solve(tree%global%minLevel:)

Number of elements to solve in all levels nFluids + nGhosts

type(tem_levelDesc_type), intent(in) :: levelDesc(tree%global%minLevel:)

Level descriptors