sdr_protoTree_type Derived Type

type, public :: sdr_protoTree_type

The protoTree is used to describe the preliminary tree, before it is actually extended to the full information of the mesh.

This extension will only be done for the actual leaf nodes, in the computational domain.


type~~sdr_prototree_type~~InheritsGraph type~sdr_prototree_type sdr_protoTree_type type~sdr_node_type sdr_node_type type~sdr_prototree_type->type~sdr_node_type node type~grw_intarray_type grw_intarray_type type~sdr_prototree_type->type~grw_intarray_type child_intersected_object type~sdr_node_type->type~grw_intarray_type hasBndBits, minBCID, intersected_object, intersected_distance, minLevel, linkpos, sublevel type~grw_int2darray_type grw_int2darray_type type~sdr_node_type->type~grw_int2darray_type PropertyBits type~grw_intersectobjposarray_type grw_intersectobjposarray_type type~sdr_node_type->type~grw_intersectobjposarray_type userObjPos, distObjPos type~dyn_longarray_type dyn_longarray_type type~sdr_node_type->type~dyn_longarray_type treeID type~sdr_intersectobjpos_type sdr_intersectObjPos_type type~grw_intersectobjposarray_type->type~sdr_intersectobjpos_type val



integer, private :: nLevels

Keep track of the deepest level in the tree.

integer, private :: nLeafNodes

Number of leaf nodes.

integer, private :: nFloodedLeaves

Number of flooded leaves.

type(sdr_node_type), private :: node

List of all nodes in the tree, each node contains a list of the objects it is intersecting and a property bit mask. It is identified by its treeID.

All components of Node are growing arrays, thus the corresponding component of node inode has to be accessed with component%val(inode).

integer, private :: levelNode_first(0:globalMaxLevels)

The index of the first node on a given level in node%treeID%sorted.

integer, private :: levelNode_last(0:globalMaxLevels)

The index of the last node on a given level in node%treeID%sorted.

type(grw_intarray_type), private :: child_intersected_object

Temporary array intersected objects of 8 children which will later be copied to intersected_object in node_type.

This array is initialized in build_protoTree and destroyed after refine_leaf