Pangolin
 All Classes Files Functions Variables Pages
Public Attributes | List of all members
partition_class::partition Type Reference

Public Attributes

integer id = -1
 Id of the partitions (between 0 and _NB_PARTITIONS-1) More...
 
integer i_pos = -1
 Position in the partitioning matrix ( positive) More...
 
integer j_pos = -1
 
type(band_grid) grid
 If the partition in on the residue band (exists if the number of partitions is not a square) More...
 
integer height_var = 0
 Contains the total variation of the height in the last band. Positive for square partitions, negative for the last band (we actually substracted 1 to the true value). If there is no last band, it is < 0 for the square partitions and contains the old height of the last band. More...
 
integer mpi_partition
 MPI type for partitioning. More...
 
integer overlap = 0
 As we sometimes resize the width of the partition, the extremities are modified. This is stored here. In base 10, it tells us the number of inversion. First digit (<10) for north, second digit for south. The digit is the number of inversion (1 for left, 2 for right, 3 for both) A north inversion means the partition is shifted toward the center of the sector. On the northern hemisphere, on the left, it means the partition has one more neighbour to the right (digit = 1 or 3) and one less neighbour to the left (digit = 2 or 3). On the left side, this is inverted. For south overlap, the neighbour is shift toward the extremities, so this is invereted. For the southern hemisphere, we invert only the digit for south with the one for norh, so the previous logic still holds. More...
 
integer, dimension(:), allocatable requests
 
integer zone = -1
 The zone in which the partition is in. Numbered from 1 to 6, 1-2-3 being the northern hemisphere (west to east). More...
 

Member Data Documentation

type(band_grid) partition_class::partition::grid

If the partition in on the residue band (exists if the number of partitions is not a square)

integer partition_class::partition::height_var = 0

Contains the total variation of the height in the last band. Positive for square partitions, negative for the last band (we actually substracted 1 to the true value). If there is no last band, it is < 0 for the square partitions and contains the old height of the last band.

integer partition_class::partition::i_pos = -1

Position in the partitioning matrix ( positive)

integer partition_class::partition::id = -1

Id of the partitions (between 0 and _NB_PARTITIONS-1)

integer partition_class::partition::j_pos = -1
integer partition_class::partition::mpi_partition

MPI type for partitioning.

integer partition_class::partition::overlap = 0

As we sometimes resize the width of the partition, the extremities are modified. This is stored here. In base 10, it tells us the number of inversion. First digit (<10) for north, second digit for south. The digit is the number of inversion (1 for left, 2 for right, 3 for both) A north inversion means the partition is shifted toward the center of the sector. On the northern hemisphere, on the left, it means the partition has one more neighbour to the right (digit = 1 or 3) and one less neighbour to the left (digit = 2 or 3). On the left side, this is inverted. For south overlap, the neighbour is shift toward the extremities, so this is invereted. For the southern hemisphere, we invert only the digit for south with the one for norh, so the previous logic still holds.

integer, dimension(:), allocatable partition_class::partition::requests
integer partition_class::partition::zone = -1

The zone in which the partition is in. Numbered from 1 to 6, 1-2-3 being the northern hemisphere (west to east).


The documentation for this type was generated from the following file: