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.


Inherits

type~~sdr_prototree_type~~InheritsGraph type~sdr_prototree_type sdr_protoTree_type grw_intarray_type grw_intarray_type type~sdr_prototree_type->grw_intarray_type child_intersected_object sdr_node_type sdr_node_type type~sdr_prototree_type->sdr_node_type node

Components

Type Visibility Attributes Name Initial
integer, public :: nLevels

Keep track of the deepest level in the tree.

integer, public :: nLeafNodes

Number of leaf nodes.

integer, public :: nFloodedLeaves

Number of flooded leaves.

type(sdr_node_type), public :: 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, public :: levelNode_first(0:globalMaxLevels)

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

integer, public :: levelNode_last(0:globalMaxLevels)

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

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