getintbc Subroutine

public subroutine getintbc(time, ixGmin1, ixGmin2, ixGmin3, ixGmax1, ixGmax2, ixGmax3)

Uses

  • proc~~getintbc~~UsesGraph proc~getintbc getintbc module~mod_geometry mod_geometry proc~getintbc->module~mod_geometry module~mod_global_parameters mod_global_parameters proc~getintbc->module~mod_global_parameters module~mod_usr_methods mod_usr_methods proc~getintbc->module~mod_usr_methods module~mod_comm_lib mod_comm_lib module~mod_geometry->module~mod_comm_lib 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_variables->module~mod_basic_types

fill inner boundary values

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: time
integer, intent(in) :: ixGmin1
integer, intent(in) :: ixGmin2
integer, intent(in) :: ixGmin3
integer, intent(in) :: ixGmax1
integer, intent(in) :: ixGmax2
integer, intent(in) :: ixGmax3

Calls

proc~~getintbc~~CallsGraph proc~getintbc getintbc proc~sync_positions_host sync_positions_host proc~getintbc->proc~sync_positions_host

Called by

proc~~getintbc~~CalledByGraph proc~getintbc getintbc proc~getbc getbc proc~getbc->proc~getintbc proc~add_split_source add_split_source proc~add_split_source->proc~getbc proc~add_split_source~2 add_split_source proc~add_split_source~2->proc~getbc proc~add_split_source~3 add_split_source proc~add_split_source~3->proc~getbc proc~add_split_source~4 add_split_source proc~add_split_source~4->proc~getbc proc~advect1 advect1 proc~advect1->proc~getbc proc~amr_coarsen_refine amr_coarsen_refine proc~amr_coarsen_refine->proc~getbc proc~global_implicit_update global_implicit_update proc~global_implicit_update->proc~getbc proc~improve_initial_condition improve_initial_condition proc~improve_initial_condition->proc~getbc proc~recalculateb recalculateB proc~improve_initial_condition->proc~recalculateb proc~initlevelone initlevelone proc~initlevelone->proc~getbc proc~main main proc~main->proc~getbc proc~main->proc~improve_initial_condition proc~main->proc~initlevelone proc~process process proc~main->proc~process 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~process->proc~getbc proc~process_advanced process_advanced proc~process_advanced->proc~getbc proc~recalculateb->proc~getbc proc~resettree_convert->proc~getbc proc~resettree_convert->proc~amr_coarsen_refine proc~saveamrfile saveamrfile proc~saveamrfile->proc~getbc proc~advect advect proc~advect->proc~advect1 proc~resettree resettree proc~resettree->proc~amr_coarsen_refine proc~settree->proc~amr_coarsen_refine proc~timeintegration->proc~process proc~timeintegration->proc~process_advanced proc~timeintegration->proc~saveamrfile proc~timeintegration->proc~resettree proc~advance advance proc~timeintegration->proc~advance program~agile agile program~agile->proc~main proc~advance->proc~advect

Source Code

  subroutine getintbc(time,ixGmin1,ixGmin2,ixGmin3,ixGmax1,ixGmax2,ixGmax3)
    use mod_usr_methods, only: usr_internal_bc
    use mod_global_parameters
    use mod_geometry, only: sync_positions_host

    double precision, intent(in)   :: time
    integer, intent(in)            :: ixGmin1,ixGmin2,ixGmin3,ixGmax1,ixGmax2,&
       ixGmax3
  
    integer :: iigrid, igrid, ixOmin1,ixOmin2,ixOmin3,ixOmax1,ixOmax2,ixOmax3
  
    ixOmin1=ixGmin1+nghostcells;ixOmin2=ixGmin2+nghostcells
    ixOmin3=ixGmin3+nghostcells;ixOmax1=ixGmax1-nghostcells
    ixOmax2=ixGmax2-nghostcells;ixOmax3=ixGmax3-nghostcells;

    ! usr_internal_bc reads ps(igrid)%x on the host
    if (associated(usr_internal_bc)) call sync_positions_host()

    do iigrid=1,igridstail_active; igrid=igrids_active(iigrid);
       block=>ps(igrid)
       dxlevel(1)=rnode(rpdx1_,igrid);dxlevel(2)=rnode(rpdx2_,igrid)
       dxlevel(3)=rnode(rpdx3_,igrid);

       if (associated(usr_internal_bc)) then
          call usr_internal_bc(node(plevel_,igrid),time,ixGmin1,ixGmin2,&
             ixGmin3,ixGmax1,ixGmax2,ixGmax3,ixOmin1,ixOmin2,ixOmin3,ixOmax1,&
             ixOmax2,ixOmax3,ps(igrid)%w,ps(igrid)%x)
       end if
    end do

  end subroutine getintbc