deriveAuxMSLiquid_fromState Subroutine

public subroutine deriveAuxMSLiquid_fromState(derVarPos, state, neigh, iField, nElems, nSize, iLevel, stencil, varSys, auxField)

This routine computes auxField 'density and velocity' of given field from state array. velocity of original PDF is computed in this routine by solving LSE.

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


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

Position of derive variable in variable system

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

Array of state n * layout%stencil(1)%QQ * nFields

integer, intent(in) :: neigh(:)

connectivity vector

integer, intent(in) :: iField

Current field

integer, intent(in) :: nElems

number of elements

integer, intent(in) :: nSize

number of elements in state array

integer, intent(in) :: iLevel

current level

type(tem_stencilHeader_type), intent(in) :: stencil

stencil header contains discrete velocity vectors

type(tem_varSys_type), intent(in) :: varSys

variable system which is required to access fieldProp information via variable method data c_ptr

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

Output of this routine Size: nElems*nAuxScalars


proc~~deriveauxmsliquid_fromstate~~CallsGraph proc~deriveauxmsliquid_fromstate deriveAuxMSLiquid_fromState proc~momentumfrommacrolse momentumFromMacroLSE proc~deriveauxmsliquid_fromstate->proc~momentumfrommacrolse proc~invert_matrix invert_matrix proc~momentumfrommacrolse->proc~invert_matrix



integer, private :: iElem
integer, private :: iDir
integer, private :: iFld
integer, private :: nFields
integer, private :: elemOff
integer, private :: dens_pos
integer, private :: mom_pos(3)
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 :: first_moments(3,varSys%nStateVars)
real(kind=rk), private :: momentum(3,varSys%nStateVars)
real(kind=rk), private, dimension(varSys%nStateVars):: phi
real(kind=rk), private :: resi_coeff(varSys%nStateVars,varSys%nStateVars)
real(kind=rk), private :: omega_fac
real(kind=rk), private :: paramBInv
real(kind=rk), private :: pdf(stencil%QQ)
type(mus_varSys_data_type), private, pointer:: fPtr
type(mus_scheme_type), private, pointer:: scheme