box_gc_for_neighbor Subroutine

private subroutine box_gc_for_neighbor(box, nb, nc, iv, gc)

Arguments

Type IntentOptional Attributes Name
type(mg_box_t), intent(in) :: box
integer, intent(in) :: nb
integer, intent(in) :: nc
integer, intent(in) :: iv
real(kind=dp), intent(out) :: gc(nc)

Called by

proc~~box_gc_for_neighbor~~CalledByGraph proc~box_gc_for_neighbor box_gc_for_neighbor proc~buffer_for_nb buffer_for_nb proc~buffer_for_nb->proc~box_gc_for_neighbor proc~copy_from_nb copy_from_nb proc~copy_from_nb->proc~box_gc_for_neighbor proc~buffer_ghost_cells buffer_ghost_cells proc~buffer_ghost_cells->proc~buffer_for_nb proc~set_ghost_cells set_ghost_cells proc~set_ghost_cells->proc~copy_from_nb proc~mg_fill_ghost_cells_lvl mg_fill_ghost_cells_lvl proc~mg_fill_ghost_cells_lvl->proc~buffer_ghost_cells proc~mg_fill_ghost_cells_lvl->proc~set_ghost_cells proc~mg_ghost_cell_buffer_size mg_ghost_cell_buffer_size proc~mg_ghost_cell_buffer_size->proc~buffer_ghost_cells proc~mg_ghost_cell_buffer_size->proc~set_ghost_cells proc~mg_allocate_storage mg_allocate_storage proc~mg_allocate_storage->proc~mg_ghost_cell_buffer_size proc~mg_fas_fmg mg_fas_fmg proc~mg_fas_fmg->proc~mg_fill_ghost_cells_lvl proc~mg_fas_vcycle mg_fas_vcycle proc~mg_fas_fmg->proc~mg_fas_vcycle proc~update_coarse update_coarse proc~mg_fas_fmg->proc~update_coarse proc~mg_fas_vcycle->proc~mg_fill_ghost_cells_lvl proc~smooth_boxes smooth_boxes proc~mg_fas_vcycle->proc~smooth_boxes proc~mg_fas_vcycle->proc~update_coarse proc~mg_fill_ghost_cells mg_fill_ghost_cells proc~mg_fill_ghost_cells->proc~mg_fill_ghost_cells_lvl proc~smooth_boxes->proc~mg_fill_ghost_cells_lvl proc~update_coarse->proc~mg_fill_ghost_cells_lvl proc~diffusion_solve diffusion_solve proc~diffusion_solve->proc~mg_fas_fmg proc~diffusion_solve->proc~mg_fas_vcycle proc~diffusion_solve_acoeff diffusion_solve_acoeff proc~diffusion_solve_acoeff->proc~mg_fas_fmg proc~diffusion_solve_acoeff->proc~mg_fas_vcycle proc~diffusion_solve_vcoeff diffusion_solve_vcoeff proc~diffusion_solve_vcoeff->proc~mg_fas_fmg proc~diffusion_solve_vcoeff->proc~mg_fas_vcycle

Source Code

  subroutine box_gc_for_neighbor(box, nb, nc, iv, gc)
    type(mg_box_t), intent(in) :: box
    integer, intent(in)     :: nb, nc, iv
    real(dp), intent(out)   :: gc(nc)

    select case (nb)
    case (mg_neighb_lowx)
       gc = box%cc(1, 1:nc, iv)
    case (mg_neighb_highx)
       gc = box%cc(nc, 1:nc, iv)
    case (mg_neighb_lowy)
       gc = box%cc(1:nc, 1, iv)
    case (mg_neighb_highy)
       gc = box%cc(1:nc, nc, iv)
    end select
  end subroutine box_gc_for_neighbor