TABLE OF CONTENTS
- 1. /randomMaxwell
- 1.1. randomMaxwell/funk
- 1.2. randomMaxwell/funkZero
- 1.3. randomMaxwell/findLo
- 1.4. randomMaxwell/findHi
- 1.5. randomMaxwell/initMaxwell
- 1.6. randomMaxwell/rnMaxwell
/randomMaxwell [ Modules ]
NAME
module randomMaxwell
PURPOSE
generate momentum for massive particles according a relativistic Maxwell distribution.
Algorithm taken from M. Swisdak, Phys.Plasmas 20 (2013) 062110, http://inspirehep.net/record/1235671
randomMaxwell/funk [ Functions ]
[ Top ] [ randomMaxwell ] [ Functions ]
NAME
real function funk(p)
PURPOSE
distribution function to sample from
randomMaxwell/funkZero [ Functions ]
[ Top ] [ randomMaxwell ] [ Functions ]
NAME
real function funkZero(p)
PURPOSE
internal function for finding zeros
randomMaxwell/findLo [ Functions ]
[ Top ] [ randomMaxwell ] [ Functions ]
NAME
real function findLo(p)
PURPOSE
find the left solution funk(pLo)*exp(1) = funk(pM)
randomMaxwell/findHi [ Functions ]
[ Top ] [ randomMaxwell ] [ Functions ]
NAME
real function findHi(p)
PURPOSE
find the right solution funk(pHi)*exp(1) = funk(pM)
randomMaxwell/initMaxwell [ Subroutines ]
[ Top ] [ randomMaxwell ] [ Subroutines ]
NAME
subroutine initMaxwell(mass,temp)
PURPOSE
initialize the random number generator with given mass and temperature
randomMaxwell/rnMaxwell [ Subroutines ]
[ Top ] [ randomMaxwell ] [ Subroutines ]
NAME
real function rnMaxwell()
PURPOSE
return a random number according the relativistic Maxwell distribution, which has been initialized with a mass and a temperature