mus_auxFieldVar_forPoint Subroutine

public recursive subroutine mus_auxFieldVar_forPoint(fun, varSys, point, time, tree, nPnts, res)

Auxilary field variable for a given set of points using linear interpolation. Unlike mus_deriveVar_forPoint which does not consider ghost and halo elements, this routine considers them because auxField vars on ghost elements are interpolated and halo elements are exchanged. The interface has to comply to the abstract interface tem_varSys_proc_point.


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.

real(kind=rk), intent(in) :: point(:,:)

Three-dimensional coordinates at which the variable should be evaluated. Only useful for variables provided as space-time functions.

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) :: nPnts

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~~mus_auxfieldvar_forpoint~~CallsGraph proc~mus_auxfieldvar_forpoint mus_auxFieldVar_forPoint proc~mus_getsrcelemposforintp mus_getSrcElemPosForIntp proc~mus_auxfieldvar_forpoint->proc~mus_getsrcelemposforintp proc~tem_posofid tem_PosOfId proc~mus_auxfieldvar_forpoint->proc~tem_posofid proc~tem_coordofreal tem_CoordOfReal proc~mus_auxfieldvar_forpoint->proc~tem_coordofreal proc~tem_idofcoord tem_IdOfCoord proc~mus_auxfieldvar_forpoint->proc~tem_idofcoord proc~tem_levelof tem_LevelOf proc~mus_auxfieldvar_forpoint->proc~tem_levelof



type(mus_varSys_data_type), private, pointer:: fPtr
type(mus_scheme_type), private, pointer:: scheme
integer, private :: statePos
integer, private :: iPnt
integer, private :: iLevel
integer, private :: elemPos
integer, private :: coord(4)
integer, private, allocatable:: srcElemPos(:)
real(kind=rk), private, allocatable:: weights(:)
real(kind=rk), private, allocatable:: srcRes(:)
real(kind=rk), private, allocatable:: pntVal(:)
integer, private :: iSrc
integer, private :: iComp
integer, private :: nSrcElems