deriveEquilMSLiquid_fromAux Subroutine

public subroutine deriveEquilMSLiquid_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.

Arguments

TypeIntentOptionalAttributesName
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


Calls

proc~~deriveequilmsliquid_fromaux~~CallsGraph proc~deriveequilmsliquid_fromaux deriveEquilMSLiquid_fromAux proc~equilfrommacro equilFromMacro proc~deriveequilmsliquid_fromaux->proc~equilfrommacro proc~equilvelfrommacro equilVelFromMacro proc~equilfrommacro->proc~equilvelfrommacro

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iElem
integer, private :: QQ
integer, private :: iFld
integer, private :: nFields
integer, private :: elemOff
integer, private :: dens_pos
integer, private :: mom_pos(3)
real(kind=rk), private :: fEq_loc(layout%fStencil%QQ)
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)
type(mus_scheme_type), private, pointer:: scheme
type(mus_varSys_data_type), private, pointer:: fPtr