This routine computes equilbrium from density and velocity This must comply with mus_variable_module%derive_FromMacro

This subroutine's interface must match the abstract interface definition derive_FromMacro in derived/mus_derVarPos_module.f90 in order to be callable via equilFromMacro function pointer.

Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|

real(kind=rk), | intent(in) | :: | density(:) | Array of density. Single species: dens_1, dens_2 .. dens_n multi-species: dens_1_sp1, dens_1_sp2, dens_2_sp1, dens_2_sp2 ... dens_n_sp1, dens_n_sp2 |
||

real(kind=rk), | intent(in) | :: | velocity(:,:) | Array of velocity. Size: dimension 1: n*nFields. dimension 2: 3 (nComp) 1st dimension arrangement for multi-species is same as density |
||

integer, | intent(in) | :: | iField | Current field |
||

integer, | intent(in) | :: | nElems | number of elements |
||

type(tem_varSys_type), | intent(in) | :: | varSys | variable system which is required to access fieldProp information via variable method data c_ptr |
||

type(mus_scheme_layout_type), | intent(in) | :: | layout | scheme layout contains stencil definition and lattice weights |
||

real(kind=rk), | intent(out) | :: | res(:) | Output of this routine Dimension: n*nComponents of res |

Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|

real(kind=rk), | private | :: | fEq(layout%fStencil%QQ) | ||||

integer, | private | :: | QQ | ||||

integer, | private | :: | iElem | ||||

integer, | private | :: | iFld | ||||

integer, | private | :: | nFields | ||||

integer, | private | :: | offset | ||||

type(mus_varSys_data_type), | private, | pointer | :: | fPtr | |||

type(mus_scheme_type), | private, | pointer | :: | scheme | |||

real(kind=rk), | private | :: | phi | ||||

real(kind=rk), | private | :: | resi_coeff(varSys%nStateVars) | ||||

real(kind=rk), | private | :: | paramBInv | ||||

real(kind=rk), | private | :: | theta_eq | ||||

real(kind=rk), | private | :: | mass_dens(varSys%nStateVars) | ||||

real(kind=rk), | private | :: | num_dens(varSys%nStateVars) | ||||

real(kind=rk), | private | :: | moleFraction(varSys%nStateVars) | ||||

real(kind=rk), | private | :: | totNum_densInv | ||||

real(kind=rk), | private | :: | vel(3,varSys%nStateVars) |