| 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 |
subroutine add_to_srl(self, ipe, igrid, i1, i2, i3) class(nbprocs_info_t) :: self integer, intent(in) :: ipe, igrid, i1, i2, i3 integer, dimension(:), pointer :: temp_list type(srl_nb_t), dimension(:), pointer :: srl_nb_temp ! add the procesor id if not already present: if (self%ipe_to_inbpe_srl(ipe) == -1) then ! enlarge counter self%nbprocs_srl = self%nbprocs_srl + 1 if (self%nbprocs_srl > size(self%nbprocs_srl_list)) then allocate(temp_list(self%nbprocs_srl)) temp_list(:size(self%nbprocs_srl_list)) = self%nbprocs_srl_list deallocate(self%nbprocs_srl_list) self%nbprocs_srl_list => temp_list allocate(srl_nb_temp(self%nbprocs_srl)) srl_nb_temp(:size(self%srl_nb)) = self%srl_nb deallocate(self%srl_nb) self%srl_nb => srl_nb_temp end if ! add the process self%nbprocs_srl_list(self%nbprocs_srl) = ipe ! add to inverse list self%ipe_to_inbpe_srl(ipe) = self%nbprocs_srl end if call self%add_igrid_to_srl(ipe, igrid, i1, i2, i3) end subroutine add_to_srl