deriveEqMSGas_FromState Subroutine

public subroutine deriveEqMSGas_FromState(state, iField, nElems, varSys, layout, res)

This routine computes equilibrium from state array

This subroutine's interface must match the abstract interface definition derive_FromState in derived/mus_derVarPos_module.f90 in order to be callable via velFromState, equilFromState, momFromState, velocitiesFromState, and momentaFromState function pointers.

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: state(:)

Array of state n * layout%fStencil%QQ * nFields

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


Calls

proc~~deriveeqmsgas_fromstate~~CallsGraph proc~deriveeqmsgas_fromstate deriveEqMSGas_FromState proc~invert_matrix invert_matrix proc~deriveeqmsgas_fromstate->proc~invert_matrix

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iElem
integer, private :: iComp
integer, private :: nFields
integer, private :: iDir
type(mus_varSys_data_type), private, pointer:: fPtr
type(mus_scheme_type), private, pointer:: scheme
integer, private :: varPos
integer, private :: QQ
real(kind=rk), private :: tmpPDF(layout%fStencil%QQ)
real(kind=rk), private :: massFraction(varSys%nStateVars)
real(kind=rk), private :: mass_dens(varSys%nStateVars)
real(kind=rk), private :: press(varSys%nStateVars)
real(kind=rk), private :: lambda(varSys%nStateVars)
real(kind=rk), private :: pressMix
real(kind=rk), private :: densMix
real(kind=rk), private :: molWeightMix
real(kind=rk), private :: first_moments(3,varSys%nStateVars)
real(kind=rk), private :: momentum(3,varSys%nStateVars)
real(kind=rk), private, dimension(varSys%nStateVars):: molWeight
real(kind=rk), private, dimension(varSys%nStateVars):: phi
real(kind=rk), private :: resi_coeff(varSys%nStateVars,varSys%nStateVars)
real(kind=rk), private :: chi(varSys%nStateVars,varSys%nStateVars)
integer, private :: iFld
integer, private :: iFldDia
integer, private :: iFldNonDia
real(kind=rk), private :: matrixA(varSys%nStateVars,varSys%nStateVars)
real(kind=rk), private :: invA(varSys%nStateVars,varSys%nStateVars)
real(kind=rk), private :: fEq(layout%fStencil%QQ)
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
integer, private :: stateVarMap(varSys%nStateVars)