| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nbprocs_info_t) | :: | self | ||||
| integer, | intent(in) | :: | ipe | |||
| integer, | intent(in) | :: | igrid | |||
| integer, | intent(in) | :: | inc1 | |||
| integer, | intent(in) | :: | inc2 | |||
| integer, | intent(in) | :: | inc3 |
subroutine add_to_f(self, ipe, igrid, inc1, inc2, inc3) class(nbprocs_info_t) :: self integer, intent(in) :: ipe, igrid, inc1, inc2, inc3 integer, dimension(:), pointer :: temp_list type(cf_nb_t), dimension(:), pointer :: fine_nb_temp ! add the procesor id if not already present: if (self%ipe_to_inbpe_f(ipe) == -1) then ! enlarge counter self%nbprocs_f = self%nbprocs_f + 1 if (self%nbprocs_f > size(self%nbprocs_f_list)) then allocate(temp_list(self%nbprocs_f)) temp_list(:size(self%nbprocs_f_list)) = self%nbprocs_f_list deallocate(self%nbprocs_f_list) self%nbprocs_f_list => temp_list allocate(fine_nb_temp(self%nbprocs_f)) fine_nb_temp(:size(self%fine_nb)) = self%fine_nb deallocate(self%fine_nb) self%fine_nb => fine_nb_temp end if ! add the process self%nbprocs_f_list(self%nbprocs_f) = ipe ! add to inverse list self%ipe_to_inbpe_f(ipe) = self%nbprocs_f end if call self%add_igrid_to_f(ipe, igrid, inc1, inc2, inc3) end subroutine add_to_f