tem_opVar_setupIndices Subroutine

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

This subroutine call setup indices of input_variable

the interface has to comply to the abstract interface tem_varsys_module#tem_varsys_proc_setupIndices.


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~~tem_opvar_setupindices~~CallsGraph proc~tem_opvar_setupindices tem_opVar_setupIndices proc~tem_opvar_fill_inputindex tem_opVar_fill_inputIndex proc~tem_opvar_setupindices->proc~tem_opvar_fill_inputindex interface~truncate~10 truncate proc~tem_opvar_setupindices->interface~truncate~10 interface~append~16 append proc~tem_opvar_setupindices->interface~append~16 proc~tem_opvar_fill_inputindex->interface~truncate~10 proc~tem_opvar_fill_inputindex->interface~append~16 proc~truncate_ga_char truncate_ga_char interface~truncate~10->proc~truncate_ga_char proc~append_singlega2d_real append_singlega2d_real interface~append~16->proc~append_singlega2d_real proc~append_arrayga2d_real append_arrayga2d_real interface~append~16->proc~append_arrayga2d_real interface~expand~14 expand proc~append_singlega2d_real->interface~expand~14 proc~append_arrayga2d_real->interface~expand~14 proc~expand_ga2d_real expand_ga2d_real interface~expand~14->proc~expand_ga2d_real



type(tem_varSys_op_data_type), private, pointer:: opData
integer, private :: iPnt
integer, private :: iDep
type(grw_intarray_type), private, allocatable:: inputIndex_loc(:)
integer, private, allocatable:: idxPerPnt(:)