init_as_octatree Subroutine

public subroutine init_as_octatree(t, c_particle, dfar, min_cell_size_in)

Uses

  • proc~~init_as_octatree~~UsesGraph proc~init_as_octatree init_as_octatree module~mod_adjacency_mat mod_adjacency_mat proc~init_as_octatree->module~mod_adjacency_mat iso_c_binding iso_c_binding proc~init_as_octatree->iso_c_binding module~mod_memory mod_memory module~mod_adjacency_mat->module~mod_memory module~mod_memory->iso_c_binding module~mod_io mod_io module~mod_memory->module~mod_io module~mod_constants mod_constants module~mod_memory->module~mod_constants module~mod_io->module~mod_constants module~mod_constants->iso_c_binding

Build an adaptive octatree

Arguments

Type IntentOptional Attributes Name
type(fmm_tree_type), intent(inout) :: t

Tree data structure to populate

real(kind=rp), intent(in), target :: c_particle(:,:)

Coordinates of the particles to insert in the tree

real(kind=rp), intent(in) :: dfar

Threshold distance for near to far field

real(kind=rp), intent(in), optional :: min_cell_size_in

Minimum radius for a node, if a node is below this threshold it won't be split


Calls

proc~~init_as_octatree~~CallsGraph proc~init_as_octatree init_as_octatree proc~fmm_error fmm_error proc~init_as_octatree->proc~fmm_error proc~populate_level_list populate_level_list proc~init_as_octatree->proc~populate_level_list proc~populate_leaf_list populate_leaf_list proc~init_as_octatree->proc~populate_leaf_list proc~tree_populate_farnear_lists tree_populate_farnear_lists proc~init_as_octatree->proc~tree_populate_farnear_lists proc~allocate_tree allocate_tree proc~init_as_octatree->proc~allocate_tree proc~compress_list compress_list proc~populate_level_list->proc~compress_list proc~tree_populate_farnear_lists->proc~compress_list proc~aggregative_pass aggregative_pass proc~tree_populate_farnear_lists->proc~aggregative_pass proc~allocate_tree->proc~fmm_error proc~allocate_yale_sparse allocate_yale_sparse proc~allocate_tree->proc~allocate_yale_sparse interface~mfree mfree proc~compress_list->interface~mfree interface~mallocate mallocate proc~compress_list->interface~mallocate proc~r_free1 r_free1 interface~mfree->proc~r_free1 proc~i_free2 i_free2 interface~mfree->proc~i_free2 proc~i_free1 i_free1 interface~mfree->proc~i_free1 proc~r_free2 r_free2 interface~mfree->proc~r_free2 proc~r_free3 r_free3 interface~mfree->proc~r_free3 proc~i_free3 i_free3 interface~mfree->proc~i_free3 proc~l_free1 l_free1 interface~mfree->proc~l_free1 proc~l_free2 l_free2 interface~mfree->proc~l_free2 proc~r_alloc3 r_alloc3 interface~mallocate->proc~r_alloc3 proc~i_alloc1 i_alloc1 interface~mallocate->proc~i_alloc1 proc~l_alloc2 l_alloc2 interface~mallocate->proc~l_alloc2 proc~i_alloc3 i_alloc3 interface~mallocate->proc~i_alloc3 proc~r_alloc2 r_alloc2 interface~mallocate->proc~r_alloc2 proc~r_alloc1 r_alloc1 interface~mallocate->proc~r_alloc1 proc~i_alloc2 i_alloc2 interface~mallocate->proc~i_alloc2 proc~l_alloc1 l_alloc1 interface~mallocate->proc~l_alloc1 proc~memory_init memory_init proc~r_alloc3->proc~memory_init proc~chk_alloc chk_alloc proc~r_alloc3->proc~chk_alloc proc~i_alloc1->proc~memory_init proc~i_alloc1->proc~chk_alloc proc~l_alloc2->proc~memory_init proc~l_alloc2->proc~chk_alloc proc~i_alloc3->proc~memory_init proc~i_alloc3->proc~chk_alloc proc~r_alloc2->proc~memory_init proc~r_alloc2->proc~chk_alloc proc~chk_free chk_free proc~r_free1->proc~chk_free proc~i_free2->proc~chk_free proc~i_free1->proc~chk_free proc~r_free2->proc~chk_free proc~r_free3->proc~chk_free proc~i_free3->proc~chk_free proc~l_free1->proc~chk_free proc~l_free2->proc~chk_free proc~r_alloc1->proc~memory_init proc~r_alloc1->proc~chk_alloc proc~i_alloc2->proc~memory_init proc~i_alloc2->proc~chk_alloc proc~l_alloc1->proc~memory_init proc~l_alloc1->proc~chk_alloc proc~fatal_error fatal_error proc~chk_alloc->proc~fatal_error proc~chk_free->proc~fatal_error proc~ommp_message ommp_message proc~fatal_error->proc~ommp_message proc~close_output close_output proc~fatal_error->proc~close_output proc~close_output->proc~ommp_message

Called by

proc~~init_as_octatree~~CalledByGraph proc~init_as_octatree init_as_octatree proc~fmm_coordinates_update fmm_coordinates_update proc~fmm_coordinates_update->proc~init_as_octatree proc~mmpol_prepare mmpol_prepare proc~mmpol_prepare->proc~fmm_coordinates_update proc~c_ommp_set_fmm_distance C_ommp_set_fmm_distance proc~c_ommp_set_fmm_distance->proc~fmm_coordinates_update proc~update_coordinates update_coordinates proc~update_coordinates->proc~fmm_coordinates_update proc~c_ommp_set_fmm_min_cell_size C_ommp_set_fmm_min_cell_size proc~c_ommp_set_fmm_min_cell_size->proc~fmm_coordinates_update proc~mmpol_init_from_mmp mmpol_init_from_mmp proc~mmpol_init_from_mmp->proc~mmpol_prepare proc~mmpol_init_from_xyz mmpol_init_from_xyz proc~mmpol_init_from_xyz->proc~mmpol_prepare proc~ommp_system_from_qm_helper ommp_system_from_qm_helper proc~ommp_system_from_qm_helper->proc~mmpol_prepare proc~c_ommp_update_coordinates C_ommp_update_coordinates proc~c_ommp_update_coordinates->proc~update_coordinates proc~ommp_init_mmp ommp_init_mmp proc~ommp_init_mmp->proc~mmpol_init_from_mmp proc~c_ommp_system_from_qm_helper C_ommp_system_from_qm_helper proc~c_ommp_system_from_qm_helper->proc~ommp_system_from_qm_helper proc~ommp_init_xyz ommp_init_xyz proc~ommp_init_xyz->proc~mmpol_init_from_xyz proc~c_ommp_init_mmp C_ommp_init_mmp proc~c_ommp_init_mmp->proc~ommp_init_mmp proc~c_ommp_init_xyz C_ommp_init_xyz proc~c_ommp_init_xyz->proc~ommp_init_xyz

Contents