Advection relaxation routine based on the E-Model for the D3Q19 Lattice Boltzmann model for the generic advection and anisotropic-dispersion equation. The E-Model is corrected to account for the effect of numerical diffusion with the nonlinear equilibrium correction
Irina Ginzburg (2005), "Equilibrium-type and link-type lattice Boltzmann models for generic advection and anisotropic-dispersion equation", Advances in Water Resources, Volume 28, Issue 11
The MRT model is based on:
Dominique d’Humières. “Multiple–relaxation–time lattice Boltzmann models in three dimensions”. In: Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences 360.1792 (2002), pp. 437–451. doi: 10.1098/rsta.2001.0955
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.
First load all local values into temp array
| 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 |