Appearance
adam_tree_node_object
ADAM, tree node class definition.
Source: src/lib/common/adam_tree_node_object.f90
Dependencies
Contents
- tree_node_neighbor_object
- tree_node_object
- destroy_tree_node
- destroy
- initialize
- tree_node_assign_tree_node
Derived Types
tree_node_neighbor_object
Tree node neighbor class definition
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
ntype | integer(kind=I4P) | Type of neighbor. | |
codes | integer(kind=I8P) | allocatable | Neighbors Morton codes list, [1] or [ratio/2]. |
portion | integer(kind=I4P) | Neighbors portion. | |
bc_fec | integer(kind=I4P) | Neighbors fec for BC. |
tree_node_object
Tree node class definition.
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
i_am_new | logical | Flag to check if the node is just born. | |
code | integer(kind=I8P) | The Morton code. | |
refinement_needed | integer(kind=I4P) | Flag for refinement/derefinement algorithm. | |
myrank | integer(kind=I4P) | MPI rank process. | |
myrank_new | integer(kind=I4P) | New MPI rank process. | |
block_index | integer(kind=I8P) | Block index in the field array. | |
block_index_new | integer(kind=I8P) | New block index in the field array. | |
neighbor | type(tree_node_neighbor_object) | Neighborhood data. | |
surface_stl_distance | real(kind=R8P) | Distance from STL surface. | |
next | type(tree_node_object) | pointer | The next node in the tree. |
previous | type(tree_node_object) | pointer | The previous node in the tree. |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
destroy | pass(self) | Destroy tree node. |
initialize | pass(self) | Initialize tree node. |
assignment(=) | Overload =. | |
tree_node_assign_tree_node | pass(lhs) | Operator =. |
Subroutines
destroy_tree_node
Destroy tree node and its subsequent ones.
Attributes: recursive
fortran
subroutine destroy_tree_node(node)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
node | type(tree_node_object) | inout | pointer | The node. |
Call graph
destroy
Destroy tree node.
Attributes: elemental
fortran
subroutine destroy(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(tree_node_object) | inout | Tree node. |
Call graph
initialize
Initialize tree node.
fortran
subroutine initialize(self, code, refinement_needed, myrank, block_index)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(tree_node_object) | inout | Tree node. | |
code | integer(kind=I8P) | in | The Morton code. | |
refinement_needed | integer(kind=I4P) | in | optional | Flag for refinement/derefinement algorithm. |
myrank | integer(kind=I4P) | in | optional | MPI rank process. |
block_index | integer(kind=I8P) | in | optional | Block index in the field array. |
Call graph
tree_node_assign_tree_node
Operator =.
Attributes: pure
fortran
subroutine tree_node_assign_tree_node(lhs, rhs)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
lhs | class(tree_node_object) | inout | Left hand side. | |
rhs | type(tree_node_object) | in | Right hand side. |