deriveEquilMSGas_fromAux Subroutine

public subroutine deriveEquilMSGas_fromAux(derVarPos, auxField, iField, nElems, varSys, layout, fEq)

This routine computes equilbrium from auxField

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


class(mus_derVarPos_type), intent(in) :: derVarPos

Position of derive variable in variable system

real(kind=rk), intent(in) :: auxField(:)

Array of auxField. Single species: dens_1, vel_1, dens_2, vel_2, .. dens_n, vel_n multi-species: dens_1_sp1, vel_1_spc1, dens_1_sp2, vel_1_spc2, dens_2_sp1, vel_2_spc2, dens_2_sp2, vel_2_spc2 ... dens_n_sp1, vel_n_sp1, dens_n_sp2, vel_n_spc2 Access: (iElem-1)*nAuxScalars + auxField_varPos

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) :: fEq(:)

Output of this routine Dimension: n*QQ of res



integer, private :: iElem
integer, private :: iDir
integer, private :: iFld
integer, private :: nFields
integer, private :: elemOff
integer, private :: elemOffEq
integer, private :: dens_pos
integer, private :: mom_pos(3)
real(kind=rk), private :: resi_coeff(varSys%nStateVars)
real(kind=rk), private :: phi
real(kind=rk), private :: mass_dens(varSys%nStateVars)
real(kind=rk), private :: massFraction(varSys%nStateVars)
real(kind=rk), private :: totMass_densInv
real(kind=rk), private :: molWeightInv(varSys%nStateVars)
real(kind=rk), private :: vel(3,varSys%nStateVars)
real(kind=rk), private :: eqVel(3)
real(kind=rk), private :: ucx
real(kind=rk), private :: usq
real(kind=rk), private :: weight0Inv
real(kind=rk), private :: molWeightMix
type(mus_scheme_type), private, pointer:: scheme
type(mus_varSys_data_type), private, pointer:: fPtr