Flow-related routines such as initialization of the flow field and parameters
************ !
Initialize flow field depends on read restart or initial condition
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type), | intent(inout) | :: | scheme | Scheme type |
||
type(treelmesh_type), | intent(in) | :: | tree | tree |
||
type(tem_general_type), | intent(inout) | :: | general | |||
type(mus_physics_type), | intent(in) | :: | physics | |||
character(len=*), | intent(in) | :: | scaling | |||
integer, | intent(in) | :: | levelPointer(:) | global info type |
Recursively fill all the helper elements (i.e. ghost, halo) with valid information from the fluid elements.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type), | intent(inout) | :: | scheme | containers for the scheme contains interpolation type |
||
type(tem_general_type), | intent(in) | :: | general | global parameters |
||
type(mus_physics_type), | intent(in) | :: | physics | |||
integer, | intent(in) | :: | iLevel | Level counter variable |
||
integer, | intent(in) | :: | maxLevel | global flow quantity properties |
Recursively fill all the helper elements (i.e. ghost, halo) with valid information from the fluid elements.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type), | intent(inout) | :: | scheme | containers for the scheme contains interpolation type |
||
type(tem_general_type), | intent(in) | :: | general | global parameters |
||
type(mus_physics_type), | intent(in) | :: | physics | |||
integer, | intent(in) | :: | iLevel | Level counter variable |
||
integer, | intent(in) | :: | minLevel | level range |
||
integer, | intent(in) | :: | maxLevel | level range |
This routine initialize auxField variable from PDF values initialized by initial condition. AuxField is computed from state using SAVE access for fluid elements and interpolated for ghost elements
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type), | intent(inout) | :: | scheme | containers for the scheme contains interpolation type |
||
type(tem_general_type), | intent(in) | :: | general | contains commPattern, MPI communicator and simControl |
||
integer, | intent(in) | :: | minLevel | level range |
||
integer, | intent(in) | :: | maxLevel | level range |
Choose the relaxation model
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type) | :: | scheme | scheme type |
Initialize flow field by calling corresponding routine according to scheme kind.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type), | intent(inout) | :: | scheme | Scheme type |
||
type(treelmesh_type), | intent(in) | :: | tree | tree |
||
type(mus_convertFac_type), | intent(in) | :: | fac(tree%global%minLevel:tree%global%maxLevel) | Global parameters |
||
character(len=*), | intent(in) | :: | scaling |
Initialize the flow from pressure, velocity and strain rate.\n First equilibirium pdf (fEq) is calculated from pressure and velocity. Then non-equilibirium (fnEq) is calculated from strain rate. At last set the pdf of each element by sum up these two parts (fEq+fnEq).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type), | intent(in) | :: | me | Scheme type |
||
type(treelmesh_type), | intent(in) | :: | tree | tree type |
||
type(mus_convertFac_type), | intent(in) | :: | fac | Global parameters |
||
character(len=*), | intent(in) | :: | scaling | scaling |
||
type(mus_field_type), | intent(inout) | :: | field | Field type |
||
integer, | intent(in) | :: | iField | Field index |
||
real(kind=rk), | intent(inout) | :: | state(:) | |||
integer, | intent(in) | :: | neigh(:) | Connectivity array |
||
integer, | intent(in) | :: | nElems | Number of local elements |
||
integer, | intent(in) | :: | nSize | number of elements as size |
||
integer, | intent(in) | :: | iLevel | Level index |
Initialize passive scalar from pressure and velocity.\n Equilibirium pdf (fEq) is calculated from pressure and velocity.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type), | intent(in) | :: | me | Scheme type |
||
type(treelmesh_type), | intent(in) | :: | tree | tree type |
||
type(mus_convertFac_type), | intent(in) | :: | fac | Global parameters |
||
character(len=*), | intent(in) | :: | scaling | scaling |
||
type(mus_field_type), | intent(inout) | :: | field | Field type |
||
integer, | intent(in) | :: | iField | Field index |
||
real(kind=rk), | intent(inout) | :: | state(:) | |||
integer, | intent(in) | :: | neigh(:) | Connectivity array |
||
integer, | intent(in) | :: | nElems | Number of local elements |
||
integer, | intent(in) | :: | nSize | number of elements as size |
||
integer, | intent(in) | :: | iLevel | Level index |
Initialize poisson lbm from potential Equilibirium pdf (fEq) is calculated from potential.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type), | intent(in) | :: | me | Scheme type |
||
type(treelmesh_type), | intent(in) | :: | tree | tree type |
||
type(mus_convertFac_type), | intent(in) | :: | fac | Global parameters |
||
character(len=*), | intent(in) | :: | scaling | scaling |
||
type(mus_field_type), | intent(inout) | :: | field | Field type |
||
real(kind=rk), | intent(inout) | :: | state(:) | |||
integer, | intent(in) | :: | neigh(:) | Connectivity array |
||
integer, | intent(in) | :: | nElems | Number of local elements |
||
integer, | intent(in) | :: | nSize | number of elements as size |
||
integer, | intent(in) | :: | iLevel | Level index |
Initialize nernst planck from and .\n Equilibirium pdf (fEq) is calculated from and .
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type), | intent(in) | :: | me | Scheme type |
||
type(treelmesh_type), | intent(in) | :: | tree | tree type |
||
type(mus_convertFac_type), | intent(in) | :: | fac | Global parameters |
||
type(mus_field_type), | intent(inout) | :: | field | Field type |
||
integer, | intent(in) | :: | iField | Field index |
||
real(kind=rk), | intent(inout) | :: | state(:) | |||
integer, | intent(in) | :: | neigh(:) | Connectivity array |
||
integer, | intent(in) | :: | nElems | Number of local elements |
||
integer, | intent(in) | :: | nSize | number of elements as size |
||
integer, | intent(in) | :: | iLevel | Level index |
||
type(mus_nernstPlanck_type), | intent(in) | :: | nernstPlanck | Contins solvent information |
Initialize the flow from calculated quantitites like density, velocity etc. for multispecies lbm
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type), | intent(inout) | :: | me | |||
type(treelmesh_type), | intent(in) | :: | tree | |||
type(mus_convertFac_type), | intent(in) | :: | fac | |||
real(kind=rk), | intent(inout) | :: | state(:) | |||
integer, | intent(in) | :: | neigh(:) | Connectivity array |
||
type(mus_field_type), | intent(inout) | :: | field(:) | |||
type(mus_mixture_type), | intent(inout) | :: | mixture | |||
integer, | intent(in) | :: | nElems | |||
integer, | intent(in) | :: | nSize | |||
integer, | intent(in) | :: | iLevel |
Initialize the flow from calculated quantitites like density, velocity etc. for multispecies lbm
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type), | intent(inout) | :: | me | |||
type(treelmesh_type), | intent(in) | :: | tree | |||
type(mus_convertFac_type), | intent(in) | :: | fac | |||
real(kind=rk), | intent(inout) | :: | state(:) | |||
integer, | intent(in) | :: | neigh(:) | Connectivity array |
||
type(mus_field_type), | intent(inout) | :: | field(:) | |||
integer, | intent(in) | :: | nElems | |||
integer, | intent(in) | :: | nSize | |||
integer, | intent(in) | :: | iLevel |
Initialize the isothermal acEq flow from density and velocity\n equilibrium pdf (fEq) is calculated from density and velocity
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_type), | intent(inout) | :: | me | Scheme type |
||
type(treelmesh_type), | intent(in) | :: | tree | tree type |
||
type(mus_convertFac_type), | intent(in) | :: | fac | Global parameters |
||
type(mus_field_type), | intent(inout) | :: | field | Field type |
||
integer, | intent(in) | :: | iField | Field index |
||
real(kind=rk), | intent(inout) | :: | state(:) | |||
integer, | intent(in) | :: | neigh(:) | Connectivity array |
||
integer, | intent(in) | :: | nElems | Number of local elements |
||
integer, | intent(in) | :: | nSize | number of elements as size |
||
integer, | intent(in) | :: | iLevel | Level index |