mus_opVar_setupIndices Subroutine

public recursive subroutine mus_opVar_setupIndices(fun, varSys, point, offset_bit, iLevel, tree, nPnts, idx)


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(:,:)

List of space coordinate points to store as growing array in method_data

character, intent(in), optional :: offset_bit(:)

Offset bit encoded as character for every point.

Offset integer coord(3) is converted into a character with offset_bit = achar( (coord(1)+1) + (coord(2)+1)4 + (coord(3)+1)16 ) Backward transformation form character to 3 integer: coord(1) = mod(ichar(offset_bit),4) - 1 coord(2) = mod(ichar(offset_bit),16)/4 - 1 coord(3) = ichar(offset_bit)/16 - 1

If not present default is to center i.e offset_bit = achar(1+4+16)

integer, intent(in) :: iLevel

Level to which input points belong to

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

global treelm mesh info

integer, intent(in) :: nPnts

Number of points to add in method_data of this variable

integer, intent(out) :: idx(:)

Index of points in the growing array and variable val array. Size: nPoints

This must be stored in boundary or source depends on who calls this routine. This index is required to return a value using getValOfIndex.


proc~~mus_opvar_setupindices~~CallsGraph proc~mus_opvar_setupindices mus_opVar_setupIndices interface~truncate truncate proc~mus_opvar_setupindices->interface~truncate interface~append append proc~mus_opvar_setupindices->interface~append proc~tem_opvar_fill_inputindex tem_opVar_fill_inputIndex proc~mus_opvar_setupindices->proc~tem_opvar_fill_inputindex



type(mus_varSys_data_type), private, pointer:: fPtr
integer, private :: iPnt
integer, private :: iDep
integer, private :: nVals_prev
type(grw_intarray_type), private, allocatable:: inputIndex_loc(:)
integer, private, allocatable:: idxPerPnt(:)