mus_derivedensity Subroutine

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

Calculate the density of a given set of elements (sum up all links). This routine is used to compute density for all scheme kinds For multispecies, it can compute both species density and mixture density

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



real(kind=rk), private, allocatable:: tmpPDF(:)
real(kind=rk), private :: dens
integer, private :: iDep
integer, private :: iVal
integer, private :: iComp
integer, private :: pdfPos
integer, private :: nCompPDF