| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nbprocs_info_t) | :: | self | ||||
| integer, | intent(in) | :: | ipe | |||
| integer, | intent(in) | :: | igrid | |||
| integer, | intent(in) | :: | i1 | |||
| integer, | intent(in) | :: | i2 | |||
| integer, | intent(in) | :: | i3 | |||
| integer, | intent(in) | :: | inc1 | |||
| integer, | intent(in) | :: | inc2 | |||
| integer, | intent(in) | :: | inc3 |
subroutine add_to_c(self, ipe, igrid, i1, i2, i3, inc1, inc2, inc3) class(nbprocs_info_t) :: self integer, intent(in) :: ipe, igrid, i1, i2, i3, inc1, inc2, inc3 integer, dimension(:), pointer :: temp_list type(cf_nb_t), dimension(:), pointer :: course_nb_temp ! add the procesor id if not already present: if (self%ipe_to_inbpe_c(ipe) == -1) then ! enlarge counter self%nbprocs_c = self%nbprocs_c + 1 if (self%nbprocs_c > size(self%nbprocs_c_list)) then allocate(temp_list(self%nbprocs_c)) temp_list(:size(self%nbprocs_c_list)) = self%nbprocs_c_list deallocate(self%nbprocs_c_list) self%nbprocs_c_list => temp_list allocate(course_nb_temp(self%nbprocs_c)) course_nb_temp(:size(self%course_nb)) = self%course_nb deallocate(self%course_nb) self%course_nb => course_nb_temp end if ! add the process self%nbprocs_c_list(self%nbprocs_c) = ipe ! add to inverse list self%ipe_to_inbpe_c(ipe) = self%nbprocs_c end if call self%add_igrid_to_c(ipe, igrid, i1, i2, i3, inc1, inc2, inc3) end subroutine add_to_c