Module with basic grid data structures
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | dimension(:), allocatable, save | :: | Morton_start |
First Morton number per processor |
||
| integer, | public, | dimension(:), allocatable, save | :: | Morton_stop |
Last Morton number per processor |
||
| integer, | public, | dimension(:), allocatable, save | :: | Morton_sub_start | |||
| integer, | public, | dimension(:), allocatable, save | :: | Morton_sub_stop | |||
| logical, | public, | dimension(:,:), allocatable, save | :: | buffer |
AMR flags and grids-in-use identifier per processor (igrid,ipe) |
||
| logical, | public, | dimension(:,:), allocatable, save | :: | coarsen |
AMR flags and grids-in-use identifier per processor (igrid,ipe) |
||
| integer, | public, | dimension(:,:,:), allocatable, save | :: | iglevel1_sfc |
iglevel1_sfc(ig^D) gives the Morton number for grid ig^D |
||
| logical, | public, | dimension(:,:), allocatable, save | :: | igrid_inuse |
AMR flags and grids-in-use identifier per processor (igrid,ipe) |
||
| type(tree_node_ptr), | public, | dimension(:,:), allocatable, save | :: | igrid_to_node |
Array to go from an [igrid, ipe] index to a node pointer |
||
| integer, | public, | dimension(:), allocatable, save | :: | igrid_to_sfc |
Go from a grid index to Morton number (for a single processor) |
||
| type(tree_node_ptr), | public, | dimension(:), allocatable, save | :: | level_head |
The head pointer of the linked list per refinement level |
||
| type(tree_node_ptr), | public, | dimension(:), allocatable, save | :: | level_tail |
The tail pointer of the linked list per refinement level |
||
| integer, | public | :: | nglev1 | ||||
| integer, | public, | save | :: | nleafs |
Number of leaf block |
||
| integer, | public | :: | nleafs_active | ||||
| integer, | public, | dimension(:), allocatable, save | :: | nleafs_level |
How many leaves are present per refinement level |
||
| integer, | public, | save | :: | nparents |
Number of parent blocks |
||
| logical, | public, | dimension(:,:), allocatable, save | :: | refine |
AMR flags and grids-in-use identifier per processor (igrid,ipe) |
||
| integer, | public, | dimension(:,:), allocatable, save | :: | sfc |
Array to go from a Morton number to an igrid and processor index. Sfc(1:3, MN) contains [igrid, ipe, active], where MN is a morton number and active is 0 or 1. |
||
| integer, | public, | dimension(:,:), allocatable, save | :: | sfc_iglevel1 |
Space filling curve for level 1 grid. sfc_iglevel1(^D, MN) gives ig^D (the spatial index of the grid) |
||
| integer, | public, | dimension(:), allocatable, save | :: | sfc_phybound |
Space filling curve used for physical boundary blocks |
||
| integer, | public, | dimension(:), allocatable, save | :: | sfc_to_igrid |
Go from a Morton number to an igrid index (for a single processor) |
||
| type(tree_node_ptr), | public, | dimension(:,:,:), allocatable, save | :: | tree_root |
Pointers to the coarse grid |
The data structure that contains information about a tree node/grid block
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | active | ||||
| type(tree_node_ptr), | public | :: | child(2,2,2) |
Pointer to children |
|||
| integer, | public | :: | id |
Extra integer, not set by default. Is used to go from pointer to array for coupling with a multigrid solver. |
|||
| integer, | public | :: | ig1 |
Spatial indices of the grid block |
|||
| integer, | public | :: | ig2 |
Spatial indices of the grid block |
|||
| integer, | public | :: | ig3 |
Spatial indices of the grid block |
|||
| integer, | public | :: | igrid |
Index of grid on processor's grid-array |
|||
| integer, | public | :: | ipe |
On which processor the grid is stored |
|||
| logical, | public | :: | leaf |
Is the grid a leaf (no further refinement) |
|||
| integer, | public | :: | level |
Refinement level |
|||
| type(tree_node_ptr), | public | :: | neighbor(2,3) |
Pointer to neighbors |
|||
| type(tree_node_ptr), | public | :: | next |
Next node at refinement level (linked list) |
|||
| type(tree_node_ptr), | public | :: | parent |
Pointer to parent grid |
|||
| type(tree_node_ptr), | public | :: | prev |
Previous node at refinement level (linked list) |
Pointer to a tree_node
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(tree_node), | public, | pointer | :: | node |