control_bunch_input.f90 Source File


This file depends on

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

Files dependent on this one

sourcefile~~control_bunch_input.f90~~AfferentGraph sourcefile~control_bunch_input.f90 control_bunch_input.f90 sourcefile~set_init_param.f90 set_init_param.f90 sourcefile~set_init_param.f90->sourcefile~control_bunch_input.f90 sourcefile~init_beam_part_distrib.f90 init_beam_part_distrib.f90 sourcefile~init_beam_part_distrib.f90->sourcefile~control_bunch_input.f90 sourcefile~read_input.f90 read_input.f90 sourcefile~read_input.f90->sourcefile~control_bunch_input.f90 sourcefile~run_data_info.f90 run_data_info.f90 sourcefile~run_data_info.f90->sourcefile~control_bunch_input.f90 sourcefile~diag_part_and_fields.f90 diag_part_and_fields.f90 sourcefile~diag_part_and_fields.f90->sourcefile~control_bunch_input.f90 sourcefile~window.f90 window.f90 sourcefile~window.f90->sourcefile~run_data_info.f90 sourcefile~aladyn.f90 ALaDyn.F90 sourcefile~aladyn.f90->sourcefile~init_beam_part_distrib.f90 sourcefile~aladyn.f90->sourcefile~run_data_info.f90 sourcefile~aladyn.f90->sourcefile~diag_part_and_fields.f90 sourcefile~start_all.f90 start_all.F90 sourcefile~aladyn.f90->sourcefile~start_all.f90 sourcefile~pic_evolve_in_time.f90 pic_evolve_in_time.f90 sourcefile~aladyn.f90->sourcefile~pic_evolve_in_time.f90 sourcefile~env_evolve_in_time.f90 env_evolve_in_time.f90 sourcefile~aladyn.f90->sourcefile~env_evolve_in_time.f90 sourcefile~start_all.f90->sourcefile~set_init_param.f90 sourcefile~start_all.f90->sourcefile~read_input.f90 sourcefile~start_all.f90->sourcefile~run_data_info.f90 sourcefile~pic_evolve_in_time.f90->sourcefile~window.f90 sourcefile~env_evolve_in_time.f90->sourcefile~window.f90

Contents


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 control_bunch_input

  use precision_def

  implicit none

  integer :: n_bunches, bunch_type(5), nb_tot(5), number_of_slices(4), &
             bunch_shape(5), nb_per_cell(5)

  integer :: np_1, np_2, np_3, np_4, np_5
  integer :: bunch_type_1, bunch_type_2, bunch_type_3, bunch_type_4, &
             bunch_type_5
  integer :: bunch_shape_1, bunch_shape_2, bunch_shape_3, bunch_shape_4, &
             bunch_shape_5

  real(dp) :: bunch_charge(5), bunch_volume(5), jb_norm(5), &
              reduced_charge(5), lorentz_bfact(5)
  real(dp) :: charge_right(5), charge_left(5)
  real(dp) :: gam(5), rhob(5), particle_charge(5)
  real(dp) :: xc_bunch(5), yc_bunch(5), zc_bunch(5)
  real(dp) :: sxb(5), syb(5)
  real(dp) :: epsy(5), epsz(5), dg(5)
  real(dp) :: sigma_cut_bunch(5)
  real(dp) :: alpha_twiss(5), beta_twiss(5)
  real(dp) :: b_ex_poloidal, radius_poloidal
  integer :: ppc_x_bunch(5), ppc_y_bunch(5), ppc_z_bunch(5), &
             ppc_bunch(5, 3)

  logical :: l_particles, l_twiss(5), l_bpoloidal, l_embunchevolution

 end module