derivePressure_fromIndex Subroutine

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

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

The interface has to comply to the abstract interface tem_varSys_proc_getValOfIndex.

Arguments

TypeIntentOptionalAttributesName
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


Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: dens_pos
type(mus_varSys_data_type), private, pointer:: fPtr