mpi_var.f90 Source File


This file depends on

sourcefile~~mpi_var.f90~~EfferentGraph sourcefile~mpi_var.f90 mpi_var.f90 sourcefile~precision_def.f90 precision_def.F90 sourcefile~mpi_var.f90->sourcefile~precision_def.f90

Files dependent on this one

sourcefile~~mpi_var.f90~~AfferentGraph sourcefile~mpi_var.f90 mpi_var.f90 sourcefile~init_part_distrib.f90 init_part_distrib.f90 sourcefile~init_part_distrib.f90->sourcefile~mpi_var.f90 sourcefile~stretched_grid.f90 stretched_grid.f90 sourcefile~stretched_grid.f90->sourcefile~mpi_var.f90 sourcefile~ionize.f90 ionize.f90 sourcefile~ionize.f90->sourcefile~mpi_var.f90 sourcefile~system_utilities.f90 system_utilities.f90 sourcefile~system_utilities.f90->sourcefile~mpi_var.f90 sourcefile~parallel.f90 parallel.F90 sourcefile~parallel.f90->sourcefile~mpi_var.f90 sourcefile~grid_field_param.f90 grid_field_param.f90 sourcefile~grid_field_param.f90->sourcefile~mpi_var.f90 sourcefile~read_input.f90 read_input.f90 sourcefile~read_input.f90->sourcefile~mpi_var.f90 sourcefile~set_grid_param.f90 set_grid_param.f90 sourcefile~set_grid_param.f90->sourcefile~mpi_var.f90 sourcefile~set_init_param.f90 set_init_param.f90 sourcefile~set_init_param.f90->sourcefile~set_grid_param.f90 sourcefile~pic_evolve_in_time.f90 pic_evolve_in_time.f90 sourcefile~pic_evolve_in_time.f90->sourcefile~ionize.f90 sourcefile~mpi_part_interface.f90 mpi_part_interface.f90 sourcefile~pic_evolve_in_time.f90->sourcefile~mpi_part_interface.f90 sourcefile~init_grid_fields.f90 init_grid_fields.f90 sourcefile~pic_evolve_in_time.f90->sourcefile~init_grid_fields.f90 sourcefile~fluid_density_momenta.f90 fluid_density_momenta.f90 sourcefile~pic_evolve_in_time.f90->sourcefile~fluid_density_momenta.f90 sourcefile~curr_and_fields_util.f90 curr_and_fields_util.f90 sourcefile~pic_evolve_in_time.f90->sourcefile~curr_and_fields_util.f90 sourcefile~window.f90 window.f90 sourcefile~pic_evolve_in_time.f90->sourcefile~window.f90 sourcefile~env_evolve_in_time.f90 env_evolve_in_time.f90 sourcefile~env_evolve_in_time.f90->sourcefile~ionize.f90 sourcefile~env_evolve_in_time.f90->sourcefile~mpi_part_interface.f90 sourcefile~env_evolve_in_time.f90->sourcefile~fluid_density_momenta.f90 sourcefile~env_evolve_in_time.f90->sourcefile~curr_and_fields_util.f90 sourcefile~env_evolve_in_time.f90->sourcefile~window.f90 sourcefile~pic_in.f90 pic_in.f90 sourcefile~pic_in.f90->sourcefile~init_part_distrib.f90 sourcefile~init_laser_field.f90 init_laser_field.f90 sourcefile~pic_in.f90->sourcefile~init_laser_field.f90 sourcefile~start_all.f90 start_all.F90 sourcefile~start_all.f90->sourcefile~ionize.f90 sourcefile~start_all.f90->sourcefile~system_utilities.f90 sourcefile~start_all.f90->sourcefile~read_input.f90 sourcefile~start_all.f90->sourcefile~set_grid_param.f90 sourcefile~start_all.f90->sourcefile~set_init_param.f90 sourcefile~start_all.f90->sourcefile~pic_in.f90 sourcefile~run_data_info.f90 run_data_info.f90 sourcefile~start_all.f90->sourcefile~run_data_info.f90 sourcefile~pic_dump.f90 pic_dump.f90 sourcefile~start_all.f90->sourcefile~pic_dump.f90 sourcefile~grid_fields.f90 grid_fields.f90 sourcefile~grid_fields.f90->sourcefile~parallel.f90 sourcefile~grid_fields.f90->sourcefile~grid_field_param.f90 sourcefile~mpi_curr_interface.f90 mpi_curr_interface.f90 sourcefile~mpi_curr_interface.f90->sourcefile~parallel.f90 sourcefile~prl_fft.f90 prl_fft.f90 sourcefile~prl_fft.f90->sourcefile~parallel.f90 sourcefile~pic_out.f90 pic_out.f90 sourcefile~pic_out.f90->sourcefile~parallel.f90 sourcefile~mpi_field_interface.f90 mpi_field_interface.f90 sourcefile~mpi_field_interface.f90->sourcefile~parallel.f90 sourcefile~run_data_info.f90->sourcefile~parallel.f90 sourcefile~mpi_part_interface.f90->sourcefile~parallel.f90 sourcefile~grid_part_lib.f90 grid_part_lib.f90 sourcefile~grid_part_lib.f90->sourcefile~stretched_grid.f90 sourcefile~pic_dump.f90->sourcefile~parallel.f90 sourcefile~init_grid_fields.f90->sourcefile~grid_field_param.f90 sourcefile~diag_part_and_fields.f90 diag_part_and_fields.f90 sourcefile~diag_part_and_fields.f90->sourcefile~parallel.f90 sourcefile~fluid_density_momenta.f90->sourcefile~grid_fields.f90 sourcefile~fluid_density_momenta.f90->sourcefile~mpi_field_interface.f90 sourcefile~curr_and_fields_util.f90->sourcefile~grid_fields.f90 sourcefile~curr_and_fields_util.f90->sourcefile~mpi_curr_interface.f90 sourcefile~curr_and_fields_util.f90->sourcefile~mpi_field_interface.f90 sourcefile~curr_and_fields_util.f90->sourcefile~init_grid_fields.f90 sourcefile~grid_part_connect.f90 grid_part_connect.f90 sourcefile~curr_and_fields_util.f90->sourcefile~grid_part_connect.f90 sourcefile~init_beam_part_distrib.f90 init_beam_part_distrib.f90 sourcefile~init_beam_part_distrib.f90->sourcefile~mpi_curr_interface.f90 sourcefile~init_beam_part_distrib.f90->sourcefile~mpi_field_interface.f90 sourcefile~init_beam_part_distrib.f90->sourcefile~init_grid_fields.f90 sourcefile~grid_part_util.f90 grid_part_util.f90 sourcefile~init_beam_part_distrib.f90->sourcefile~grid_part_util.f90 sourcefile~psolve.f90 psolve.f90 sourcefile~init_beam_part_distrib.f90->sourcefile~psolve.f90 sourcefile~grid_part_connect.f90->sourcefile~grid_part_lib.f90 sourcefile~grid_part_util.f90->sourcefile~grid_part_lib.f90 sourcefile~init_laser_field.f90->sourcefile~grid_fields.f90 sourcefile~init_laser_field.f90->sourcefile~init_grid_fields.f90 sourcefile~aladyn.f90 ALaDyn.F90 sourcefile~aladyn.f90->sourcefile~pic_evolve_in_time.f90 sourcefile~aladyn.f90->sourcefile~env_evolve_in_time.f90 sourcefile~aladyn.f90->sourcefile~start_all.f90 sourcefile~aladyn.f90->sourcefile~pic_out.f90 sourcefile~aladyn.f90->sourcefile~run_data_info.f90 sourcefile~aladyn.f90->sourcefile~diag_part_and_fields.f90 sourcefile~aladyn.f90->sourcefile~init_beam_part_distrib.f90 sourcefile~pic_out_util.f90 pic_out_util.f90 sourcefile~aladyn.f90->sourcefile~pic_out_util.f90 sourcefile~psolve.f90->sourcefile~grid_fields.f90 sourcefile~psolve.f90->sourcefile~prl_fft.f90 sourcefile~pic_out_util.f90->sourcefile~mpi_curr_interface.f90 sourcefile~pic_out_util.f90->sourcefile~mpi_field_interface.f90 sourcefile~pic_out_util.f90->sourcefile~grid_part_util.f90 sourcefile~pic_out_util.f90->sourcefile~psolve.f90 sourcefile~window.f90->sourcefile~mpi_field_interface.f90 sourcefile~window.f90->sourcefile~run_data_info.f90 sourcefile~window.f90->sourcefile~mpi_part_interface.f90

Contents

Source Code


Source Code

!*****************************************************************************************************!
!                            Copyright 2008-2020  The ALaDyn Collaboration                            !
!*****************************************************************************************************!

!*****************************************************************************************************!
!  This file is part of ALaDyn.                                                                       !
!                                                                                                     !
!  ALaDyn is free software: you can redistribute it and/or modify                                     !
!  it under the terms of the GNU General Public License as published by                               !
!  the Free Software Foundation, either version 3 of the License, or                                  !
!  (at your option) any later version.                                                                !
!                                                                                                     !
!  ALaDyn is distributed in the hope that it will be useful,                                          !
!  but WITHOUT ANY WARRANTY; without even the implied warranty of                                     !
!  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                      !
!  GNU General Public License for more details.                                                       !
!                                                                                                     !
!  You should have received a copy of the GNU General Public License                                  !
!  along with ALaDyn.  If not, see <http://www.gnu.org/licenses/>.                                    !
!*****************************************************************************************************!

 module mpi_var

  use precision_def
  implicit none

  integer, allocatable :: loc_npart(:, :, :, :), loc_nbpart(:, :, :, :)
  integer, allocatable :: loc_ne_ionz(:, :, :), loc_tpart(:)
  integer, allocatable :: yp_next(:), yp_prev(:)
  integer, allocatable :: zp_next(:), zp_prev(:)
  integer, allocatable :: xp_next(:), xp_prev(:)

  integer :: np_max, pe_npmax, np_min, pe_npmin
  integer :: mype, imodx, imody, imodz, npe, npe_yloc, npe_zloc, &
             npe_xloc
  integer :: npe_yz, mpi_size, mpi_rank
  integer :: partype
  integer :: imodzx, imodyz, imodyx
  integer :: pe_min, pe_max
  integer :: pe_min_y, pe_max_y, pe_min_z, pe_max_z, pe_min_x, pe_max_x
  integer :: ndims, dims(3)
  logical :: pe0y, pe0z, pe1y, pe1z, pe0, pe1, prl, prlx, prly, prlz
  logical :: xl_bd, yl_bd, zl_bd, xr_bd, yr_bd, zr_bd
  logical :: pe0x, pe1x, pex0, pex1
  integer :: comm, coor(3), comm_col(3), col_or(3)
 end module