This module provides all possible 'pure variables' (= no prefixes) for a given kind of simulation.
IMPORTANT NOTE: When you create a new variable, do not forget to add this variable name into mus_append_auxField, mus_store_derVarPos and also in mus_store_bcVarPos routine.
Build global variable system for Musubi
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_varSys_type), | intent(inout) | :: | varSys | global variable system |
||
type(mus_varSys_solverData_type), | intent(in), | target | :: | solverData | Contains pointer to solver data types |
|
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader | identifier of the scheme |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil | Compute stencil header |
||
integer, | intent(in) | :: | nFields | number of fields |
||
type(mus_derVarPos_type), | intent(out), | allocatable | :: | derVarPos(:) | store position of each variable for each field and mixture size: nFields+1 |
|
type(tem_variable_type), | intent(in), | allocatable | :: | luaVar(:) | additional variable defined in the lua file. Function pointer for this variables depends on its varType. |
|
type(mus_field_type), | intent(inout) | :: | field(:) | Field contains sources and boundary infos |
||
type(mus_source_type), | intent(inout) | :: | globSrc | global source |
||
type(tem_possible_variable_type), | intent(in) | :: | poss_srcVar | possible source variables |
||
type(tem_st_fun_linkedList_type), | intent(out) | :: | st_funList | contains spacetime functions of all variables |
Append variable read from restart file as state variables
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_varSys_type), | intent(inout) | :: | varSys | global variable system |
||
logical, | intent(out) | :: | readVarIsPdf | Is true if read_varSys has pdf variable |
||
type(tem_varSys_type), | intent(in) | :: | read_varSys | Variable system loaded from restart header file |
||
type(tem_varMap_type), | intent(out) | :: | stateVarMap | Store position of state variable in global varSys |
||
type(mus_varSys_solverData_type), | intent(in), | target | :: | solverData | Contains pointer to solver data types |
|
integer, | intent(in) | :: | nFields | number of fields |
||
character(len=*), | intent(in) | :: | fldLabel(:) | array of field label prefix. Size=nFields |
Append state variable depends on the scheme kind
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_varSys_type), | intent(inout) | :: | varSys | global variable system |
||
type(tem_varMap_type), | intent(out) | :: | stateVarMap | Store position of state variable in global varSys |
||
type(mus_varSys_solverData_type), | intent(in), | target | :: | solverData | Contains pointer to solver data types |
|
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader | identifier of the scheme |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil | compute stencil defintion |
||
integer, | intent(in) | :: | nFields | number of fields |
||
character(len=*), | intent(in) | :: | fldLabel(:) | array of field label prefix. Size=nFields |
Append auxiliary variables which are computed from state and stored in auxField array using calcAuxField function
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_varSys_type), | intent(inout) | :: | varSys | global variable system |
||
type(mus_varSys_solverData_type), | intent(in), | target | :: | solverData | Contains pointer to solver data types |
|
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader | identifier of the scheme |
||
integer, | intent(in) | :: | nFields | number of fields |
||
character(len=*), | intent(in) | :: | fldLabel(:) | array of field label prefix. Size=nFields |
||
type(grw_labelarray_type), | intent(inout) | :: | derVarName | array of derive physical variables |
Store the position of each variable in the global system in the derVarPos This function is also called in Harvester.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_derVarPos_type), | intent(inout) | :: | derVarPos(:) | Position of derived variables |
||
type(grw_labelarray_type), | intent(in) | :: | derVarName | array of derive physical variables |
||
type(tem_varSys_type), | intent(in) | :: | varSys | global variable system |
||
integer, | intent(in) | :: | nFields | number of fields |
||
character(len=*), | intent(in) | :: | fldLabel(:) | array of field label prefix. Size=nFields |
Build a variable system of all possible source terms for the given schemeKind
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_source_type), | intent(inout) | :: | me | Contains source function pointer, source variable definition from lua and mapping of source variable in global varSys |
||
type(mus_varSys_solverData_type), | intent(in), | target | :: | solverData | Contains pointer to solver data types |
|
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader | Identifier of the scheme |
||
type(tem_varSys_type), | intent(inout) | :: | varSys | Global variable system |
||
integer, | intent(in) | :: | nFields | number of fields |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil | compute stencil defintion |
||
type(tem_possible_variable_type), | intent(in) | :: | poss_srcVar | possible source variables |
||
character(len=*), | intent(in), | optional | :: | fldLabel | array of field label prefix required only for field source. If not present, it is assumed as global source |
Store the position of each boundary variable in the global varSys
in the field%bc%varPos%
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_type), | intent(inout) | :: | field(:) | Field containing boundary infos |
||
integer, | intent(in) | :: | nFields | number of fields |
||
type(tem_varSys_type), | intent(in) | :: | varSys | global variable system |
This function runs over all variable loaded from restart file check if variables loaded are pdf variable or derive variable
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical, | intent(out) | :: | readVarIsPdf | return true if variable read from restart file has pdf |
||
type(tem_varSys_type), | intent(in) | :: | varSys | variable system loaded from restart file |
||
integer, | intent(in) | :: | nFields | number of fields |
||
character(len=*), | intent(in) | :: | fldLabel(:) | array of field label prefix. Size=nFields |