Advection relaxation routine for the MRT model. This routine has roughly 260 FLOPS per elements.
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 |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | iElem | ||||
real(kind=rk), | private | :: | fN00 | ||||
real(kind=rk), | private | :: | f0N0 | ||||
real(kind=rk), | private | :: | f00N | ||||
real(kind=rk), | private | :: | f100 | ||||
real(kind=rk), | private | :: | f010 | ||||
real(kind=rk), | private | :: | f001 | ||||
real(kind=rk), | private | :: | f0NN | ||||
real(kind=rk), | private | :: | f0N1 | ||||
real(kind=rk), | private | :: | f01N | ||||
real(kind=rk), | private | :: | f011 | ||||
real(kind=rk), | private | :: | fN0N | ||||
real(kind=rk), | private | :: | f10N | ||||
real(kind=rk), | private | :: | fN01 | ||||
real(kind=rk), | private | :: | f101 | ||||
real(kind=rk), | private | :: | fNN0 | ||||
real(kind=rk), | private | :: | fN10 | ||||
real(kind=rk), | private | :: | f1N0 | ||||
real(kind=rk), | private | :: | f110 | ||||
real(kind=rk), | private | :: | f000 | ||||
real(kind=rk), | private | :: | rho | ||||
real(kind=rk), | private | :: | u_x | ||||
real(kind=rk), | private | :: | u_y | ||||
real(kind=rk), | private | :: | u_z | ||||
real(kind=rk), | private | :: | meq2 | ||||
real(kind=rk), | private | :: | meq10 | ||||
real(kind=rk), | private | :: | meq12 | ||||
real(kind=rk), | private | :: | m2 | ||||
real(kind=rk), | private | :: | m6 | ||||
real(kind=rk), | private | :: | m8 | ||||
real(kind=rk), | private | :: | m14 | ||||
real(kind=rk), | private | :: | m15 | ||||
real(kind=rk), | private | :: | m16 | ||||
real(kind=rk), | private | :: | mout1 | ||||
real(kind=rk), | private | :: | mout2 | ||||
real(kind=rk), | private | :: | mout3 | ||||
real(kind=rk), | private | :: | mout5 | ||||
real(kind=rk), | private | :: | mout7 | ||||
real(kind=rk), | private | :: | mout9 | ||||
real(kind=rk), | private | :: | mout10 | ||||
real(kind=rk), | private | :: | mout11 | ||||
real(kind=rk), | private | :: | mout12 | ||||
real(kind=rk), | private | :: | mout13 | ||||
real(kind=rk), | private | :: | mout14 | ||||
real(kind=rk), | private | :: | mout15 | ||||
real(kind=rk), | private | :: | mout16 | ||||
real(kind=rk), | private | :: | mout17 | ||||
real(kind=rk), | private | :: | mout18 | ||||
real(kind=rk), | private | :: | mout19 | ||||
real(kind=rk), | private | :: | sum1 | ||||
real(kind=rk), | private | :: | sum2 | ||||
real(kind=rk), | private | :: | sum3 | ||||
real(kind=rk), | private | :: | sum4 | ||||
real(kind=rk), | private | :: | sum5 | ||||
real(kind=rk), | private | :: | sum6 | ||||
real(kind=rk), | private | :: | sum7 | ||||
real(kind=rk), | private | :: | sum8 | ||||
real(kind=rk), | private | :: | sum9 | ||||
real(kind=rk), | private | :: | sum10 | ||||
real(kind=rk), | private | :: | sum11 | ||||
real(kind=rk), | private | :: | sum12 | ||||
real(kind=rk), | private | :: | sum13 | ||||
real(kind=rk), | private | :: | sum14 | ||||
real(kind=rk), | private | :: | sum15 | ||||
real(kind=rk), | private | :: | c0 | ||||
real(kind=rk), | private | :: | c1 | ||||
real(kind=rk), | private | :: | c2 | ||||
real(kind=rk), | private | :: | c3 | ||||
real(kind=rk), | private | :: | c4 | ||||
real(kind=rk), | private | :: | c5 | ||||
real(kind=rk), | private | :: | c6 | ||||
real(kind=rk), | private | :: | mout5_4 | ||||
real(kind=rk), | private | :: | mout7_4 | ||||
real(kind=rk), | private | :: | mout9_4 | ||||
real(kind=rk), | private | :: | sum_c1_c2 | ||||
real(kind=rk), | private | :: | sub_c1_c2 | ||||
real(kind=rk), | private | :: | sum_5_17 | ||||
real(kind=rk), | private | :: | sub_7_18 | ||||
real(kind=rk), | private | :: | d1 | ||||
real(kind=rk), | private | :: | d2 | ||||
real(kind=rk), | private | :: | d3 | ||||
real(kind=rk), | private | :: | d4 | ||||
real(kind=rk), | private | :: | sum_9_19 | ||||
real(kind=rk), | private | :: | sub_5_17 | ||||
real(kind=rk), | private | :: | e1 | ||||
real(kind=rk), | private | :: | e2 | ||||
real(kind=rk), | private | :: | e3 | ||||
real(kind=rk), | private | :: | e4 | ||||
real(kind=rk), | private | :: | sum_7_18 | ||||
real(kind=rk), | private | :: | sub_9_19 | ||||
real(kind=rk), | private | :: | g1 | ||||
real(kind=rk), | private | :: | g2 | ||||
real(kind=rk), | private | :: | g3 | ||||
real(kind=rk), | private | :: | g4 | ||||
integer, | private | :: | dens_pos | ||||
integer, | private | :: | vel_pos(3) | ||||
integer, | private | :: | elemOff | ||||
real(kind=rk), | private | :: | omegaKine | ||||
real(kind=rk), | private | :: | omegaBulk | ||||
real(kind=rk), | private | :: | s_mrt(QQ) |