This module keeps all information about the fluid
In this module, all infos about the fluid is collected. The file type mus_fluid_type contains all relevant information. This includes physical parameters such as the viscosity and reference density. Also, LBM-specific parameters such as the relaxation rates are defined.
collection of properties of the fluid
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | active | = | .false. | ||
real(kind=rk), | public | :: | lambda | = | 0.25_rk |
Magic value for TRT collision model Lambda = ( 1/omega_+ - 0.5 ) * ( 1/omega_- - 0.5 ) |
|
real(kind=rk), | public, | allocatable | :: | omegaBulkLvl(:) |
level-wise bulk omegas, used as relaxation in mrt model allocated in mus_init_fluid |
||
real(kind=rk), | public, | allocatable | :: | viscBulkLvl(:) |
Level wise bulk viscosity in lattice |
||
type(mus_turbulence_type), | public | :: | turbulence |
Contains information for turbulence model |
|||
type(mus_nNwtn_type), | public | :: | nNwtn |
nonNewtonian fluid parameter |
|||
procedure(mus_proc_mrt), | public, | nopass, pointer | :: | mrtPtr | => | null() |
function pointer to get MRT diagonal relaxation matrix |
type(mus_viscosity_type), | public | :: | viscKine |
kinematic viscosity \todo KM: implement interpolation routine for constant viscosity |
|||
real(kind=rk), | public | :: | viscBulk_phy | ||||
real(kind=rk), | public | :: | force(3) | ||||
real(kind=rk), | public | :: | HRR_sigma | = | 0.98_rk | ||
real(kind=rk), | public | :: | DRT_tauN | = | 0.70_rk | ||
real(kind=rk), | public | :: | omega_Cum(10) | ||||
real(kind=rk), | public | :: | omega_Lim(3) |
Read in the fluid property from the LUA parameter file
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_fluid_type), | intent(out) | :: | me |
fluid type |
||
type(flu_State) | :: | conf |
lua state |
|||
integer, | intent(in), | optional | :: | parent |
parent handle |
|
integer, | intent(in) | :: | minLevel |
global pdf info |
||
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 |
This routine initilizes fluid visocity and relaxation paramters for each level
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_fluid_type), | intent(inout) | :: | me |
fluid type |
||
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 |
scheme header |
||
integer, | intent(in) | :: | minLevel |
min and max level |
||
integer, | intent(in) | :: | maxLevel |
min and max level |
||
type(tem_levelDesc_type), | intent(in) | :: | levelDesc(minLevel:maxLevel) |
level descriptor |
||
type(pdf_data_type), | intent(in) | :: | pdf(minLevel:maxLevel) |
pdf info with neigh array for all levels |
||
type(tem_stencilHeader_type), | intent(in) | :: | stencil |
stencil header |
||
type(tem_general_type), | intent(in) | :: | general |
general type contains communication pattern and proc info |
||
type(tem_time_type), | intent(in) | :: | tNow |
current simulation time |
write fluid prop into a lua file
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_fluid_type), | intent(in) | :: | me |
single fluid type |
||
type(aot_out_type) | :: | conf |
This routines act as a destructor for fluid type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_fluid_type), | intent(inout) | :: | me |
single fluid type |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_fluid_type), | intent(inout) | :: | me | |||
integer, | intent(in) | :: | minLevel |
minlevel and maxlevel |
||
integer, | intent(in) | :: | maxLevel |
minlevel and maxlevel |
||
type(mus_physics_type), | intent(in) | :: | physics |
physics type to convert physics to lattice unit or vice versa |
||
integer, | intent(in) | :: | nSolve(minLevel:maxLevel) |
number of elements to solve per level (fluid+ghost) |
||
type(tem_general_type), | intent(in) | :: | general |
general type |
||
integer, | intent(in) | :: | outUnit | |||
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader |
scheme header |