init_tree_leaf Subroutine

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

Uses

  • proc~~init_tree_leaf~~UsesGraph proc~init_tree_leaf init_tree_leaf module~mod_forest mod_forest proc~init_tree_leaf->module~mod_forest

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

Calls

proc~~init_tree_leaf~~CallsGraph proc~init_tree_leaf init_tree_leaf proc~add_to_linked_list add_to_linked_list proc~init_tree_leaf->proc~add_to_linked_list

Called by

proc~~init_tree_leaf~~CalledByGraph proc~init_tree_leaf init_tree_leaf proc~init_forest_root init_forest_root proc~init_forest_root->proc~init_tree_leaf proc~refine_tree_leaf refine_tree_leaf proc~refine_tree_leaf->proc~init_tree_leaf proc~amr_coarsen_refine amr_coarsen_refine proc~amr_coarsen_refine->proc~refine_tree_leaf proc~initlevelone initlevelone proc~initlevelone->proc~init_forest_root proc~main main proc~main->proc~initlevelone proc~resettree_convert resettree_convert proc~main->proc~resettree_convert proc~settree settree proc~main->proc~settree proc~timeintegration timeintegration proc~main->proc~timeintegration proc~resettree resettree proc~resettree->proc~amr_coarsen_refine proc~resettree_convert->proc~amr_coarsen_refine proc~settree->proc~amr_coarsen_refine proc~timeintegration->proc~resettree program~agile agile program~agile->proc~main

Source Code

  subroutine init_tree_leaf(tree,ig1,ig2,ig3,level,igrid,ipe,active)
    use mod_forest
    implicit none

    type(tree_node_ptr) :: tree
    integer, intent(in) :: ig1,ig2,ig3, level, igrid, ipe
    logical, intent(in) :: active
    integer :: ic1,ic2,ic3

    allocate(tree%node)

    tree%node%ig1=ig1;tree%node%ig2=ig2;tree%node%ig3=ig3;
    tree%node%level=level
    tree%node%igrid=igrid
    tree%node%ipe=ipe

    tree%node%leaf=.true.
    tree%node%active=active

    nullify(tree%node%parent%node)
    do ic3=1,2
    do ic2=1,2
    do ic1=1,2
       nullify(tree%node%child(ic1,ic2,ic3)%node)
    end do
    end do
    end do

    call add_to_linked_list(level,tree)

    ! initialize neighbor pointers
    nullify(tree%node%neighbor(1,1)%node,tree%node%neighbor(1,2)%node,&
       tree%node%neighbor(1,3)%node,tree%node%neighbor(2,1)%node,&
       tree%node%neighbor(2,2)%node,tree%node%neighbor(2,3)%node)

    igrid_to_node(igrid,ipe)%node => tree%node

  end subroutine init_tree_leaf