mus_generic_fromPDF_forElement Subroutine

public recursive subroutine mus_generic_fromPDF_forElement(fun, varsys, elempos, tree, time, nVals, fnCalcPtr, ndofs, res)

This routine prepares the data for variable derivation or operators. It gathers all input variables from the variable system, calls the function with the actual calculation.

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.

integer, intent(in) :: elempos(:)

position of the treeid of the element to get the variable for in the global treeid list.

type(treelmesh_type), intent(in) :: tree

global treelm mesh info

type(tem_time_type), intent(in) :: time

point in time at which to evaluate the variable.

integer, intent(in) :: nVals

Number of values to obtain for this variable

procedure(mus_derive_fromPDF), pointer:: fnCalcPtr

Function pointer to perform specific operation.

integer, intent(in) :: ndofs

number of degrees of freedom within an element.

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

resulting values for the requested variable.

linearized array dimension: (n requested entries) x (ncomponents of this variable) x (ndegrees of freedom) access: (ielem-1)fun%ncomponentsndofs + (idof-1)*fun%ncomponents + icomp


Calls

proc~~mus_generic_frompdf_forelement~~CallsGraph proc~mus_generic_frompdf_forelement mus_generic_fromPDF_forElement proc~tem_levelof tem_LevelOf proc~mus_generic_frompdf_forelement->proc~tem_levelof

Called by

proc~~mus_generic_frompdf_forelement~~CalledByGraph proc~mus_generic_frompdf_forelement mus_generic_fromPDF_forElement proc~derivepotential_forelement derivePotential_forElement proc~derivepotential_forelement->proc~mus_generic_frompdf_forelement proc~derivedensity deriveDensity proc~derivedensity->proc~mus_generic_frompdf_forelement proc~derivenonequil deriveNonEquil proc~derivenonequil->proc~mus_generic_frompdf_forelement proc~deriveelectricfield_forelement deriveElectricfield_forElement proc~deriveelectricfield_forelement->proc~mus_generic_frompdf_forelement proc~derivevelocityincomp deriveVelocityIncomp proc~derivevelocityincomp->proc~mus_generic_frompdf_forelement proc~derivestrainrateincomp deriveStrainRateIncomp proc~derivestrainrateincomp->proc~mus_generic_frompdf_forelement proc~derivemoledensity_forelement deriveMoleDensity_forElement proc~derivemoledensity_forelement->proc~mus_generic_frompdf_forelement proc~dervelocityisothermaceq derVelocityIsothermAcEq proc~dervelocityisothermaceq->proc~mus_generic_frompdf_forelement proc~deriveequilincomp deriveEquilIncomp proc~deriveequilincomp->proc~mus_generic_frompdf_forelement proc~derequilisothermaceq derEquilIsothermAcEq proc~derequilisothermaceq->proc~mus_generic_frompdf_forelement proc~deriveequil deriveEquil proc~deriveequil->proc~mus_generic_frompdf_forelement proc~derivestrainrate deriveStrainRate proc~derivestrainrate->proc~mus_generic_frompdf_forelement proc~derivevelocity deriveVelocity proc~derivevelocity->proc~mus_generic_frompdf_forelement proc~derivemoment deriveMoment proc~derivemoment->proc~mus_generic_frompdf_forelement proc~derivenonequilincomp deriveNonEquilIncomp proc~derivenonequilincomp->proc~mus_generic_frompdf_forelement

Contents


Variables

TypeVisibilityAttributesNameInitial
real(kind=rk), private, allocatable:: pdf(:)

contain all pdf's for element

real(kind=rk), private, allocatable:: loc_res(:)
type(mus_varSys_data_type), private, pointer:: fPtr
type(mus_scheme_type), private, pointer:: scheme
integer, private :: iElem
integer, private :: pdfpos
integer, private :: iLevel
integer, private :: posInState