grid_param.f90 Source File


This file depends on

sourcefile~~grid_param.f90~~EfferentGraph sourcefile~grid_param.f90 grid_param.f90 sourcefile~precision_def.f90 precision_def.F90 sourcefile~grid_param.f90->sourcefile~precision_def.f90 sourcefile~struct_def.f90 struct_def.f90 sourcefile~grid_param.f90->sourcefile~struct_def.f90 sourcefile~struct_def.f90->sourcefile~precision_def.f90

Files dependent on this one

sourcefile~~grid_param.f90~~AfferentGraph sourcefile~grid_param.f90 grid_param.f90 sourcefile~set_init_param.f90 set_init_param.f90 sourcefile~set_init_param.f90->sourcefile~grid_param.f90 sourcefile~set_grid_param.f90 set_grid_param.f90 sourcefile~set_init_param.f90->sourcefile~set_grid_param.f90 sourcefile~init_part_distrib.f90 init_part_distrib.f90 sourcefile~init_part_distrib.f90->sourcefile~grid_param.f90 sourcefile~mpi_curr_interface.f90 mpi_curr_interface.f90 sourcefile~mpi_curr_interface.f90->sourcefile~grid_param.f90 sourcefile~stretched_grid.f90 stretched_grid.f90 sourcefile~stretched_grid.f90->sourcefile~grid_param.f90 sourcefile~curr_and_fields_util.f90 curr_and_fields_util.f90 sourcefile~curr_and_fields_util.f90->sourcefile~grid_param.f90 sourcefile~curr_and_fields_util.f90->sourcefile~mpi_curr_interface.f90 sourcefile~mpi_field_interface.f90 mpi_field_interface.f90 sourcefile~curr_and_fields_util.f90->sourcefile~mpi_field_interface.f90 sourcefile~grid_fields.f90 grid_fields.f90 sourcefile~curr_and_fields_util.f90->sourcefile~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_grid_fields.f90 init_grid_fields.f90 sourcefile~curr_and_fields_util.f90->sourcefile~init_grid_fields.f90 sourcefile~init_beam_part_distrib.f90 init_beam_part_distrib.f90 sourcefile~init_beam_part_distrib.f90->sourcefile~grid_param.f90 sourcefile~init_beam_part_distrib.f90->sourcefile~mpi_curr_interface.f90 sourcefile~psolve.f90 psolve.f90 sourcefile~init_beam_part_distrib.f90->sourcefile~psolve.f90 sourcefile~init_beam_part_distrib.f90->sourcefile~mpi_field_interface.f90 sourcefile~grid_part_util.f90 grid_part_util.f90 sourcefile~init_beam_part_distrib.f90->sourcefile~grid_part_util.f90 sourcefile~init_beam_part_distrib.f90->sourcefile~init_grid_fields.f90 sourcefile~grid_field_param.f90 grid_field_param.f90 sourcefile~grid_field_param.f90->sourcefile~grid_param.f90 sourcefile~pic_out.f90 pic_out.f90 sourcefile~pic_out.f90->sourcefile~grid_param.f90 sourcefile~psolve.f90->sourcefile~grid_param.f90 sourcefile~psolve.f90->sourcefile~grid_fields.f90 sourcefile~mpi_field_interface.f90->sourcefile~grid_param.f90 sourcefile~run_data_info.f90 run_data_info.f90 sourcefile~run_data_info.f90->sourcefile~grid_param.f90 sourcefile~mpi_part_interface.f90 mpi_part_interface.f90 sourcefile~mpi_part_interface.f90->sourcefile~grid_param.f90 sourcefile~grid_part_lib.f90 grid_part_lib.f90 sourcefile~grid_part_lib.f90->sourcefile~grid_param.f90 sourcefile~grid_part_lib.f90->sourcefile~stretched_grid.f90 sourcefile~pic_dump.f90 pic_dump.f90 sourcefile~pic_dump.f90->sourcefile~grid_param.f90 sourcefile~window.f90 window.f90 sourcefile~window.f90->sourcefile~grid_param.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 sourcefile~diag_part_and_fields.f90 diag_part_and_fields.f90 sourcefile~diag_part_and_fields.f90->sourcefile~grid_param.f90 sourcefile~set_grid_param.f90->sourcefile~grid_param.f90 sourcefile~pic_evolve_in_time.f90 pic_evolve_in_time.f90 sourcefile~pic_evolve_in_time.f90->sourcefile~curr_and_fields_util.f90 sourcefile~pic_evolve_in_time.f90->sourcefile~mpi_part_interface.f90 sourcefile~pic_evolve_in_time.f90->sourcefile~window.f90 sourcefile~fluid_density_momenta.f90 fluid_density_momenta.f90 sourcefile~pic_evolve_in_time.f90->sourcefile~fluid_density_momenta.f90 sourcefile~pic_evolve_in_time.f90->sourcefile~init_grid_fields.f90 sourcefile~env_evolve_in_time.f90 env_evolve_in_time.f90 sourcefile~env_evolve_in_time.f90->sourcefile~curr_and_fields_util.f90 sourcefile~env_evolve_in_time.f90->sourcefile~mpi_part_interface.f90 sourcefile~env_evolve_in_time.f90->sourcefile~window.f90 sourcefile~env_evolve_in_time.f90->sourcefile~fluid_density_momenta.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~set_init_param.f90 sourcefile~start_all.f90->sourcefile~run_data_info.f90 sourcefile~start_all.f90->sourcefile~pic_dump.f90 sourcefile~start_all.f90->sourcefile~set_grid_param.f90 sourcefile~start_all.f90->sourcefile~pic_in.f90 sourcefile~grid_fields.f90->sourcefile~grid_field_param.f90 sourcefile~fluid_density_momenta.f90->sourcefile~mpi_field_interface.f90 sourcefile~fluid_density_momenta.f90->sourcefile~grid_fields.f90 sourcefile~grid_part_connect.f90->sourcefile~grid_part_lib.f90 sourcefile~grid_part_util.f90->sourcefile~grid_part_lib.f90 sourcefile~aladyn.f90 ALaDyn.F90 sourcefile~aladyn.f90->sourcefile~init_beam_part_distrib.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~pic_evolve_in_time.f90 sourcefile~aladyn.f90->sourcefile~env_evolve_in_time.f90 sourcefile~aladyn.f90->sourcefile~start_all.f90 sourcefile~pic_out_util.f90 pic_out_util.f90 sourcefile~aladyn.f90->sourcefile~pic_out_util.f90 sourcefile~init_grid_fields.f90->sourcefile~grid_field_param.f90 sourcefile~pic_out_util.f90->sourcefile~mpi_curr_interface.f90 sourcefile~pic_out_util.f90->sourcefile~psolve.f90 sourcefile~pic_out_util.f90->sourcefile~mpi_field_interface.f90 sourcefile~pic_out_util.f90->sourcefile~grid_part_util.f90 sourcefile~init_laser_field.f90->sourcefile~grid_fields.f90 sourcefile~init_laser_field.f90->sourcefile~init_grid_fields.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 grid_param

  use precision_def
  use struct_def

  implicit none

  !=======================
  type(grid), allocatable :: loc_ygrid(:)
  !!Contains the local (to the MPI process) y grid informations
  type(grid), allocatable :: loc_zgrid(:)
  !!Contains the local (to the MPI process) x grid informations
  type(grid), allocatable :: loc_xgrid(:)
  !!Contains the local (to the MPI process) x grid informations

  type(sgrid) :: str_xgrid, str_ygrid, str_zgrid
  real(sp), allocatable :: wdata(:), gwdata(:)
  integer, allocatable :: nxh(:), nyh(:), nzh(:)

  !fft grid
  type(grid), allocatable :: loc_yftgrid(:)
  type(grid), allocatable :: loc_zftgrid(:)
  real(dp), allocatable :: yft(:), zft(:)
  real(dp), allocatable :: loc_yft(:, :), loc_zft(:, :)
!-------------------
  real(dp), allocatable :: akx(:, :), aky(:, :), akz(:, :), sty(:, :)
  real(dp), allocatable :: ak2x(:, :), ak2y(:, :), ak2z(:, :), kern(:), &
                           kern2(:, :)
  real(dp), allocatable :: skx(:, :), sky(:, :), skz(:, :)
  !==================
  real(dp), allocatable :: loc_yg(:, :, :), loc_zg(:, :, :), &
                           loc_xg(:, :, :)
  real(dp), allocatable :: x(:), xw(:), y(:), z(:), dx1(:), dy1(:), &
                           dz1(:)
  real(dp), allocatable :: xh(:), yh(:), zh(:), dx1h(:), dy1h(:), &
                           dz1h(:)
  integer, allocatable :: str_indx(:, :), yft_ind(:, :), zft_ind(:, :)
  real(dp), allocatable :: rpt(:), wgp(:)
  real(dp) :: xtot, xmax, xmin, ymax, ymin, zmax, zmin, xw_min, xw_max
  real(dp) :: lx_box, ly_box, lz_box
  real(dp) :: dx, dx_inv, dxi_inv, dy, dz, dy_inv, dyi_inv, dz_inv, &
              dzi_inv
  real(dp) :: aph, l_s, lx_s, dxi, dyi, dzi, sy_rat, sz_rat, sx_rat
  real(dp) :: xmn, ymn, zmn
  real(dp) :: yft_min, zft_min
  !=============================
  integer :: nxp, nyp, nzp
  integer :: loc_ygr_max, loc_zgr_max, loc_xgr_max
  integer :: ix1, ix2, jy1, jy2, kz1, kz2, n_str
  integer :: nx_stretch, ny_stretch, nz_stretch
  !--------------------------
 end module