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) | ||||
real(kind=rk), | private | :: | vel(3) | ||||
real(kind=rk), | private | :: | ucx | ||||
integer, | private | :: | |||||
integer, | private | :: | iElem | ||||
integer, | private | :: | iDir |