This module contains information about all fields like fluid, species, temperature etc. This field type will be used for multispecies and passive scalar transport.
[mus_field_prop]: @ref mus_field_prop_module "mus_field_prop_module"
Interface for dumping a single field or a set of fields in a file in lua format.
write array of fields into a lua file
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_type), | intent(in) | :: | me(:) | array of field type |
||
type(aot_out_type), | intent(inout) | :: | conf | aotus out type |
||
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader | identifier of the scheme |
write single field into a lua file
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_type), | intent(in) | :: | me | single field type |
||
type(aot_out_type), | intent(inout) | :: | conf | aotus out type |
||
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader | identifier of the scheme |
||
integer, | intent(in), | optional | :: | level | To dump field with or without key |
This type contains all information on fields with ic and bc Example fields: fluid, species etc. Each field contains one initial condition and array of boundary conditions
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=labelLen), | private | :: | label | field label. Should be unique for each field |
|||
type(mus_field_prop_type), | private | :: | fieldProp | physics parameters (fluid and species) for field |
|||
type(boundary_type), | private, | allocatable | :: | bc(:) | array of field boundary types for each field size: #BCs in the boundary_condition table allocated in mus_load_bc |
||
type(tem_ini_condition_type), | private | :: | ic | initialization case, one initial condition for each field |
|||
type(mus_source_type), | private | :: | source | field source applied only to current field |
|||
type(tem_restart_type), | private | :: | restart | An instance of restart type |
Check if a BC is wall or symmetry for all fields
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nFields | |||
type(mus_field_type), | intent(in) | :: | fields(nFields) | |||
integer, | intent(in) | :: | iBC |
Subroutine to load the field table from the lua configuration file.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_type), | intent(inout) | :: | me(:) | array of field type |
||
type(tem_varSys_type), | intent(inout) | :: | varSys | Global variable system required to append annoymous source and boundary variables |
||
integer, | intent(in) | :: | nFields | |||
type(mus_mixture_type), | intent(out) | :: | mixture | contains mixture information |
||
type(mus_nernstPlanck_type), | intent(out) | :: | nernstPlanck | contains solvent information |
||
type(tem_BC_prop_type), | intent(in) | :: | bc_prop | boundary data from mesh |
||
type(flu_State), | intent(inout) | :: | conf | flu state |
||
integer, | intent(in), | optional | :: | parent | parent handle if scheme table is defined |
|
integer, | intent(in) | :: | minLevel | global pdf info |
||
integer, | intent(in) | :: | maxLevel | global pdf info |
||
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader | identifier of the scheme |
||
type(tem_possible_variable_type), | intent(in) | :: | poss_srcVar | possible source variables |
||
type(mus_physics_type), | intent(in) | :: | physics | physics type to convert physics to lattice unit or vice versa |
||
character(len=labelLen), | intent(in) | :: | scaling | scaling type |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout | fluid stencil info |
||
logical, | intent(in), | optional | :: | isMusHvs | Logic to not to load tracking and variable table if this routine is called from mus_hvs_config_load. Default is False |
This routine returns nFields and field labels from config file. It is required to initialize variable system. labels are loaded only if field table is present else default is set to empty string.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_type), | intent(out), | allocatable | :: | me(:) | array of field type |
|
integer, | intent(out) | :: | nFields | number of fields defined in lua file |
||
integer, | intent(in), | optional | :: | parent | parent handle if scheme table is defined |
|
type(flu_State), | intent(inout) | :: | conf | flu state |
Set parameters for multispecies
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_type), | intent(inout) | :: | field(nFields) | |||
integer, | intent(in) | :: | nFields | |||
type(mus_mixture_type), | intent(inout) | :: | mixture | |||
type(mus_scheme_header_type), | intent(in) | :: | header | |||
type(mus_scheme_layout_type), | intent(in) | :: | layout | |||
integer, | intent(in) | :: | iLevel | |||
type(tem_time_type), | intent(in) | :: | tNow | solver general info |
First check count number of valid elements (non-solid) in each BC. Then rearrange BC elements list so it contains only valid elements. Update fields%bc%elemLvl%stencilPos fields%bc%elemLvl%posInNghElems accordingly.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | minLevel | |||
integer, | intent(in) | :: | maxLevel | |||
integer, | intent(in) | :: | nBCs | |||
integer, | intent(in) | :: | nFields | |||
integer, | intent(in) | :: | levelPointer(:) | Level pointer |
||
type(tem_levelDesc_type), | intent(in) | :: | levelDesc(minLevel:maxLevel) | Level Descriptor |
||
type(glob_boundary_type) | :: | globBC(nBCs) | ||||
type(mus_field_type) | :: | fields(nFields) |
This routine checks for the existence of symmetric boundaries and returns the boundary IDs which are defined as symmetry
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(out) | :: | symmetricBCs(nBCs) | Symmetric boundary ids |
||
integer, | intent(out) | :: | nSymBCs | Number of symmetric boundary conditions |
||
integer, | intent(in) | :: | nBCs | number of boundary conditions |
||
integer, | intent(in) | :: | nFields | number of fields |
||
type(mus_field_type), | intent(in) | :: | field(nFields) | all fields to access their boundary definitions |
This routines act as a destructor for field type. Only allocatable arrays which are allocated in mus_construct routine are deallocated. KM: DO NOT DESTROY FIELD ARRAY AS IT CONTAINS ALL CONFIG INFO
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_type), | intent(inout) | :: | me(:) | single field type |
||
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader | identifier of the scheme |
||
integer, | intent(in) | :: | minLevel | minlevel |
||
integer, | intent(in) | :: | maxLevel | maxlevel |
||
integer, | intent(in) | :: | nBCs | Number of boundary conditions |
||
integer, | intent(in) | :: | nFields | Number of fields |
load a single field table In includes: load field property load source variables load boundary defination load immersed boundary method load initial condition defination and its property
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_type), | intent(inout) | :: | me | field type |
||
type(tem_varSys_type), | intent(inout) | :: | varSys | Global variable system required to append annoymous source and boundary variables |
||
integer, | intent(in) | :: | nFields | number of fields defined in lua file |
||
type(tem_BC_prop_type), | intent(in) | :: | bc_prop | boundary data from mesh |
||
type(flu_State), | intent(inout) | :: | conf | flu state |
||
integer, | intent(in), | optional | :: | parent | parent handle if scheme table is defined |
|
integer, | intent(in) | :: | minLevel | global pdf info |
||
integer, | intent(in) | :: | maxLevel | global pdf info |
||
type(tem_possible_variable_type), | intent(in) | :: | poss_srcVar | possible source variables |
||
type(mus_physics_type), | intent(in) | :: | physics | physics type to convert physics to lattice unit or vice versa |
||
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader | identifier of the scheme |
||
character(len=labelLen), | intent(in) | :: | scaling | scaling type |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout | fluid stencil info |
||
logical, | intent(in), | optional | :: | isMusHvs | Logic to not to load tracking and variable table if this routine is called from mus_hvs_config_load. Default is False |
write array of fields into a lua file
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_type), | intent(in) | :: | me(:) | array of field type |
||
type(aot_out_type), | intent(inout) | :: | conf | aotus out type |
||
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader | identifier of the scheme |
write single field into a lua file
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_type), | intent(in) | :: | me | single field type |
||
type(aot_out_type), | intent(inout) | :: | conf | aotus out type |
||
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader | identifier of the scheme |
||
integer, | intent(in), | optional | :: | level | To dump field with or without key |
Set ic states labels by scheme kind
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=labelLen), | intent(in) | :: | scheme_kind | |||
character(len=labelLen), | allocatable | :: | ic_states(:) | |||
integer, | intent(out) | :: | IC_nVars | Number of initial condition variables required to initialize state |