| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(cf_nb_t), | public, | pointer | :: | course_nb(:) | => | null() | |
| type(cf_nb_t), | public, | pointer | :: | fine_nb(:) | => | null() | |
| integer, | public | :: | imaxigrids_c | = | 0 | ||
| integer, | public | :: | imaxigrids_f | = | 0 | ||
| integer, | public | :: | imaxigrids_srl | = | 0 | ||
| integer, | public, | allocatable | :: | ipe_to_inbpe_c(:) | |||
| integer, | public, | allocatable | :: | ipe_to_inbpe_f(:) | |||
| integer, | public, | allocatable | :: | ipe_to_inbpe_srl(:) | |||
| integer, | public | :: | nbprocs_c | = | 0 | ||
| integer, | public, | pointer | :: | nbprocs_c_list(:) | => | null() | |
| integer, | public | :: | nbprocs_f | = | 0 | ||
| integer, | public, | pointer | :: | nbprocs_f_list(:) | => | null() | |
| integer, | public | :: | nbprocs_srl | = | 0 | ||
| integer, | public, | pointer | :: | nbprocs_srl_list(:) | => | null() | |
| type(srl_nb_t), | public, | pointer | :: | srl_nb(:) | => | null() |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nbprocs_info_t) | :: | self | ||||
| integer, | intent(in) | :: | nwgc | |||
| integer, | intent(in), | dimension(-1:1,-1:1) | :: | ixS_r_min1 | ||
| integer, | intent(in), | dimension(-1:1,-1:1) | :: | ixS_r_max1 | ||
| integer, | intent(in), | dimension(-1:1,-1:1) | :: | ixS_r_min2 | ||
| integer, | intent(in), | dimension(-1:1,-1:1) | :: | ixS_r_max2 | ||
| integer, | intent(in), | dimension(-1:1,-1:1) | :: | ixS_r_min3 | ||
| integer, | intent(in), | dimension(-1:1,-1:1) | :: | ixS_r_max3 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixR_p_min1 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixR_p_max1 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixR_p_min2 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixR_p_max2 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixR_p_min3 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixR_p_max3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nbprocs_info_t) | :: | self | ||||
| integer, | intent(in) | :: | nwgc | |||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixS_p_min1 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixS_p_max1 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixS_p_min2 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixS_p_max2 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixS_p_min3 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixS_p_max3 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixR_r_min1 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixR_r_max1 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixR_r_min2 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixR_r_max2 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixR_r_min3 | ||
| integer, | intent(in), | dimension(-1:1,0:3) | :: | ixR_r_max3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nbprocs_info_t) | :: | self | ||||
| integer, | intent(in) | :: | nwgc | |||
| integer, | intent(in), | dimension(-1:2,-1:1) | :: | ixS_srl_min1 | ||
| integer, | intent(in), | dimension(-1:2,-1:1) | :: | ixS_srl_max1 | ||
| integer, | intent(in), | dimension(-1:2,-1:1) | :: | ixS_srl_min2 | ||
| integer, | intent(in), | dimension(-1:2,-1:1) | :: | ixS_srl_max2 | ||
| integer, | intent(in), | dimension(-1:2,-1:1) | :: | ixS_srl_min3 | ||
| integer, | intent(in), | dimension(-1:2,-1:1) | :: | ixS_srl_max3 | ||
| integer, | intent(in), | dimension(-1:2,-1:1) | :: | ixR_srl_min1 | ||
| integer, | intent(in), | dimension(-1:2,-1:1) | :: | ixR_srl_max1 | ||
| integer, | intent(in), | dimension(-1:2,-1:1) | :: | ixR_srl_min2 | ||
| integer, | intent(in), | dimension(-1:2,-1:1) | :: | ixR_srl_max2 | ||
| integer, | intent(in), | dimension(-1:2,-1:1) | :: | ixR_srl_min3 | ||
| integer, | intent(in), | dimension(-1:2,-1:1) | :: | ixR_srl_max3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nbprocs_info_t) | :: | self | ||||
| integer, | intent(out) | :: | i1 | |||
| integer, | intent(out) | :: | i2 | |||
| integer, | intent(out) | :: | i3 | |||
| integer, | intent(in) | :: | i |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nbprocs_info_t) | :: | self | ||||
| integer, | intent(in) | :: | i1 | |||
| integer, | intent(in) | :: | i2 | |||
| integer, | intent(in) | :: | i3 | |||
| integer, | intent(out) | :: | i |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nbprocs_info_t) | :: | self | ||||
| integer, | intent(in) | :: | npe |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(nbprocs_info_t) | :: | self |
type nbprocs_info_t ! SRL (neighbor is at same level) integer :: nbprocs_srl=0 ! number of neighboring processes at srl integer :: imaxigrids_srl=0 ! max number of igrids over all neighbor processors (for loop collasing) integer, pointer :: nbprocs_srl_list(:) => null() ! list of neighboring ipe at srl integer, allocatable :: ipe_to_inbpe_srl(:) ! inverse to nbprocs_srl_list ! F (neighbor is finer) integer :: nbprocs_f=0 ! number of neighboring processes with finer grids integer :: imaxigrids_f=0 ! max number of igrids over all neighbor processors (for loop collasing) integer, pointer :: nbprocs_f_list(:) => null() ! list of neighboring ipe at f integer, allocatable :: ipe_to_inbpe_f(:) ! inverse to nbprocs_f_list ! C (neighbor is coarser) integer :: nbprocs_c=0 ! number of neighboring processes with coarser grids integer :: imaxigrids_c=0 ! max number of igrids over all neighbor processors (for loop collasing) integer, pointer :: nbprocs_c_list(:) => null() ! list of neighboring ipe at f integer, allocatable :: ipe_to_inbpe_c(:) ! inverse to nbprocs_f_list type(cf_nb_t), pointer :: course_nb(:) => null() ! Info about course neighbours type(cf_nb_t), pointer :: fine_nb(:) => null() ! Info about fine neighbours type(srl_nb_t), pointer :: srl_nb(:) => null() ! Info about same refinment level neighbours contains procedure, non_overridable :: init, reset procedure, non_overridable :: add_igrid_to_srl, add_igrid_to_c, add_igrid_to_f procedure, non_overridable :: add_to_srl, add_to_f, add_to_c procedure, non_overridable :: alloc_buffers_srl, alloc_buffers_f, alloc_buffers_c procedure, non_overridable :: iencode, idecode end type nbprocs_info_t