mus_hrrInit_module Module

This module provides the definitions of M and Minv for MRT advection relaxation scheme for all stencils.

The weighted MRT (D3Q27) is based on the following paper Abbas Fakhari, Diogo Bolster, Li-Shi Luo "A weighted multiple-relaxation-time lattice Boltzmann method for multiphase flows and its application to partial coalescence cascades" Journal of Computational Physics, 2017

The MRT (D3Q19) implementation here is taken from:\n J. Toelke, S. Freudiger, and M. Krafczyk, "An adaptive scheme using hierarchical grids for lattice Boltzmann multi-phase flow simulations," Comput. Fluids, vol. 35, pp. 820–830, 2006. \n


Uses

  • module~~mus_hrrinit_module~~UsesGraph module~mus_hrrinit_module mus_hrrInit_module env_module env_module module~mus_hrrinit_module->env_module module~mus_scheme_layout_module mus_scheme_layout_module module~mus_hrrinit_module->module~mus_scheme_layout_module tem_aux_module tem_aux_module module~mus_hrrinit_module->tem_aux_module tem_debug_module tem_debug_module module~mus_hrrinit_module->tem_debug_module tem_param_module tem_param_module module~mus_hrrinit_module->tem_param_module module~mus_scheme_layout_module->env_module module~mus_scheme_layout_module->tem_aux_module module~mus_scheme_layout_module->tem_param_module aot_out_module aot_out_module module~mus_scheme_layout_module->aot_out_module aot_table_module aot_table_module module~mus_scheme_layout_module->aot_table_module aotus_module aotus_module module~mus_scheme_layout_module->aotus_module module~mus_moments_type_module mus_moments_type_module module~mus_scheme_layout_module->module~mus_moments_type_module module~mus_scheme_derived_quantities_module mus_scheme_derived_quantities_module module~mus_scheme_layout_module->module~mus_scheme_derived_quantities_module mpi mpi module~mus_scheme_layout_module->mpi tem_comm_env_module tem_comm_env_module module~mus_scheme_layout_module->tem_comm_env_module tem_dyn_array_module tem_dyn_array_module module~mus_scheme_layout_module->tem_dyn_array_module tem_grow_array_module tem_grow_array_module module~mus_scheme_layout_module->tem_grow_array_module tem_logging_module tem_logging_module module~mus_scheme_layout_module->tem_logging_module tem_stencil_module tem_stencil_module module~mus_scheme_layout_module->tem_stencil_module tem_tools_module tem_tools_module module~mus_scheme_layout_module->tem_tools_module module~mus_moments_type_module->env_module tem_matrix_module tem_matrix_module module~mus_moments_type_module->tem_matrix_module module~mus_scheme_derived_quantities_module->env_module module~mus_scheme_derived_quantities_module->tem_aux_module module~mus_scheme_derived_quantities_module->tem_param_module module~mus_scheme_derived_quantities_module->tem_logging_module tem_compileconf_module tem_compileconf_module module~mus_scheme_derived_quantities_module->tem_compileconf_module

Used by

  • module~~mus_hrrinit_module~~UsedByGraph module~mus_hrrinit_module mus_hrrInit_module module~mus_d2q9_module mus_d2q9_module module~mus_d2q9_module->module~mus_hrrinit_module module~mus_d3q19_module mus_d3q19_module module~mus_d3q19_module->module~mus_hrrinit_module module~mus_d3q27_module mus_d3q27_module module~mus_d3q27_module->module~mus_hrrinit_module module~mus_derquan_module mus_derQuan_module module~mus_derquan_module->module~mus_hrrinit_module module~mus_derquanincomp_module mus_derQuanIncomp_module module~mus_derquanincomp_module->module~mus_derquan_module module~mus_derquanps_module mus_derQuanPS_module module~mus_derquanps_module->module~mus_derquan_module module~mus_initfluid_module mus_initFluid_module module~mus_initfluid_module->module~mus_d2q9_module module~mus_initfluid_module->module~mus_d3q19_module module~mus_initfluid_module->module~mus_d3q27_module module~mus_initfluidincomp_module mus_initFluidIncomp_module module~mus_initfluidincomp_module->module~mus_d2q9_module module~mus_initfluidincomp_module->module~mus_d3q19_module module~mus_initfluidincomp_module->module~mus_d3q27_module module~mus_variable_module mus_variable_module module~mus_variable_module->module~mus_derquan_module module~mus_variable_module->module~mus_derquanincomp_module module~mus_variable_module->module~mus_derquanps_module module~mus_flow_module mus_flow_module module~mus_flow_module->module~mus_initfluid_module module~mus_flow_module->module~mus_initfluidincomp_module module~mus_scheme_module mus_scheme_module module~mus_scheme_module->module~mus_variable_module module~mus_config_module mus_config_module module~mus_config_module->module~mus_scheme_module module~mus_dynloadbal_module mus_dynLoadBal_module module~mus_dynloadbal_module->module~mus_flow_module module~mus_dynloadbal_module->module~mus_scheme_module module~mus_hvs_config_module mus_hvs_config_module module~mus_hvs_config_module->module~mus_scheme_module module~mus_program_module mus_program_module module~mus_program_module->module~mus_flow_module module~mus_program_module->module~mus_scheme_module module~mus_tools_module mus_tools_module module~mus_tools_module->module~mus_scheme_module program~mus_harvesting mus_harvesting program~mus_harvesting->module~mus_flow_module program~mus_harvesting->module~mus_scheme_module

Subroutines

public pure subroutine HRR_Correction_d2q9(QQ, weight, gradRHOU3, phi, dens, vel)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: QQ

stencil size

real(kind=rk), intent(in) :: weight(:)

weights of the stencil

real(kind=rk), intent(in) :: gradRHOU3(:)

gradient rho V^3

real(kind=rk), intent(out) :: phi(:)

correction term phi

real(kind=rk), intent(out) :: dens

correction term phi, rho, vel

real(kind=rk), intent(out) :: vel(:)

correction term phi, rho, vel

public pure subroutine HRR_Correction_d3q19(QQ, weight, gradRHOU3, gradRHOUVZ, phi, dens, vel)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: QQ

stencil size

real(kind=rk), intent(in) :: weight(:)

weights of the stencil

real(kind=rk), intent(in) :: gradRHOU3(:)

gradient rho u^3, rho u v w

real(kind=rk), intent(in) :: gradRHOUVZ(:)
real(kind=rk), intent(out) :: phi(:)

correction term phi, rho, vel

real(kind=rk), intent(out) :: dens

correction term phi, rho, vel

real(kind=rk), intent(out) :: vel(:)

correction term phi, rho, vel

public pure subroutine HRR_Correction_d3q27(QQ, weight, gradRHOU3, phi, dens, vel)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: QQ

stencil size

real(kind=rk), intent(in) :: weight(:)

weights of the stencil

real(kind=rk), intent(in) :: gradRHOU3(:)

gradient rho V^3

real(kind=rk), intent(out) :: phi(:)

correction term phi

real(kind=rk), intent(out) :: dens

correction term phi

real(kind=rk), intent(out) :: vel(:)

correction term phi

public subroutine getHermitepolynomials(nDims, QQ, layout, H_order)

This function computes Hermite polinomial. It gives in output minimum

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nDims

number of physical dimensions

integer, intent(in) :: QQ

number of stencil streaming directions

type(mus_scheme_layout_type), intent(in) :: layout

current layout

integer, intent(in) :: H_order

maximum order of the Hermite polynomials

public subroutine getHermitepolynomials_D3Q19(layout)

This function computes Hermite polinomial. It gives in output minimum

Arguments

Type IntentOptional Attributes Name
type(mus_scheme_layout_type), intent(in) :: layout

current layout