deriveMoment Subroutine

private recursive subroutine deriveMoment(fun, varSys, elempos, time, tree, nElems, nDofs, res)

Initiates the calculation of moment for 2D This routine sets the function Pointer for moment for 2D calcualtion and calls the generice get Element from PDF routine

The interface has to comply to the abstract interface tem_varSys_proc_element.

For 2D only!


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

Point in time at which to evaluate the variable.

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

global treelm mesh info

integer, intent(in) :: nElems

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

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


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



procedure(mus_derive_fromPDF), private, pointer:: fnCalcPtr

Function pointer to perform specific operation.