mod_functions_forest Module


Uses

  • module~~mod_functions_forest~~UsesGraph module~mod_functions_forest mod_functions_forest module~mod_mpi_wrapper mod_mpi_wrapper module~mod_functions_forest->module~mod_mpi_wrapper mpi mpi module~mod_mpi_wrapper->mpi

Used by

  • module~~mod_functions_forest~~UsedByGraph module~mod_functions_forest mod_functions_forest proc~amr_coarsen_refine amr_coarsen_refine proc~amr_coarsen_refine->module~mod_functions_forest proc~convert_dat_generic convert_dat_generic proc~convert_dat_generic->module~mod_functions_forest proc~initlevelone initlevelone proc~initlevelone->module~mod_functions_forest proc~load_balance load_balance proc~load_balance->module~mod_functions_forest proc~read_snapshot read_snapshot proc~read_snapshot->module~mod_functions_forest proc~read_snapshot_old read_snapshot_old proc~read_snapshot_old->module~mod_functions_forest proc~write_snapshot write_snapshot proc~write_snapshot->module~mod_functions_forest

Variables

Type Visibility Attributes Name Initial
integer, private, parameter :: nleafbuf = 16384

Depth-first leaf flags of the whole forest, one LOGICAL per tree node. Buffered in chunks of nleafbuf rather than written one node at a time: the byte stream on disk is identical either way, but a tree of a million nodes costs a million individual MPI_FILE_WRITEs otherwise. read_forest consumes the same stream through a buffer of its own.


Subroutines

public subroutine change_ipe_tree_leaf(recv_igrid, recv_ipe, send_igrid, send_ipe)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: recv_igrid
integer, intent(in) :: recv_ipe
integer, intent(in) :: send_igrid
integer, intent(in) :: send_ipe

public subroutine coarsen_tree_leaf(igrid, ipe, child_igrid, child_ipe, active)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: igrid
integer, intent(in) :: ipe
integer, intent(in), dimension(2,2,2) :: child_igrid
integer, intent(in), dimension(2,2,2) :: child_ipe
logical, intent(out) :: active

public subroutine init_forest_root()

build root forest

Arguments

None

public subroutine read_forest(file_handle)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: file_handle

public subroutine refine_tree_leaf(child_igrid, child_ipe, igrid, ipe, active)

Arguments

Type IntentOptional Attributes Name
integer, intent(in), dimension(2,2,2) :: child_igrid
integer, intent(in), dimension(2,2,2) :: child_ipe
integer, intent(in) :: igrid
integer, intent(in) :: ipe
logical, intent(out) :: active

public subroutine write_forest(file_handle)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: file_handle

private subroutine add_to_linked_list(level, tree)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: level
type(tree_node_ptr) :: tree

private subroutine delete_from_linked_list(level, tree)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: level
type(tree_node_ptr) :: tree

private subroutine init_tree_leaf(tree, ig1, ig2, ig3, level, igrid, ipe, active)

Arguments

Type IntentOptional Attributes Name
type(tree_node_ptr) :: tree
integer, intent(in) :: ig1
integer, intent(in) :: ig2
integer, intent(in) :: ig3
integer, intent(in) :: level
integer, intent(in) :: igrid
integer, intent(in) :: ipe
logical, intent(in) :: active