mus_deriveEquil Subroutine

private recursive subroutine mus_deriveEquil(fun, varsys, stencil, iLevel, posInState, pdf, res, nVals)

Calculate the equlibrium of given elements with the given input state array.

The interface has to comply to the abstract interface mus_derive_fromPDF.


class(tem_varSys_op_type), intent(in) :: fun

description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables.

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

the variable system to obtain the variable from.

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

fluid stencil defintion

integer, intent(in) :: iLevel

current Level

integer, intent(in) :: posInState(:)

Position of element in levelwise state array

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

pdf array

real(kind=rk), intent(out) :: res(:)


integer, intent(in) :: nVals

nVals to get



type(mus_varSys_data_type), private, pointer:: fPtr
type(mus_scheme_type), private, pointer:: scheme
real(kind=rk), private, allocatable:: tmpPDF(:)
real(kind=rk), private, allocatable:: fEq(:)
real(kind=rk), private :: dens
real(kind=rk), private :: vel(3)
real(kind=rk), private :: densInv
integer, private :: pdfPos
integer, private :: nCompsPDF
integer, private :: iVal
integer, private :: iDir