deriveDensity_fromIndex Subroutine

public recursive subroutine deriveDensity_fromIndex(fun, varSys, time, iLevel, idx, idxLen, nVals, res)

Initiates the calculation of density. This routine sets the function Pointer for density calcualtion and calls the generice get Value of Index routine

The interface has to comply to the abstract interface tem_varSys_proc_getValOfIndex.


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_time_type), intent(in) :: time

Point in time at which to evaluate the variable.

integer, intent(in) :: iLevel

Level on which values are requested

integer, intent(in) :: idx(:)

Index of points in the growing array and variable val array to return. Size: most times nVals, if contiguous arrays are used it depends on the number of first indices

integer, intent(in), optional :: idxLen(:)

With idx as start index in contiguous memory, idxLength defines length of each contiguous memory Size: dependes on number of first index for contiguous array, but the sum of all idxLen is equal to nVals

integer, intent(in) :: nVals

Number of values to obtain for this variable (vectorized access).

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

Resulting values for the requested variable.

Dimension: n requested entries x nComponents of this variable Access: (iElem-1)*fun%nComponents + iComp


proc~~derivedensity_fromindex~~CallsGraph proc~derivedensity_fromindex deriveDensity_fromIndex proc~mus_generic_varfrompdf_fromindex mus_generic_varFromPDF_fromIndex proc~derivedensity_fromindex->proc~mus_generic_varfrompdf_fromindex proc~tem_abort tem_abort proc~mus_generic_varfrompdf_fromindex->proc~tem_abort



procedure(mus_derive_fromPDF), private, pointer:: fnCalcPtr

Function pointer to perform specific operation.