comm_handling_m Module

Contains information about MPI processes and functionality to change the communicator.


Uses

  • module~~comm_handling_m~~UsesGraph module~comm_handling_m comm_handling_m mpi mpi module~comm_handling_m->mpi

Used by

  • module~~comm_handling_m~~UsedByGraph module~comm_handling_m comm_handling_m module~auxiliaries_test_diffusion_m auxiliaries_test_diffusion_m module~auxiliaries_test_diffusion_m->module~comm_handling_m module~fieldline_tracer_m fieldline_tracer_m module~auxiliaries_test_diffusion_m->module~fieldline_tracer_m module~mesh_cart_m mesh_cart_m module~auxiliaries_test_diffusion_m->module~mesh_cart_m module~csrmat_m csrmat_m module~auxiliaries_test_diffusion_m->module~csrmat_m module~mpi_mapping_auxiliaries_m mpi_mapping_auxiliaries_m module~auxiliaries_test_diffusion_m->module~mpi_mapping_auxiliaries_m module~carthy_equilibrium_m carthy_equilibrium_m module~carthy_equilibrium_m->module~comm_handling_m module~analytic_divertor_equilibrium_m analytic_divertor_equilibrium_m module~carthy_equilibrium_m->module~analytic_divertor_equilibrium_m module~cerfons_equilibrium_m cerfons_equilibrium_m module~cerfons_equilibrium_m->module~comm_handling_m module~cerfons_equilibrium_m->module~analytic_divertor_equilibrium_m module~coords_polar_m coords_polar_m module~coords_polar_m->module~comm_handling_m module~slab_equilibrium_m slab_equilibrium_m module~coords_polar_m->module~slab_equilibrium_m module~device_handling_m device_handling_m module~device_handling_m->module~comm_handling_m module~error_handling_m error_handling_m module~device_handling_m->module~error_handling_m module~equilibrium_factory_m equilibrium_factory_m module~equilibrium_factory_m->module~comm_handling_m module~equilibrium_factory_m->module~carthy_equilibrium_m module~equilibrium_factory_m->module~cerfons_equilibrium_m module~equilibrium_factory_m->module~error_handling_m module~flare_equilibrium_m flare_equilibrium_m module~equilibrium_factory_m->module~flare_equilibrium_m module~numerical_equilibrium_m numerical_equilibrium_m module~equilibrium_factory_m->module~numerical_equilibrium_m module~salpha_equilibrium_m salpha_equilibrium_m module~equilibrium_factory_m->module~salpha_equilibrium_m module~circular_equilibrium_m circular_equilibrium_m module~equilibrium_factory_m->module~circular_equilibrium_m module~circular_toroidal_equilibrium_m circular_toroidal_equilibrium_m module~equilibrium_factory_m->module~circular_toroidal_equilibrium_m module~dommaschk_equilibrium_m dommaschk_equilibrium_m module~equilibrium_factory_m->module~dommaschk_equilibrium_m module~equilibrium_factory_m->module~slab_equilibrium_m module~error_handling_m->module~comm_handling_m module~fieldline_tracer_m->module~comm_handling_m module~fieldline_tracer_m->module~error_handling_m module~flare_equilibrium_m->module~comm_handling_m module~flare_equilibrium_m->module~error_handling_m module~polygon_m polygon_m module~flare_equilibrium_m->module~polygon_m module~kisslinger_m kisslinger_m module~flare_equilibrium_m->module~kisslinger_m module~params_equi_flare_m params_equi_flare_m module~flare_equilibrium_m->module~params_equi_flare_m module~helmholtz_netcdfio_m helmholtz_netcdfio_m module~helmholtz_netcdfio_m->module~comm_handling_m module~helmholtz_netcdfio_m->module~mesh_cart_m module~helmholtz_netcdfio_m->module~csrmat_m module~helmholtz_operator_m helmholtz_operator_m module~helmholtz_netcdfio_m->module~helmholtz_operator_m module~helmholtz_solver_factory_m helmholtz_solver_factory_m module~helmholtz_solver_factory_m->module~comm_handling_m module~helmholtz_solver_factory_m->module~device_handling_m module~multigrid_m multigrid_m module~helmholtz_solver_factory_m->module~multigrid_m module~splitting_m splitting_m module~helmholtz_solver_factory_m->module~splitting_m module~map_factory_s map_factory_s module~map_factory_s->module~comm_handling_m module~map_factory_s->module~fieldline_tracer_m module~map_factory_s->module~dommaschk_equilibrium_m module~interpolation_m interpolation_m module~map_factory_s->module~interpolation_m module~map_factory_m map_factory_m module~map_factory_s->module~map_factory_m module~map_factory_s->module~mpi_mapping_auxiliaries_m module~mesh_cart_m->module~comm_handling_m module~mesh_cart_m->module~error_handling_m module~mesh_cart_m->module~slab_equilibrium_m module~multigrid_m->module~comm_handling_m module~multigrid_m->module~mesh_cart_m module~boundaries_perp_m boundaries_perp_m module~multigrid_m->module~boundaries_perp_m module~multigrid_m->module~csrmat_m module~numerical_equilibrium_m->module~comm_handling_m module~numerical_equilibrium_m->module~polygon_m module~divertor_equilibrium_m divertor_equilibrium_m module~numerical_equilibrium_m->module~divertor_equilibrium_m module~perf_m perf_m module~perf_m->module~comm_handling_m module~polar_grid_m polar_grid_m module~polar_grid_m->module~comm_handling_m module~polar_grid_m->module~coords_polar_m module~polar_grid_m->module~circular_equilibrium_m module~polar_grid_m->module~slab_equilibrium_m module~polar_map_factory_m polar_map_factory_m module~polar_map_factory_m->module~comm_handling_m module~polar_map_factory_m->module~coords_polar_m module~polar_map_factory_m->module~mesh_cart_m module~polar_map_factory_m->module~polar_grid_m module~polar_map_factory_m->module~csrmat_m module~polar_map_factory_m->module~interpolation_m module~polygon_m->module~comm_handling_m module~safety_factor_m safety_factor_m module~safety_factor_m->module~comm_handling_m module~safety_factor_m->module~coords_polar_m module~salpha_equilibrium_m->module~comm_handling_m module~salpha_equilibrium_m->module~error_handling_m module~params_equi_salpha_m params_equi_salpha_m module~salpha_equilibrium_m->module~params_equi_salpha_m module~solver3d_m solver3d_m module~solver3d_m->module~comm_handling_m module~solver3d_m->module~error_handling_m module~splitting_m->module~comm_handling_m module~splitting_m->module~mesh_cart_m module~splitting_m->module~csrmat_m module~vis_vtk3d_m vis_vtk3d_m module~vis_vtk3d_m->module~comm_handling_m module~vis_vtk3d_m->module~fieldline_tracer_m module~vis_vtk3d_m->module~mesh_cart_m module~zonal_averages_factory_m zonal_averages_factory_m module~zonal_averages_factory_m->module~comm_handling_m module~zonal_averages_factory_m->module~coords_polar_m module~zonal_averages_factory_m->module~mesh_cart_m module~zonal_averages_factory_m->module~polar_grid_m module~zonal_averages_factory_m->module~csrmat_m program~benchmark_helmholtz_solvers benchmark_helmholtz_solvers program~benchmark_helmholtz_solvers->module~comm_handling_m program~benchmark_helmholtz_solvers->module~device_handling_m program~benchmark_helmholtz_solvers->module~equilibrium_factory_m program~benchmark_helmholtz_solvers->module~error_handling_m program~benchmark_helmholtz_solvers->module~helmholtz_netcdfio_m program~benchmark_helmholtz_solvers->module~helmholtz_solver_factory_m program~benchmark_helmholtz_solvers->module~mesh_cart_m program~benchmark_helmholtz_solvers->module~multigrid_m program~benchmark_helmholtz_solvers->module~perf_m module~testfunctions_m testfunctions_m program~benchmark_helmholtz_solvers->module~testfunctions_m program~diagnose_poincare diagnose_poincare program~diagnose_poincare->module~comm_handling_m program~diagnose_poincare->module~coords_polar_m program~diagnose_poincare->module~equilibrium_factory_m program~diagnose_poincare->module~error_handling_m program~diagnose_poincare->module~fieldline_tracer_m program~test_diffusion test_diffusion program~test_diffusion->module~comm_handling_m program~test_diffusion->module~auxiliaries_test_diffusion_m program~test_diffusion->module~equilibrium_factory_m program~test_diffusion->module~error_handling_m program~test_diffusion->module~fieldline_tracer_m program~test_diffusion->module~mesh_cart_m program~test_diffusion->module~perf_m program~test_diffusion->module~vis_vtk3d_m program~test_diffusion->module~csrmat_m program~test_diffusion->module~map_factory_m module~snapshots_test_diffusion_m snapshots_test_diffusion_m program~test_diffusion->module~snapshots_test_diffusion_m module~boundaries_perp_m->module~error_handling_m module~boundaries_perp_m->module~mesh_cart_m module~circular_equilibrium_m->module~error_handling_m module~params_equi_circular_m params_equi_circular_m module~circular_equilibrium_m->module~params_equi_circular_m module~circular_toroidal_equilibrium_m->module~error_handling_m module~circular_toroidal_equilibrium_m->module~kisslinger_m module~params_equi_circular_toroidal_m params_equi_circular_toroidal_m module~circular_toroidal_equilibrium_m->module~params_equi_circular_toroidal_m module~connection_length_m connection_length_m module~connection_length_m->module~error_handling_m module~connection_length_m->module~fieldline_tracer_m module~csrmat_m->module~error_handling_m module~direct_solver_mkl_s direct_solver_MKL_s module~direct_solver_mkl_s->module~error_handling_m module~divertor_equilibrium_m->module~error_handling_m module~divertor_equilibrium_m->module~polygon_m module~dommaschk_equilibrium_m->module~error_handling_m module~dommaschk_equilibrium_m->module~fieldline_tracer_m module~dommaschk_equilibrium_m->module~polygon_m module~dommaschk_equilibrium_m->module~interpolation_m module~dommaschk_equilibrium_m->module~kisslinger_m module~params_equi_dommaschk_m params_equi_dommaschk_m module~dommaschk_equilibrium_m->module~params_equi_dommaschk_m module~dommaschk_equilibrium_netcdf_s dommaschk_equilibrium_netcdf_s module~dommaschk_equilibrium_netcdf_s->module~error_handling_m module~dommaschk_equilibrium_netcdf_s->module~dommaschk_equilibrium_m module~error_handler_s error_handler_s module~error_handler_s->module~error_handling_m module~error_info_s error_info_s module~error_info_s->module~error_handling_m module~helmholtz_operator_m->module~error_handling_m module~helmholtz_operator_m->module~mesh_cart_m module~helmholtz_operator_m->module~boundaries_perp_m module~helmholtz_operator_m->module~csrmat_m module~helmholtz_solver_mgmres_cxx_s helmholtz_solver_mgmres_cxx_s module~helmholtz_solver_mgmres_cxx_s->module~multigrid_m module~paccx_m PAccX_m module~helmholtz_solver_mgmres_cxx_s->module~paccx_m module~helmholtz_solver_petsc_s helmholtz_solver_petsc_s module~helmholtz_solver_petsc_s->module~error_handling_m module~helmholtz_solver_petsc_s->module~boundaries_perp_m module~immersed_factory_m immersed_factory_m module~immersed_factory_m->module~error_handling_m module~immersed_factory_m->module~mesh_cart_m module~immersed_m immersed_m module~immersed_factory_m->module~immersed_m module~immersed_rho_m immersed_rho_m module~immersed_factory_m->module~immersed_rho_m module~immersed_trace_m immersed_trace_m module~immersed_factory_m->module~immersed_trace_m module~immersed_vessel_m immersed_vessel_m module~immersed_factory_m->module~immersed_vessel_m module~immersed_m->module~mesh_cart_m module~immersed_netcdf_s immersed_netcdf_s module~immersed_netcdf_s->module~error_handling_m module~immersed_netcdf_s->module~immersed_m module~immersed_rho_m->module~error_handling_m module~immersed_rho_m->module~mesh_cart_m module~immersed_rho_m->module~immersed_m module~immersed_trace_m->module~error_handling_m module~immersed_trace_m->module~mesh_cart_m module~immersed_trace_m->module~connection_length_m module~immersed_trace_m->module~immersed_m module~immersed_vessel_m->module~mesh_cart_m module~immersed_vessel_m->module~immersed_m module~initialise_numerical_equilibrium_s initialise_numerical_equilibrium_s module~initialise_numerical_equilibrium_s->module~numerical_equilibrium_m module~initialise_numerical_equilibrium_s->module~polygon_m module~interpolation_m->module~error_handling_m module~kisslinger_m->module~error_handling_m module~map_factory_m->module~mesh_cart_m module~map_factory_m->module~csrmat_m module~mesh_2d_netcdfio_s mesh_2d_netcdfio_s module~mesh_2d_netcdfio_s->module~mesh_cart_m module~mesh_cart_build_s mesh_cart_build_s module~mesh_cart_build_s->module~mesh_cart_m module~mesh_cart_communicate_s mesh_cart_communicate_s module~mesh_cart_communicate_s->module~mesh_cart_m module~mesh_cart_communicate_s->module~mpi_mapping_auxiliaries_m module~mesh_cart_reorder_s mesh_cart_reorder_s module~mesh_cart_reorder_s->module~mesh_cart_m module~mesh_cart_s mesh_cart_s module~mesh_cart_s->module~mesh_cart_m module~multigrid_s multigrid_s module~multigrid_s->module~multigrid_m module~multigrid_solver_m multigrid_solver_m module~multigrid_solver_m->module~mesh_cart_m module~multigrid_solver_m->module~multigrid_m module~multigrid_solver_m->module~splitting_m module~multigrid_solver_m->module~boundaries_perp_m module~multigrid_solver_m->module~csrmat_m module~multigrid_solver_m->module~helmholtz_operator_m module~multigrid_solver_s multigrid_solver_s module~multigrid_solver_s->module~error_handling_m module~multigrid_solver_s->module~boundaries_perp_m module~multigrid_solver_s->module~multigrid_solver_m module~paccx_m->module~device_handling_m module~params_equi_circular_m->module~error_handling_m module~params_equi_circular_toroidal_m->module~error_handling_m module~params_equi_dommaschk_m->module~error_handling_m module~params_equi_flare_m->module~error_handling_m module~params_equi_salpha_m->module~error_handling_m module~params_equi_slab_m params_equi_slab_m module~params_equi_slab_m->module~error_handling_m module~parbnd_taylor_m parbnd_taylor_m module~parbnd_taylor_m->module~error_handling_m module~parbnd_taylor_m->module~fieldline_tracer_m module~parbnd_taylor_m->module~mesh_cart_m module~parbnd_taylor_m->module~connection_length_m module~parbnd_taylor_netcdf_s parbnd_taylor_netcdf_s module~parbnd_taylor_netcdf_s->module~error_handling_m module~parbnd_taylor_netcdf_s->module~parbnd_taylor_m module~polar_grid_s polar_grid_s module~polar_grid_s->module~polar_grid_m module~snapshots_test_diffusion_m->module~error_handling_m module~snapshots_test_diffusion_m->module~mesh_cart_m module~solver3d_cerfacs_s solver3d_CERFACS_s module~solver3d_cerfacs_s->module~solver3d_m module~solver3d_factory_m solver3d_factory_m module~solver3d_factory_m->module~error_handling_m module~solver3d_factory_m->module~solver3d_m module~solver3d_pim_s solver3d_PIM_s module~solver3d_pim_s->module~solver3d_m module~splitting_gauss_seidel_cpu_s splitting_gauss_seidel_cpu_s module~splitting_gauss_seidel_cpu_s->module~splitting_m module~splitting_gauss_seidel_redblack_cpu_s splitting_gauss_seidel_redblack_cpu_s module~splitting_gauss_seidel_redblack_cpu_s->module~splitting_m module~splitting_jacobi_cpu_s splitting_jacobi_cpu_s module~splitting_jacobi_cpu_s->module~splitting_m module~testfunctions_m->module~numerical_equilibrium_m module~testfunctions_m->module~circular_equilibrium_m module~testfunctions_m->module~slab_equilibrium_m module~analytic_divertor_equilibrium_m->module~divertor_equilibrium_m module~csr_samples_m csr_samples_m module~csr_samples_m->module~csrmat_m module~helmholtz_solver_direct_s helmholtz_solver_direct_s module~helmholtz_solver_direct_s->module~boundaries_perp_m module~helmholtz_solver_direct_s->module~helmholtz_operator_m module~helpers_m helpers_m module~helpers_m->module~csrmat_m module~mpi_mapping_auxiliaries_m->module~csrmat_m module~slab_equilibrium_m->module~params_equi_slab_m

Functions

public function get_communicator()

Returns the MPI communicator

Arguments

None

Return Value integer

public function is_master()

Returns if the current proc is the MPI master or not

Arguments

None

Return Value logical


Subroutines

public subroutine setup_comm(comm, rank_master)

Sets the communication to the given communicator. Allows to change the rank of the master proc.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: comm

Communicator

integer, intent(in), optional :: rank_master

Rank of the master process