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
Intent Optional
Attributes Name
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
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
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