mg_restrict Subroutine

public subroutine mg_restrict(mg, iv)

Restrict all levels

Arguments

Type IntentOptional Attributes Name
type(mg_t), intent(inout) :: mg
integer, intent(in) :: iv

Calls

proc~~mg_restrict~2~~CallsGraph proc~mg_restrict~2 mg_restrict proc~mg_restrict_lvl~2 mg_restrict_lvl proc~mg_restrict~2->proc~mg_restrict_lvl~2 proc~restrict_onto~2 restrict_onto proc~mg_restrict_lvl~2->proc~restrict_onto~2 proc~restrict_set_buffer~2 restrict_set_buffer proc~mg_restrict_lvl~2->proc~restrict_set_buffer~2 proc~sort_and_transfer_buffers~2 sort_and_transfer_buffers proc~mg_restrict_lvl~2->proc~sort_and_transfer_buffers~2 proc~mg_get_child_offset~2 mg_get_child_offset proc~restrict_onto~2->proc~mg_get_child_offset~2 proc~mg_ix_to_ichild~2 mg_ix_to_ichild proc~restrict_set_buffer~2->proc~mg_ix_to_ichild~2 mpi_waitall mpi_waitall proc~sort_and_transfer_buffers~2->mpi_waitall proc~mpi_irecv_wrapper mpi_irecv_wrapper proc~sort_and_transfer_buffers~2->proc~mpi_irecv_wrapper proc~mpi_isend_wrapper mpi_isend_wrapper proc~sort_and_transfer_buffers~2->proc~mpi_isend_wrapper proc~sort_sendbuf~2 sort_sendbuf proc~sort_and_transfer_buffers~2->proc~sort_sendbuf~2 mpi_irecv mpi_irecv proc~mpi_irecv_wrapper->mpi_irecv mpi_isend mpi_isend proc~mpi_isend_wrapper->mpi_isend interface~mrgrnk~2 mrgrnk proc~sort_sendbuf~2->interface~mrgrnk~2 proc~i_mrgrnk~2 I_mrgrnk interface~mrgrnk~2->proc~i_mrgrnk~2

Source Code

  subroutine mg_restrict(mg, iv)
    type(mg_t), intent(inout) :: mg
    integer, intent(in)       :: iv
    integer                   :: lvl

    do lvl = mg%highest_lvl, mg%lowest_lvl+1, -1
       call mg_restrict_lvl(mg, iv, lvl)
    end do
  end subroutine mg_restrict