Domain partitioning and associated variables. More...
Namespaces | |
module | mod_mpi_grid_info |
Print grid and partitioning informatio, and some partitioning statistics. | |
module | mod_mpi_localization |
Localization of the processor as regards physical boundaries. | |
module | mod_mpi_repartitioning |
Manage the partitioning of the domain. | |
Functions | |
subroutine | mod_modify_neighbor_repartitioning::modify_neighbor_repartitioning () |
Modify the points to exchange between processors in cas of refinement. | |
subroutine | mod_local_domain_size::local_domain_size () |
Set the local domain size and associated global indices. | |
subroutine | mod_partitioning::partitioning () |
Do the partitioning of the domain. | |
subroutine | mod_local_refined_domain_size::local_refined_domain_size () |
Set the local domain size and associated global indices for the refined domain. | |
Domain partitioning and associated variables.
In this directory, partitioning of the domain is done. It minimizes communications between processors and assure a computational load balance. A set of variables that define each physical and numerical subdomains are also computed.
subroutine mod_local_domain_size::local_domain_size |
Set the local domain size and associated global indices.
This routine sets each local domain size according to the number of processors in each spatial direction computed by partitioning.f90
.
Then it sets start and end global indices of each physical and numerical subdomain.
subroutine mod_local_refined_domain_size::local_refined_domain_size |
Set the local domain size and associated global indices for the refined domain.
This routine sets each local domain size according to the number of processors in each spatial direction computed by partitioning.f90
.
Then it sets start and end global indices of each physical and numerical subdomain.
subroutine mod_modify_neighbor_repartitioning::modify_neighbor_repartitioning |
Modify the points to exchange between processors in cas of refinement.
This routine updates the list of points at the boundaries between processors for mpi exchange.
subroutine mod_partitioning::partitioning |
Do the partitioning of the domain.
This routine does the initial partitioning of the grid that verifies load balancing and minimizes the MPI data exchange between process.
A Cartesian grid of process is created (the MPI communicator is changed from mpi_comm_world
to mpi_comm_notus
). Coordinates of each process are set, as well as neighbor process numbers.
MPI process on a periodic boundary are also detected.
Finally the routine computes for each process the number of process to exchange with.