get_gamma_distribution Subroutine

public subroutine get_gamma_distribution(params, g, go)

@brief Subroutine that contains calls to subroutine to generate a gamma distribution for the energy distribution of a given species in the simulation.

@param[in] params Core KORC simulation parameters. @param[in,out] g Relativistic gamma factor @f$\gamma@f$ of the particles in a given species in the simulation. These are so that, they follow a Gamma distribution in energy. The parameters of the Gamma distributions are given by the user. @param[out] go Mean value of @f$\gamma@f$ of the particles in a given species. used to calculate the minimum required time step to resolve in detail the full-orbit dynamics of the particles.

Arguments

Type IntentOptional AttributesName
type(KORC_PARAMS), intent(in) :: params
real(kind=rp), intent(inout), DIMENSION(:), ALLOCATABLE:: g
real(kind=rp), intent(out) :: go

Calls

proc~~get_gamma_distribution~~CallsGraph proc~get_gamma_distribution get_gamma_distribution proc~initialize_gamma_params initialize_gamma_params proc~get_gamma_distribution->proc~initialize_gamma_params proc~save_gamma_params save_gamma_params proc~get_gamma_distribution->proc~save_gamma_params proc~sample_gamma_distribution sample_gamma_distribution proc~get_gamma_distribution->proc~sample_gamma_distribution h5fclose_f h5fclose_f proc~save_gamma_params->h5fclose_f interface~save_to_hdf5 save_to_hdf5 proc~save_gamma_params->interface~save_to_hdf5 h5gclose_f h5gclose_f proc~save_gamma_params->h5gclose_f mpi_bcast mpi_bcast proc~sample_gamma_distribution->mpi_bcast mpi_barrier mpi_barrier proc~sample_gamma_distribution->mpi_barrier proc~random_norm~2 random_norm proc~sample_gamma_distribution->proc~random_norm~2 proc~fre fRE proc~sample_gamma_distribution->proc~fre mpi_scatter mpi_scatter proc~sample_gamma_distribution->mpi_scatter proc~i2save_to_hdf5 i2save_to_hdf5 interface~save_to_hdf5->proc~i2save_to_hdf5 proc~i1save_to_hdf5 i1save_to_hdf5 interface~save_to_hdf5->proc~i1save_to_hdf5 proc~i4save_to_hdf5 i4save_to_hdf5 interface~save_to_hdf5->proc~i4save_to_hdf5 proc~i8save_to_hdf5 i8save_to_hdf5 interface~save_to_hdf5->proc~i8save_to_hdf5 proc~rsave_to_hdf5 rsave_to_hdf5 interface~save_to_hdf5->proc~rsave_to_hdf5 proc~fgamma fGamma proc~fre->proc~fgamma h5tset_size_f h5tset_size_f proc~i2save_to_hdf5->h5tset_size_f h5dclose_f h5dclose_f proc~i2save_to_hdf5->h5dclose_f h5aclose_f h5aclose_f proc~i2save_to_hdf5->h5aclose_f h5tcopy_f h5tcopy_f proc~i2save_to_hdf5->h5tcopy_f h5screate_simple_f h5screate_simple_f proc~i2save_to_hdf5->h5screate_simple_f h5awrite_f h5awrite_f proc~i2save_to_hdf5->h5awrite_f h5sclose_f h5sclose_f proc~i2save_to_hdf5->h5sclose_f h5acreate_f h5acreate_f proc~i2save_to_hdf5->h5acreate_f proc~i1save_to_hdf5->h5tset_size_f proc~i1save_to_hdf5->h5dclose_f proc~i1save_to_hdf5->h5aclose_f proc~i1save_to_hdf5->h5tcopy_f proc~i1save_to_hdf5->h5screate_simple_f proc~i1save_to_hdf5->h5awrite_f proc~i1save_to_hdf5->h5sclose_f proc~i1save_to_hdf5->h5acreate_f proc~i4save_to_hdf5->h5tset_size_f proc~i4save_to_hdf5->h5dclose_f proc~i4save_to_hdf5->h5aclose_f proc~i4save_to_hdf5->h5tcopy_f proc~i4save_to_hdf5->h5screate_simple_f proc~i4save_to_hdf5->h5awrite_f proc~i4save_to_hdf5->h5sclose_f proc~i4save_to_hdf5->h5acreate_f proc~i8save_to_hdf5->h5tset_size_f proc~i8save_to_hdf5->h5dclose_f proc~i8save_to_hdf5->h5aclose_f proc~i8save_to_hdf5->h5tcopy_f proc~i8save_to_hdf5->h5screate_simple_f proc~i8save_to_hdf5->h5awrite_f proc~i8save_to_hdf5->h5sclose_f proc~i8save_to_hdf5->h5acreate_f proc~rsave_to_hdf5->h5tset_size_f proc~rsave_to_hdf5->h5dclose_f proc~rsave_to_hdf5->h5aclose_f proc~rsave_to_hdf5->h5tcopy_f proc~rsave_to_hdf5->h5screate_simple_f proc~rsave_to_hdf5->h5awrite_f h5dwrite_f h5dwrite_f proc~rsave_to_hdf5->h5dwrite_f proc~rsave_to_hdf5->h5sclose_f proc~rsave_to_hdf5->h5acreate_f

Contents


Source Code

  SUBROUTINE get_gamma_distribution(params,g,go)
    TYPE(KORC_PARAMS), INTENT(IN) 						:: params
    REAL(rp), DIMENSION(:), ALLOCATABLE, INTENT(INOUT) 	:: g
    REAL(rp), INTENT(OUT) 								:: go

    call initialize_gamma_params(params)

    call save_gamma_params(params)

    call sample_gamma_distribution(params,g,go)
  END SUBROUTINE get_gamma_distribution