Modules | |
| module | variables_mpi |
| Variables associated with domain partitioning context. | |
Variables | |
| integer | variables_mpi::rank = 0 |
| Rank for the current local domain (associated to an MPI process). | |
| type(mpi_comm) | variables_mpi::mpi_comm_notus |
| Notus MPI communicator (Cartesian aware). This variable is initialized to mpi_comm_world in the early stage of Notus initialization? | |
Numbers of local domains. | |
Total number of local domains. | |
| integer | variables_mpi::n_mpi_proc = 1 |
| integer | variables_mpi::n_mpi_proc_x = 1 |
| Number of local domains along the x-axis. | |
| integer | variables_mpi::n_mpi_proc_y = 1 |
| Number of local domains along the y-axis. | |
| integer | variables_mpi::n_mpi_proc_z = 1 |
| Number of local domains along the z-axis. | |
| integer, dimension(:), allocatable | variables_mpi::proc_direction |
Values n_mpi_proc_x, n_mpi_proc_y, n_mpi_proc_z stored in an array. | |
| integer, dimension(:), allocatable | variables_mpi::proc_coordinate |
| Coordinates of the current local domain in the Cartesian processor grid. | |
| logical | variables_mpi::is_repartitioning = .false. |
| Will the domain be repartitioned? | |
| logical | variables_mpi::is_repartitioning_achieved = .false. |
| Has the repartitioning process been already achieved? | |
| logical | variables_mpi::is_initial_step_repartitioning = .true. |
| Is it the initial step in the repartitioning process? If so, stop the calculation and print the required number of processors. | |
| integer | variables_mpi::n_cells_proc = 0 |
| Number of cells per partition. | |
| integer | variables_mpi::label_wanted_partitioning = -1 |
| Label of the wanted partitioning. | |
Neighborhood information. | |
Domain ranks for the six neighbors. The value Give the rank of any domain from its relative coordinates. | |
| integer, dimension(:,:,:), allocatable | variables_mpi::neighbor_proc |
| integer, dimension(:), allocatable | variables_mpi::neighbor_proc_list |
| Give the list of the neighboring processors in the repartitioning process. | |
| integer, dimension(:,:), allocatable | variables_mpi::neighbor_points_list |
| Give the start and end indices of the points to exchange between neighbor processors. | |
| logical | variables_mpi::mpi_exchange_full = .true. |
| MPI exchange including corners (and edges in 3D) | |
| integer | variables_mpi::n_exchange_proc = -1 |
| Number of neighbor domains to communicate with. | |
Processor information with respect to boundaries. | |
False or true depending whether they are at a physical boundary or not Is the processor on the left boundary of the domain | |
| logical | variables_mpi::is_proc_on_left_boundary = .false. |
| logical | variables_mpi::is_proc_on_right_boundary = .false. |
| Is the processor on the right boundary of the domain. | |
| logical | variables_mpi::is_proc_on_bottom_boundary = .false. |
| Is the processor on the bottom boundary of the domain. | |
| logical | variables_mpi::is_proc_on_top_boundary = .false. |
| Is the processor on the top boundary of the domain. | |
| logical | variables_mpi::is_proc_on_back_boundary = .false. |
| Is the processor on the back boundary of the domain. | |
| logical | variables_mpi::is_proc_on_front_boundary = .false. |
| Is the processor on the front boundary of the domain. | |
Periodic information (location of the periodic boundary) | |
These variables are set ONLY IF there are more than one proc in the given direction. Example 1: 'is_proc_on_left_periodic == .false.' if 'is_periodic_x == .true.' and 'n_mpi_proc_x == 1'. Example 2: 'is_proc_on_left_periodic == .true.' if 'is_periodic_x == .true.' and 'n_mpi_proc_x > 1' and 'is_proc_on_left_boundary'. | |
| logical | variables_mpi::is_proc_on_left_periodic = .false. |
| logical | variables_mpi::is_proc_on_right_periodic = .false. |
| logical | variables_mpi::is_proc_on_top_periodic = .false. |
| logical | variables_mpi::is_proc_on_bottom_periodic = .false. |
| logical | variables_mpi::is_proc_on_back_periodic = .false. |
| logical | variables_mpi::is_proc_on_front_periodic = .false. |
Local domain start and end indices in the physical domain (with no ghost cells) | |
indexing. | |
| integer | variables_mpi::is_global_physical_domain = 1 |
| integer | variables_mpi::is_global_physical_domain_r = 1 |
| integer | variables_mpi::is_global_physical_domain_t = 1 |
| integer | variables_mpi::js_global_physical_domain = 1 |
| integer | variables_mpi::js_global_physical_domain_r = 1 |
| integer | variables_mpi::js_global_physical_domain_t = 1 |
| integer | variables_mpi::ks_global_physical_domain = 1 |
| integer | variables_mpi::ks_global_physical_domain_r = 1 |
| integer | variables_mpi::ks_global_physical_domain_t = 1 |
| integer | variables_mpi::ie_global_physical_domain = 1 |
| integer | variables_mpi::ie_global_physical_domain_r = 1 |
| integer | variables_mpi::ie_global_physical_domain_t = 1 |
| integer | variables_mpi::je_global_physical_domain = 1 |
| integer | variables_mpi::je_global_physical_domain_r = 1 |
| integer | variables_mpi::je_global_physical_domain_t = 1 |
| integer | variables_mpi::ke_global_physical_domain = 1 |
| integer | variables_mpi::ke_global_physical_domain_r = 1 |
| integer | variables_mpi::ke_global_physical_domain_t = 1 |
| integer | variables_mpi::isu_global_physical_domain = 1 |
| integer | variables_mpi::ieu_global_physical_domain = 1 |
| integer | variables_mpi::jsv_global_physical_domain = 1 |
| integer | variables_mpi::jev_global_physical_domain = 1 |
| integer | variables_mpi::ksw_global_physical_domain = 1 |
| integer | variables_mpi::kew_global_physical_domain = 1 |
Local domain start and end indices in the overlapping numerical domain (with boundary and overlapping boundary cells) | |
indexing. | |
| integer | variables_mpi::is_global_overlap_numerical_domain = 1 |
| integer | variables_mpi::is_global_overlap_numerical_domain_r = 1 |
| integer | variables_mpi::is_global_overlap_numerical_domain_t = 1 |
| integer | variables_mpi::js_global_overlap_numerical_domain = 1 |
| integer | variables_mpi::js_global_overlap_numerical_domain_r = 1 |
| integer | variables_mpi::js_global_overlap_numerical_domain_t = 1 |
| integer | variables_mpi::ks_global_overlap_numerical_domain = 1 |
| integer | variables_mpi::ks_global_overlap_numerical_domain_r = 1 |
| integer | variables_mpi::ks_global_overlap_numerical_domain_t = 1 |
| integer | variables_mpi::ie_global_overlap_numerical_domain = 1 |
| integer | variables_mpi::ie_global_overlap_numerical_domain_r = 1 |
| integer | variables_mpi::ie_global_overlap_numerical_domain_t = 1 |
| integer | variables_mpi::je_global_overlap_numerical_domain = 1 |
| integer | variables_mpi::je_global_overlap_numerical_domain_r = 1 |
| integer | variables_mpi::je_global_overlap_numerical_domain_t = 1 |
| integer | variables_mpi::ke_global_overlap_numerical_domain = 1 |
| integer | variables_mpi::ke_global_overlap_numerical_domain_r = 1 |
| integer | variables_mpi::ke_global_overlap_numerical_domain_t = 1 |
Coordinates of the left, bottom, back corner. | |
| double precision, dimension(:), allocatable | variables_mpi::global_domain_corners1_x |
| double precision, dimension(:), allocatable | variables_mpi::global_domain_corners1_y |
| double precision, dimension(:), allocatable, target | variables_mpi::global_domain_corners1_z |
| double precision, dimension(:), allocatable | variables_mpi::global_domain_corners2_x |
| Coordinates of the right, top, front corner. | |
| double precision, dimension(:), allocatable | variables_mpi::global_domain_corners2_y |
| double precision, dimension(:), allocatable, target | variables_mpi::global_domain_corners2_z |
List of all partition sizes. | |
The arrays starts at zero en ends on n_mpi_proc_*-1. E.g.: | |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_nx |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_nx_r |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_nx_t |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_ny |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_ny_r |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_ny_t |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_nz |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_nz_r |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_nz_t |
List of the starting indices of the faces of all partitions. | |
The arrays starts at zero en ends on n_mpi_proc_*-1. E.g.: | |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_isu |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_isu_r |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_isu_t |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_jsv |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_jsv_r |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_jsv_t |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_ksw |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_ksw_r |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_ksw_t |
List of the ending indices of the faces of all partitions. | |
The arrays starts at zero en ends on n_mpi_proc_*-1. E.g.: | |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_ieu |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_ieu_r |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_ieu_t |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_jev |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_jev_r |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_jev_t |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_kew |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_kew_r |
| integer, dimension(:), allocatable | variables_mpi::global_domain_list_kew_t |