This module contains functions for MRT relaxation paramater for different stencil layouts. NOTE: The order of relaxation entries is consistent with moments transformation matrix used in compute kernel. author: Kannan Masilamani
function pointers to obtain relaxation matrix for MRT collision operator
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | omegaKine |
omega related to kinematic viscosity |
||
real(kind=rk), | intent(in) | :: | omegaBulk |
omega related to bulk viscosity for compressible model |
||
integer, | intent(in) | :: |
number of directions |
output: MRT diagonal relaxation parameter
This function returns mrt relaxation diagonal matrix for d2q9 layout Parameters are taken from: Lallemand, P., & Luo, L. (2000). Theory of the lattice boltzmann method: dispersion, dissipation, isotropy, galilean invariance, and stability. Physical Review. E, Statistical Physics, Plasmas, Fluids, and Related Interdisciplinary Topics, 61(6 Pt A), 6546–62.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | omegaKine |
omega related to kinematic viscosity |
||
real(kind=rk), | intent(in) | :: | omegaBulk |
omega related to bulk viscosity |
||
integer, | intent(in) | :: |
number of directions |
output mrt diagonal matrix
This function returns mrt relaxation diagonal matrix for d2q9 layout Parameters are taken from: Lallemand, P., & Luo, L. (2000). Theory of the lattice boltzmann method: dispersion, dissipation, isotropy, galilean invariance, and stability. Physical Review. E, Statistical Physics, Plasmas, Fluids, and Related Interdisciplinary Topics, 61(6 Pt A), 6546–62.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | omegaKine |
omega related to kinematic viscosity |
||
real(kind=rk), | intent(in) | :: | omegaBulk |
omega related to bulk viscosity |
||
integer, | intent(in) | :: |
number of directions |
output mrt diagonal matrix
This function returns mrt relaxation diagonal matrix for d3q15 layout Parameters are taken from: D’Humières, D., Ginzburg, I., Krafczyk, M., Lallemand, P., & Luo, L.-S. (2002). Multiple-relaxation-time lattice Boltzmann models in three dimensions. Philosophical Transactions. Series A, Mathematical, Physical, and Engineering Sciences, 360(1792), 437–51.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | omegaKine |
omega related to kinematic viscosity |
||
real(kind=rk), | intent(in) | :: | omegaBulk |
omega related to bulk viscosity |
||
integer, | intent(in) | :: |
number of directions |
output mrt diagonal matrix
This function returns mrt relaxation diagonal matrix for d3q19 layout Parameters are taken from: D’Humières, D., Ginzburg, I., Krafczyk, M., Lallemand, P., & Luo, L.-S. (2002). Multiple-relaxation-time lattice Boltzmann models in three dimensions. Philosophical Transactions. Series A, Mathematical, Physical, and Engineering Sciences, 360(1792), 437–51.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | omegaKine |
omega related to kinematic viscosity |
||
real(kind=rk), | intent(in) | :: | omegaBulk |
omega related to bulk viscosity |
||
integer, | intent(in) | :: |
number of directions |
output mrt diagonal matrix
This function returns mrt relaxation diagonal matrix for d3q27 layout
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | omegaKine |
omega related to kinematic viscosity |
||
real(kind=rk), | intent(in) | :: | omegaBulk |
omega related to bulk viscosity |
||
integer, | intent(in) | :: |
number of directions |
output mrt diagonal matrix
set all relaxation parameter to same omega, results in bgk collision
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | omegaKine |
omega related to kinematic viscosity |
||
real(kind=rk), | intent(in) | :: | omegaBulk |
omega related to bulk viscosity |
||
integer, | intent(in) | :: |
number of directions |
output mrt diagonal matrix
This function returns mrt function pointer according to scheme definition. In Jonas Toelke paper (2006) about MRT, the following notions are used:\n s(a) = s(2) s(b) = s(3) s(c) = s(5) = s(7) = s(9) s(d) = s(11) = s(13 s(e) = s(17) = s(18) = s(19) s(w) = s(10) = s(12) = s(14) = s(15) = s(16) It is suggested that, for D3Q19, s(a) = s(b) = s(c) = s(d) = s(e) = max( s(w), -1.0 ) Notice that the collision matrix S used in this papar corresponds to -omega in BGK model, because it express the LB equation is slightly different way.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(mus_proc_mrt), | pointer | :: | mrtPtr |
mrt function pointer |
||
type(mus_scheme_header_type), | intent(in) | :: | schemeHeader |
Scheme header information |