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
Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Subroutines
public pure subroutine HRR_Correction_d2q9(QQ, weight, gradRHOU3, phi, dens, vel)
Arguments
Type
Intent
Optional
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
Intent
Optional
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)