This routine stores provided points in method_data of spacetime_listElem and return the indices of points or evaluated value in the growing array. If spacetime function is time-independent then pre-compute values and store in growing array of evalVal in tem_pointData_type.
! Store spatial value for unique points depends on stFun type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(tem_st_fun_listElem_type), | private, | pointer | :: | fPtr | |||
integer, | private | :: | iStFun | ||||
integer, | private | :: | iPnt | ||||
integer, | private | :: | posInTree | ||||
integer, | private | :: | nUniquePnts | ||||
integer, | private | :: | iVar | ||||
character, | private | :: | offset_bit_local | ||||
logical, | private, | allocatable | :: | storePnt(:) | |||
logical, | private, | allocatable | :: | storeOffsetBit(:) | |||
logical, | private, | allocatable | :: | storeVal(:) | |||
integer, | private | :: | elemPos | ||||
integer(kind=long_k), | private | :: | treeID | ||||
logical, | private | :: | addPoint | ||||
logical, | private | :: | wasAdded | ||||
real(kind=rk), | private | :: | uniquePnts(nPnts,3) |