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.
This subroutine interface must match the abstract interface definition kernel in scheme/mus_scheme_type_module.f90 in order to be callable via compute function pointer.
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 | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | iElem | ||||
integer, | private | :: | nScalars | ||||
real(kind=rk), | private | :: | f(-1:1,-1:1,-1:1) | ||||
real(kind=rk), | private | :: | u | ||||
real(kind=rk), | private | :: | v | ||||
real(kind=rk), | private | :: | w | ||||
real(kind=rk), | private | :: | u2 | ||||
real(kind=rk), | private | :: | v2 | ||||
real(kind=rk), | private | :: | w2 | ||||
real(kind=rk), | private | :: | rho | ||||
real(kind=rk), | private | :: | rho_omg | ||||
real(kind=rk), | private | :: | inv_rho | ||||
real(kind=rk), | private | :: | omega | ||||
real(kind=rk), | private | :: | cmpl_o | ||||
real(kind=rk), | private | :: | fac | ||||
real(kind=rk), | private | :: | sumX1 | ||||
real(kind=rk), | private | :: | sumXN | ||||
real(kind=rk), | private | :: | X0 | ||||
real(kind=rk), | private | :: | X1 | ||||
real(kind=rk), | private | :: | XN | ||||
real(kind=rk), | private | :: | sumY1 | ||||
real(kind=rk), | private | :: | sumYN | ||||
real(kind=rk), | private | :: | Y0 | ||||
real(kind=rk), | private | :: | Y1 | ||||
real(kind=rk), | private | :: | YN | ||||
real(kind=rk), | private | :: | sumZ1 | ||||
real(kind=rk), | private | :: | sumZN | ||||
real(kind=rk), | private | :: | Z0 | ||||
real(kind=rk), | private | :: | Z1 | ||||
real(kind=rk), | private | :: | ZN | ||||
real(kind=rk), | private | :: | m200 | ||||
real(kind=rk), | private | :: | m020 | ||||
real(kind=rk), | private | :: | m002 | ||||
real(kind=rk), | private | :: | Gx | ||||
real(kind=rk), | private | :: | Gy | ||||
real(kind=rk), | private | :: | Gz | ||||
real(kind=rk), | private | :: | x0y0 | ||||
real(kind=rk), | private | :: | x0y1 | ||||
real(kind=rk), | private | :: | x0yn | ||||
real(kind=rk), | private | :: | x1y0 | ||||
real(kind=rk), | private | :: | xny0 | ||||
real(kind=rk), | private | :: | x1y1 | ||||
real(kind=rk), | private | :: | x1yn | ||||
real(kind=rk), | private | :: | xny1 | ||||
real(kind=rk), | private | :: | xnyn | ||||
integer, | private | :: | dens_pos | ||||
integer, | private | :: | vel_pos(3) | ||||
integer, | private | :: | elemOff |