initlevelone Subroutine

public subroutine initlevelone()

Uses

  • proc~~initlevelone~~UsesGraph proc~initlevelone initlevelone mod_amr_solution_node mod_amr_solution_node proc~initlevelone->mod_amr_solution_node module~mod_functions_connectivity mod_functions_connectivity proc~initlevelone->module~mod_functions_connectivity module~mod_functions_forest mod_functions_forest proc~initlevelone->module~mod_functions_forest module~mod_ghostcells_update mod_ghostcells_update proc~initlevelone->module~mod_ghostcells_update module~mod_global_parameters mod_global_parameters proc~initlevelone->module~mod_global_parameters module~mod_mpi_wrapper mod_mpi_wrapper module~mod_functions_forest->module~mod_mpi_wrapper module~mod_ghostcells_update->module~mod_mpi_wrapper module~mod_basic_types mod_basic_types module~mod_global_parameters->module~mod_basic_types module~mod_connectivity mod_connectivity module~mod_global_parameters->module~mod_connectivity module~mod_constants mod_constants module~mod_global_parameters->module~mod_constants module~mod_physicaldata mod_physicaldata module~mod_global_parameters->module~mod_physicaldata module~mod_variables mod_variables module~mod_global_parameters->module~mod_variables mpi mpi module~mod_global_parameters->mpi module~mod_mpi_wrapper->mpi module~mod_variables->module~mod_basic_types

Generate and initialize all grids at the coarsest level (level one)

Arguments

None

Calls

proc~~initlevelone~~CallsGraph proc~initlevelone initlevelone alloc_node alloc_node proc~initlevelone->alloc_node proc~build_connectivity build_connectivity proc~initlevelone->proc~build_connectivity proc~getbc getbc proc~initlevelone->proc~getbc proc~getigrids getigrids proc~initlevelone->proc~getigrids proc~init_forest_root init_forest_root proc~initlevelone->proc~init_forest_root proc~initial_condition initial_condition proc~initlevelone->proc~initial_condition proc~add_to_c nbprocs_info_t%add_to_c proc~build_connectivity->proc~add_to_c proc~add_to_f nbprocs_info_t%add_to_f proc~build_connectivity->proc~add_to_f proc~add_to_srl nbprocs_info_t%add_to_srl proc~build_connectivity->proc~add_to_srl proc~alloc_buffers_c nbprocs_info_t%alloc_buffers_c proc~build_connectivity->proc~alloc_buffers_c proc~alloc_buffers_f nbprocs_info_t%alloc_buffers_f proc~build_connectivity->proc~alloc_buffers_f proc~alloc_buffers_srl nbprocs_info_t%alloc_buffers_srl proc~build_connectivity->proc~alloc_buffers_srl proc~find_neighbor find_neighbor proc~build_connectivity->proc~find_neighbor proc~identifyphysbound_connectivity identifyphysbound_connectivity proc~build_connectivity->proc~identifyphysbound_connectivity proc~reset nbprocs_info_t%reset proc~build_connectivity->proc~reset mpi_waitall mpi_waitall proc~getbc->mpi_waitall mpi_wtime mpi_wtime proc~getbc->mpi_wtime phys_boundary_adjust phys_boundary_adjust proc~getbc->phys_boundary_adjust proc~fill_boundary_after_gc fill_boundary_after_gc proc~getbc->proc~fill_boundary_after_gc proc~fill_boundary_before_gc fill_boundary_before_gc proc~getbc->proc~fill_boundary_before_gc proc~fill_coarse_boundary fill_coarse_boundary proc~getbc->proc~fill_coarse_boundary proc~getintbc getintbc proc~getbc->proc~getintbc proc~idecode~2 idecode proc~getbc->proc~idecode~2 proc~mpi_irecv_wrapper mpi_irecv_wrapper proc~getbc->proc~mpi_irecv_wrapper proc~mpi_isend_wrapper mpi_isend_wrapper proc~getbc->proc~mpi_isend_wrapper proc~nvtxendrange~2 nvtxEndRange proc~getbc->proc~nvtxendrange~2 proc~nvtxstartrange~2 nvtxStartRange proc~getbc->proc~nvtxstartrange~2 proc~skip_direction skip_direction proc~getbc->proc~skip_direction getnode getnode proc~init_forest_root->getnode proc~amr_morton_order amr_Morton_order proc~init_forest_root->proc~amr_morton_order proc~find_root_neighbor find_root_neighbor proc~init_forest_root->proc~find_root_neighbor proc~get_morton_range get_Morton_range proc~init_forest_root->proc~get_morton_range proc~init_tree_leaf init_tree_leaf proc~init_forest_root->proc~init_tree_leaf proc~level1_morton_order level1_Morton_order proc~init_forest_root->proc~level1_morton_order proc~mpistop mpistop proc~initial_condition->proc~mpistop proc~sync_positions_host sync_positions_host proc~initial_condition->proc~sync_positions_host proc~add_igrid_to_c nbprocs_info_t%add_igrid_to_c proc~add_to_c->proc~add_igrid_to_c proc~add_igrid_to_f nbprocs_info_t%add_igrid_to_f proc~add_to_f->proc~add_igrid_to_f proc~add_igrid_to_srl nbprocs_info_t%add_igrid_to_srl proc~add_to_srl->proc~add_igrid_to_srl proc~idecode nbprocs_info_t%idecode proc~alloc_buffers_srl->proc~idecode proc~amr_morton_order->proc~mpistop proc~bc_phys bc_phys proc~fill_boundary_after_gc->proc~bc_phys proc~fill_boundary_before_gc->proc~bc_phys proc~fill_coarse_boundary->proc~bc_phys proc~find_neighbor->proc~find_root_neighbor proc~getintbc->proc~sync_positions_host proc~add_to_linked_list add_to_linked_list proc~init_tree_leaf->proc~add_to_linked_list proc~mortonencode mortonEncode proc~level1_morton_order->proc~mortonencode mpi_irecv mpi_irecv proc~mpi_irecv_wrapper->mpi_irecv mpi_isend mpi_isend proc~mpi_isend_wrapper->mpi_isend mpi_abort mpi_abort proc~mpistop->mpi_abort proc~init_cf_info nbinfo_cf_t%init_cf_info proc~add_igrid_to_c->proc~init_cf_info proc~add_igrid_to_f->proc~init_cf_info proc~iencode nbprocs_info_t%iencode proc~add_igrid_to_srl->proc~iencode proc~init_srl_info init_srl_info proc~add_igrid_to_srl->proc~init_srl_info specialbound_usr specialbound_usr proc~bc_phys->specialbound_usr

Called by

proc~~initlevelone~~CalledByGraph proc~initlevelone initlevelone proc~main main proc~main->proc~initlevelone program~agile agile program~agile->proc~main

Source Code

  subroutine initlevelone
    use mod_global_parameters
    use mod_ghostcells_update
    use mod_functions_connectivity, only: build_connectivity, getigrids
    use mod_functions_forest, only: init_forest_root
    use mod_amr_solution_node, only: alloc_node

    integer :: iigrid, igrid
    integer :: itimelevel
  
    levmin=1
    levmax=1
    
    call init_forest_root
  
    call getigrids
    call build_connectivity
  
    ! fill solution space of all root grids
    do iigrid=1,igridstail; igrid=igrids(iigrid);

       call alloc_node(igrid)

       ! initial_condition fetches this block's positions back itself
       call initial_condition(igrid)

    end do

    ! update ghost cells
    call getbc(global_time,0.d0,ps,iwstart,nwgc)

  end subroutine initlevelone