add_to_linked_list Subroutine

private subroutine add_to_linked_list(level, tree)

Uses

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

Arguments

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

Called by

proc~~add_to_linked_list~~CalledByGraph proc~add_to_linked_list add_to_linked_list proc~coarsen_tree_leaf coarsen_tree_leaf proc~coarsen_tree_leaf->proc~add_to_linked_list proc~init_tree_leaf init_tree_leaf proc~init_tree_leaf->proc~add_to_linked_list proc~read_forest read_forest proc~read_forest->proc~add_to_linked_list proc~amr_coarsen_refine amr_coarsen_refine proc~amr_coarsen_refine->proc~coarsen_tree_leaf proc~refine_tree_leaf refine_tree_leaf proc~amr_coarsen_refine->proc~refine_tree_leaf proc~init_forest_root init_forest_root proc~init_forest_root->proc~init_tree_leaf proc~read_snapshot read_snapshot proc~read_snapshot->proc~read_forest proc~read_snapshot_old read_snapshot_old proc~read_snapshot->proc~read_snapshot_old proc~read_snapshot_old->proc~read_forest proc~refine_tree_leaf->proc~init_tree_leaf proc~initlevelone initlevelone proc~initlevelone->proc~init_forest_root proc~main main proc~main->proc~read_snapshot 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 add_to_linked_list(level,tree)
    use mod_forest
    implicit none

    integer, intent(in) :: level
    type(tree_node_ptr) :: tree

    nullify(tree%node%next%node)
    if (associated(level_head(level)%node)) then
       tree%node%prev%node => level_tail(level)%node
       level_tail(level)%node%next%node => tree%node
       level_tail(level)%node => tree%node
    else
       level_head(level)%node => tree%node
       level_tail(level)%node => tree%node
       nullify(tree%node%prev%node)
    end if

  end subroutine add_to_linked_list