Data structure to store the halo elements according to the partner process with which they need to be exchanged.
Partner processes are identified by their number (rank+1), and stored in a dynamic array of integers (partnerProc). For each partnerProc there is a dynamic array of halo element ids, stored in a growing array of dynamic integer arrays (halos).
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(dyn_intarray_type), | public | :: | partnerProc |
Process numbers (rank+1) of partner processes |
|||
type(grw_dynintarray_type), | public | :: | halos |
List of my halo elements, which I request from partnerProc. The growing array follows the same ordering as the partnerProc list. |
type tem_haloList_type
!> Process numbers (rank+1) of partner processes
type(dyn_intArray_type) :: partnerProc
!> List of my halo elements, which I request from partnerProc.
!!
!! The growing array follows the same ordering as the partnerProc list.
type(grw_dynintArray_type) :: halos
end type tem_haloList_type