korc_rnd_numbers Module

This subroutines were taken from Numerical Recipes in Fortran 90, and provide a way for generating random numbers of 'better quality' in a faster way than build-in Fortran random generators (at least
better than those of Fortran 77). For more details we refer the user to Numerical Recipes in Fortran 90.


Uses

  • module~~korc_rnd_numbers~~UsesGraph module~korc_rnd_numbers korc_rnd_numbers ifport ifport module~korc_rnd_numbers->ifport module~korc_types korc_types module~korc_rnd_numbers->module~korc_types iso_c_binding iso_c_binding module~korc_types->iso_c_binding

Used by

  • module~~korc_rnd_numbers~~UsedByGraph module~korc_rnd_numbers korc_rnd_numbers module~korc_initialize korc_initialize module~korc_initialize->module~korc_rnd_numbers module~korc_spatial_distribution korc_spatial_distribution module~korc_initialize->module~korc_spatial_distribution module~korc_velocity_distribution korc_velocity_distribution module~korc_initialize->module~korc_velocity_distribution module~korc_fields korc_fields module~korc_initialize->module~korc_fields module~korc_interp korc_interp module~korc_interp->module~korc_rnd_numbers module~korc_experimental_pdf korc_experimental_pdf module~korc_experimental_pdf->module~korc_rnd_numbers module~korc_experimental_pdf->module~korc_interp module~korc_experimental_pdf->module~korc_fields module~korc_spatial_distribution->module~korc_rnd_numbers module~korc_spatial_distribution->module~korc_experimental_pdf module~korc_profiles korc_profiles module~korc_spatial_distribution->module~korc_profiles module~korc_spatial_distribution->module~korc_fields module~korc_avalanche korc_avalanche module~korc_spatial_distribution->module~korc_avalanche module~korc_velocity_distribution->module~korc_rnd_numbers module~korc_velocity_distribution->module~korc_experimental_pdf module~korc_velocity_distribution->module~korc_fields module~korc_velocity_distribution->module~korc_avalanche program~main main program~main->module~korc_initialize program~main->module~korc_interp program~main->module~korc_profiles module~korc_collisions korc_collisions program~main->module~korc_collisions program~main->module~korc_fields module~korc_ppusher korc_ppusher program~main->module~korc_ppusher module~korc_finalize korc_finalize program~main->module~korc_finalize module~korc_profiles->module~korc_interp module~korc_collisions->module~korc_interp module~korc_collisions->module~korc_profiles module~korc_collisions->module~korc_fields module~korc_fields->module~korc_interp module~korc_ppusher->module~korc_interp module~korc_ppusher->module~korc_profiles module~korc_ppusher->module~korc_collisions module~korc_ppusher->module~korc_fields module~korc_avalanche->module~korc_profiles module~korc_avalanche->module~korc_fields module~korc_finalize->module~korc_profiles module~korc_finalize->module~korc_fields

Contents


Variables

TypeVisibility AttributesNameInitial
integer(kind=8), public, parameter:: iv =4101842887655102017_8
integer(kind=8), public, parameter:: iw =1_8
integer(kind=8), public, parameter:: a =4294957665_8
integer(kind=8), public, parameter:: b =4294967295_8
integer(kind=8), public, parameter:: d =2862933555777941757_8
integer(kind=8), public, parameter:: e =7046029254386353087_8
real(kind=rp), public, parameter:: rcoeff =5.42101086242752217E-20_rp
type(URAND), private :: urand_vars

Interfaces

public interface u_random

  • private subroutine rand_int64(irand)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=8), intent(out), optional :: irand
  • private subroutine rand_int32(irand32)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=4), intent(out) :: irand32
  • private subroutine rand_real(rrand)

    Arguments

    Type IntentOptional AttributesName
    real(kind=rp), intent(out) :: rrand
  • public subroutine rand_real_array(rrand)

    Arguments

    Type IntentOptional AttributesName
    real(kind=rp), intent(inout), DIMENSION(:):: rrand

Derived Types

type, private :: URAND

Components

TypeVisibility AttributesNameInitial
integer(kind=8), public :: u
integer(kind=8), public :: v
integer(kind=8), public :: w

Subroutines

public subroutine init_u_random(seed)

Arguments

Type IntentOptional AttributesName
integer(kind=8), intent(in) :: seed

private subroutine rand_int64(irand)

Arguments

Type IntentOptional AttributesName
integer(kind=8), intent(out), optional :: irand

private subroutine rand_int32(irand32)

Arguments

Type IntentOptional AttributesName
integer(kind=4), intent(out) :: irand32

public subroutine rand_real_array(rrand)

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(inout), DIMENSION(:):: rrand

private subroutine rand_real(rrand)

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(out) :: rrand

public subroutine init_random_seed()

Arguments

None