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
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: |
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 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: |
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 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: |
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 |
This function computes Hermite polinomial. It gives in output minimum
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nDims |
number of physical dimensions |
||
integer, | intent(in) | :: |
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 |
This function computes Hermite polinomial. It gives in output minimum
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_scheme_layout_type), | intent(in) | :: | layout |
current layout |