mus_generic_varFromPDF_fromIndex Subroutine

public subroutine mus_generic_varFromPDF_fromIndex(fun, varSys, time, iLevel, idx, idxLen, nVals, fnCalcPtr, res)

Routine to get the actual value for a given array of indices for musubi derive variables The indices belong to the grwarray of points storing levelwise in Pointdata%pntLvl(iLevel). Hence this routines takes the indeices as input, can refer to the pointData and evaluate the variable and returns the values

Arguments

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

Description of the method to obtain the 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: n

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).

procedure(mus_derive_fromPDF), pointer:: fnCalcPtr

Function pointer to perform specific operation.

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


Calls

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

Called by

proc~~mus_generic_varfrompdf_fromindex~~CalledByGraph proc~mus_generic_varfrompdf_fromindex mus_generic_varFromPDF_fromIndex proc~deriveequilincomp_fromindex deriveEquilIncomp_fromIndex proc~deriveequilincomp_fromindex->proc~mus_generic_varfrompdf_fromindex proc~derivenonequil_fromindex deriveNonEquil_fromIndex proc~derivenonequil_fromindex->proc~mus_generic_varfrompdf_fromindex proc~deriveelectricfield_fromindex deriveElectricfield_fromIndex proc~deriveelectricfield_fromindex->proc~mus_generic_varfrompdf_fromindex proc~derivestrainrateincomp_fromindex deriveStrainRateIncomp_fromIndex proc~derivestrainrateincomp_fromindex->proc~mus_generic_varfrompdf_fromindex proc~derivenonequilincomp_fromindex deriveNonEquilIncomp_fromIndex proc~derivenonequilincomp_fromindex->proc~mus_generic_varfrompdf_fromindex proc~derivedensity_fromindex deriveDensity_fromIndex proc~derivedensity_fromindex->proc~mus_generic_varfrompdf_fromindex proc~deriveequil_fromindex deriveEquil_fromIndex proc~deriveequil_fromindex->proc~mus_generic_varfrompdf_fromindex proc~derivemoledensity_fromindex deriveMoleDensity_fromIndex proc~derivemoledensity_fromindex->proc~mus_generic_varfrompdf_fromindex proc~derequilisothermaceq_fromindex derEquilIsothermAcEq_fromIndex proc~derequilisothermaceq_fromindex->proc~mus_generic_varfrompdf_fromindex proc~derivestrainrate_fromindex deriveStrainRate_fromIndex proc~derivestrainrate_fromindex->proc~mus_generic_varfrompdf_fromindex

Contents


Variables

TypeVisibilityAttributesNameInitial
type(mus_varSys_data_type), private, pointer:: fPtr
type(mus_varSys_data_type), private, pointer:: state_fPtr
type(mus_scheme_type), private, pointer:: scheme
real(kind=rk), private, allocatable:: pdf(:)
integer, private, allocatable:: posInState(:)
integer, private :: varPos
integer, private :: pdfElemSize
integer, private :: elemPos
integer, private :: iVal