Unoptimized Advection relaxation routine for the multispecies BGK model
This routine contains the implementation based on the paper "A Lattice Boltzmann Scheme for liquid mixtures - Part II: Discretization and Numerics, Jens Zudrop, Sabine Roller, Pietro Asinari. "\n
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 | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | private | :: | pdfTmp(varSys%nScalars) | ||||
integer, | private | :: | iElem | ||||
integer, | private | :: | iField | ||||
integer, | private | :: | iField_2 | ||||
integer, | private | :: | nFields | ||||
integer, | private | :: | iDir | ||||
integer, | private | :: | |||||
integer, | private | :: | nScalars | ||||
type(mus_varSys_data_type), | private, | pointer | :: | fPtr | |||
type(mus_scheme_type), | private, | pointer | :: | scheme | |||
integer, | private | :: | vPos(layout%fStencil%QQ) | ||||
integer, | private, | dimension(varSys%nStateVars) | :: | stateVarMap | |||
real(kind=rk), | private, | dimension(varSys%nStateVars) | :: | mass_dens | |||
real(kind=rk), | private, | dimension(varSys%nStateVars) | :: | num_dens | |||
real(kind=rk), | private, | dimension(varSys%nStateVars) | :: | moleFrac | |||
real(kind=rk), | private, | dimension(3, varSys%nStateVars) | :: | first_moments | |||
real(kind=rk), | private, | dimension(3, varSys%nStateVars) | :: | velocity | |||
real(kind=rk), | private, | dimension(3, varSys%nStateVars) | :: | eqVel | |||
real(kind=rk), | private, | dimension(varSys%nStateVars) | :: | molWeight | |||
real(kind=rk), | private, | dimension(varSys%nStateVars) | :: | phi | |||
real(kind=rk), | private | :: | totNum_dens | ||||
real(kind=rk), | private | :: | usqr | ||||
real(kind=rk), | private | :: | ucx | ||||
real(kind=rk), | private | :: | feq | ||||
real(kind=rk), | private | :: | velAvg(3) | ||||
real(kind=rk), | private | :: | velNew(3) | ||||
real(kind=rk), | private | :: | ucxQuadTerm | ||||
real(kind=rk), | private | :: | theta_eq | ||||
real(kind=rk), | private | :: | totMassDens | ||||
real(kind=rk), | private | :: | omega | ||||
real(kind=rk), | private | :: | omega_new | ||||
real(kind=rk), | private | :: | paramB | ||||
real(kind=rk), | private, | dimension(varSys%nStateVars, varSys%nStateVars) | :: | matA | |||
real(kind=rk), | private, | dimension(varSys%nStateVars, varSys%nStateVars) | :: | invA | |||
real(kind=rk), | private, | dimension(varSys%nStateVars, varSys%nStateVars) | :: | resi_coeff | |||
integer, | private | :: | elemOff | ||||
integer, | private | :: | dens_pos(varSys%nStateVars) | ||||
integer, | private | :: | mom_pos(3,varSys%nStateVars) | ||||
real(kind=rk), | private | :: | wRestInv | ||||
real(kind=rk), | private | :: | sRest(varSys%nStateVars) |