Routines and parameter definitions for the standard D2Q9 model
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private, | parameter | :: | = | 9 |
Definition of the discrete velocity set |
|
integer, | private, | parameter | :: | q00 | = | 9 | |
integer, | private, | parameter | :: | q__0 | = | 9 |
Improved BGK model (with Galilean correction term) taken from Martin Geier cumulent paper 2015 Geier, M., Schönherr, M., Pasquali, A., & Krafczyk, M. (2015). The cumulant lattice Boltzmann equation in three dimensions : Theory and validation. Computers and Mathematics with Applications.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_prop_type), | intent(in) | :: | fieldProp(:) |
Array of field properties (fluid or species) |
||
real(kind=rk), | intent(in) | :: | inState(nElems*varSys%nScalars) |
input pdf vector |
||
real(kind=rk), | intent(out) | :: | outState(nElems*varSys%nScalars) |
output pdf vector |
||
real(kind=rk), | intent(inout) | :: | auxField(nElems*varSys%nAuxScalars) |
Auxiliary field computed from pre-collision state Is updated with correct velocity field for multicomponent models |
||
integer, | intent(in) | :: | neigh(nElems*layout%fStencil%QQ) |
connectivity vector |
||
integer, | intent(in) | :: | nElems |
number of elements in state Array |
||
integer, | intent(in) | :: | nSolve |
number of elements solved in kernel |
||
integer, | intent(in) | :: | level |
current level |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
current layout |
||
type(mus_param_type), | intent(in) | :: | params |
global parameters |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system definition |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys for all fields |
No comment yet!
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_prop_type), | intent(in) | :: | fieldProp(:) |
Array of field properties (fluid or species) |
||
real(kind=rk), | intent(in) | :: | inState(nElems*varSys%nScalars) |
input pdf vector |
||
real(kind=rk), | intent(out) | :: | outState(nElems*varSys%nScalars) |
output pdf vector |
||
real(kind=rk), | intent(inout) | :: | auxField(nElems*varSys%nAuxScalars) |
Auxiliary field computed from pre-collision state Is updated with correct velocity field for multicomponent models |
||
integer, | intent(in) | :: | neigh(nElems*layout%fStencil%QQ) |
connectivity vector |
||
integer, | intent(in) | :: | nElems |
number of elements in state Array |
||
integer, | intent(in) | :: | nSolve |
number of elements solved in kernel |
||
integer, | intent(in) | :: | level |
current level |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
current layout |
||
type(mus_param_type), | intent(in) | :: | params |
global parameters |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system definition |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys for all fields |
Advection relaxation routine for the D2Q9 MRT model f( x+c, t+1 ) = f(x,t) - M^(-1)S( m - meq )
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_prop_type), | intent(in) | :: | fieldProp(:) |
Array of field properties (fluid or species) |
||
real(kind=rk), | intent(in) | :: | inState(nElems*varSys%nScalars) |
input pdf vector |
||
real(kind=rk), | intent(out) | :: | outState(nElems*varSys%nScalars) |
output pdf vector |
||
real(kind=rk), | intent(inout) | :: | auxField(nElems*varSys%nAuxScalars) |
Auxiliary field computed from pre-collision state Is updated with correct velocity field for multicomponent models |
||
integer, | intent(in) | :: | neigh(nElems*layout%fStencil%QQ) |
connectivity vector |
||
integer, | intent(in) | :: | nElems |
number of elements in state Array |
||
integer, | intent(in) | :: | nSolve |
number of elements solved in kernel |
||
integer, | intent(in) | :: | level |
current level |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
current layout |
||
type(mus_param_type), | intent(in) | :: | params |
global parameters |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system definition |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys for all fields |
Advection relaxation routine for the D2Q9 MRT model f( x+c, t+1 ) = f(x,t) - M^(-1)S( m - meq )
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_prop_type), | intent(in) | :: | fieldProp(:) |
Array of field properties (fluid or species) |
||
real(kind=rk), | intent(in) | :: | inState(nElems*varSys%nScalars) |
input pdf vector |
||
real(kind=rk), | intent(out) | :: | outState(nElems*varSys%nScalars) |
output pdf vector |
||
real(kind=rk), | intent(inout) | :: | auxField(nElems*varSys%nAuxScalars) |
Auxiliary field computed from pre-collision state Is updated with correct velocity field for multicomponent models |
||
integer, | intent(in) | :: | neigh(nElems*layout%fStencil%QQ) |
connectivity vector |
||
integer, | intent(in) | :: | nElems |
number of elements in state Array |
||
integer, | intent(in) | :: | nSolve |
number of elements solved in kernel |
||
integer, | intent(in) | :: | level |
current level |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
current layout |
||
type(mus_param_type), | intent(in) | :: | params |
global parameters |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system definition |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys for all fields |
No comment yet!
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_prop_type), | intent(in) | :: | fieldProp(:) |
Array of field properties (fluid or species) |
||
real(kind=rk), | intent(in) | :: | inState(nElems*varSys%nScalars) |
input pdf vector |
||
real(kind=rk), | intent(out) | :: | outState(nElems*varSys%nScalars) |
output pdf vector |
||
real(kind=rk), | intent(inout) | :: | auxField(nElems*varSys%nAuxScalars) |
Auxiliary field computed from pre-collision state Is updated with correct velocity field for multicomponent models |
||
integer, | intent(in) | :: | neigh(nElems*layout%fStencil%QQ) |
connectivity vector |
||
integer, | intent(in) | :: | nElems |
number of elements in state Array |
||
integer, | intent(in) | :: | nSolve |
number of elements solved in kernel |
||
integer, | intent(in) | :: | level |
current level |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
current layout |
||
type(mus_param_type), | intent(in) | :: | params |
global parameters |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system definition |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys for all fields |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_prop_type), | intent(in) | :: | fieldProp(:) |
Array of field properties (fluid or species) |
||
real(kind=rk), | intent(in) | :: | inState(nElems*varSys%nScalars) |
input pdf vector |
||
real(kind=rk), | intent(out) | :: | outState(nElems*varSys%nScalars) |
output pdf vector |
||
real(kind=rk), | intent(inout) | :: | auxField(nElems*varSys%nAuxScalars) |
Auxiliary field computed from pre-collision state Is updated with correct velocity field for multicomponent models |
||
integer, | intent(in) | :: | neigh(nElems*layout%fStencil%QQ) |
connectivity vector |
||
integer, | intent(in) | :: | nElems |
number of elements in state Array |
||
integer, | intent(in) | :: | nSolve |
number of elements solved in kernel |
||
integer, | intent(in) | :: | level |
current level |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
current layout |
||
type(mus_param_type), | intent(in) | :: | params |
global parameters |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system definition |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys for all fields |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_prop_type), | intent(in) | :: | fieldProp(:) |
Array of field properties (fluid or species) |
||
real(kind=rk), | intent(in) | :: | inState(nElems*varSys%nScalars) |
input pdf vector |
||
real(kind=rk), | intent(out) | :: | outState(nElems*varSys%nScalars) |
output pdf vector |
||
real(kind=rk), | intent(inout) | :: | auxField(nElems*varSys%nAuxScalars) |
Auxiliary field computed from pre-collision state Is updated with correct velocity field for multicomponent models |
||
integer, | intent(in) | :: | neigh(nElems*layout%fStencil%QQ) |
connectivity vector |
||
integer, | intent(in) | :: | nElems |
number of elements in state Array |
||
integer, | intent(in) | :: | nSolve |
number of elements solved in kernel |
||
integer, | intent(in) | :: | level |
current level |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
current layout |
||
type(mus_param_type), | intent(in) | :: | params |
global parameters |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system definition |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys for all fields |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_prop_type), | intent(in) | :: | fieldProp(:) |
Array of field properties (fluid or species) |
||
real(kind=rk), | intent(in) | :: | inState(nElems*varSys%nScalars) |
input pdf vector |
||
real(kind=rk), | intent(out) | :: | outState(nElems*varSys%nScalars) |
output pdf vector |
||
real(kind=rk), | intent(inout) | :: | auxField(nElems*varSys%nAuxScalars) |
Auxiliary field computed from pre-collision state Is updated with correct velocity field for multicomponent models |
||
integer, | intent(in) | :: | neigh(nElems*layout%fStencil%QQ) |
connectivity vector |
||
integer, | intent(in) | :: | nElems |
number of elements in state Array |
||
integer, | intent(in) | :: | nSolve |
number of elements solved in kernel |
||
integer, | intent(in) | :: | level |
current level |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
current layout |
||
type(mus_param_type), | intent(in) | :: | params |
global parameters |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system definition |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys for all fields |
Hybrid recursive regularization relaxation routine for the BGK model. based on: Feng et al., JCP 2019, "Hybrid recursive regularized thermal lattice Boltzmann model for high subsonic compressible flows"
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_prop_type), | intent(in) | :: | fieldProp(:) |
Array of field properties (fluid or species) |
||
real(kind=rk), | intent(in) | :: | inState(nElems*varSys%nScalars) |
Input pdf vector |
||
real(kind=rk), | intent(out) | :: | outState(nElems*varSys%nScalars) |
Output pdf vector |
||
real(kind=rk), | intent(inout) | :: | auxField(nElems*varSys%nAuxScalars) |
Auxiliary field computed from pre-collision state is updated with correct velocity field for multicomponent models |
||
integer, | intent(in) | :: | neigh(nElems*layout%fStencil%QQ) |
Connectivity vector |
||
integer, | intent(in) | :: | nElems |
Number of elements in state Array |
||
integer, | intent(in) | :: | nSolve |
Number of elements solved in kernel |
||
integer, | intent(in) | :: | level |
Current level |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
Vurrent layout |
||
type(mus_param_type), | intent(in) | :: | params |
Global parameters |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
Variable system definition |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
Position of derived quantities in varsys for all fields |
Hybrid recursive regularization relaxation routine for the BGK model. based on: Feng et al., JCP 2019, "Hybrid recursive regularized thermal lattice Boltzmann model for high subsonic compressible flows"
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_prop_type), | intent(in) | :: | fieldProp(:) |
Array of field properties (fluid or species) |
||
real(kind=rk), | intent(in) | :: | inState(nElems*varSys%nScalars) |
Input pdf vector |
||
real(kind=rk), | intent(out) | :: | outState(nElems*varSys%nScalars) |
Output pdf vector |
||
real(kind=rk), | intent(inout) | :: | auxField(nElems*varSys%nAuxScalars) |
Auxiliary field computed from pre-collision state is updated with correct velocity field for multicomponent models |
||
integer, | intent(in) | :: | neigh(nElems*layout%fStencil%QQ) |
Connectivity vector |
||
integer, | intent(in) | :: | nElems |
Number of elements in state Array |
||
integer, | intent(in) | :: | nSolve |
Number of elements solved in kernel |
||
integer, | intent(in) | :: | level |
Current level |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
Vurrent layout |
||
type(mus_param_type), | intent(in) | :: | params |
Global parameters |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
Variable system definition |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
Position of derived quantities in varsys for all fields |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(mus_field_prop_type), | intent(in) | :: | fieldProp(:) |
Array of field properties (fluid or species) |
||
real(kind=rk), | intent(in) | :: | inState(nElems*varSys%nScalars) |
input pdf vector |
||
real(kind=rk), | intent(out) | :: | outState(nElems*varSys%nScalars) |
output pdf vector |
||
real(kind=rk), | intent(inout) | :: | auxField(nElems*varSys%nAuxScalars) |
Auxiliary field computed from pre-collision state Is updated with correct velocity field for multicomponent models |
||
integer, | intent(in) | :: | neigh(nElems*layout%fStencil%QQ) |
connectivity vector |
||
integer, | intent(in) | :: | nElems |
number of elements in state Array |
||
integer, | intent(in) | :: | nSolve |
number of elements solved in kernel |
||
integer, | intent(in) | :: | level |
current level |
||
type(mus_scheme_layout_type), | intent(in) | :: | layout |
current layout |
||
type(mus_param_type), | intent(in) | :: | params |
global parameters |
||
type(tem_varSys_type), | intent(in) | :: | varSys |
variable system definition |
||
type(mus_derVarPos_type), | intent(in) | :: | derVarPos(:) |
position of derived quantities in varsys for all fields |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | weight(QQ) |
Weights of the stencil |
||
real(kind=rk), | intent(in) | :: | rho |
Density, velocity components |
||
real(kind=rk), | intent(in) | :: | u_x | |||
real(kind=rk), | intent(in) | :: | u_y | |||
real(kind=rk), | intent(out) | :: | feq(QQ) |
Equilibrium pdf and full pdf |
||
real(kind=rk), | intent(out) | :: | f1(QQ) | |||
real(kind=rk), | intent(in) | :: | a12xx |
Coefficients of f1: a12xx, a12yy, a12xy |
||
real(kind=rk), | intent(in) | :: | a12yy |
Coefficients of f1: a12xx, a12yy, a12xy |
||
real(kind=rk), | intent(in) | :: | a12xy |
Coefficients of f1: a12xx, a12yy, a12xy |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | weight(QQ) |
weights of the stencil |
||
real(kind=rk), | intent(in) | :: | rho |
density, velocity components |
||
real(kind=rk), | intent(in) | :: | u_x | |||
real(kind=rk), | intent(in) | :: | u_y | |||
real(kind=rk), | intent(out) | :: | feq(QQ) |
equilibrium pdf and full pdf |
||
real(kind=rk), | intent(out) | :: | f1(QQ) | |||
real(kind=rk), | intent(in) | :: | a12xx |
coefficients of f1: a12xx, a12yy, a12xy |
||
real(kind=rk), | intent(in) | :: | a12yy |
coefficients of f1: a12xx, a12yy, a12xy |
||
real(kind=rk), | intent(in) | :: | a12xy |
coefficients of f1: a12xx, a12yy, a12xy |