TABLE OF CONTENTS
- 1. /pauliBlockingModule
- 1.1. pauliBlockingModule/pauliSwitch
- 1.2. pauliBlockingModule/densDepMomCutFlag
- 1.3. pauliBlockingModule/Gauss
- 1.4. pauliBlockingModule/cutGauss
- 1.5. pauliBlockingModule/cutMom
- 1.6. pauliBlockingModule/cutPos
- 1.7. pauliBlockingModule/nGridPos
- 1.8. pauliBlockingModule/ensembleJump
- 1.9. pauliBlockingModule/DoHistogram
- 1.10. pauliBlockingModule/pauliBlocking
- 1.11. pauliBlockingModule/WriteBlockMom
- 1.12. pauliBlockingModule/init
- 1.13. pauliBlockingModule/initPauli
- 1.14. pauliBlockingModule/checkPauli
/pauliBlockingModule [ Modules ]
NAME
module PauliBlockingModule
PURPOSE
Contains all information and routines, which are necessary for the Pauli-Blocking of the test-particles
pauliBlockingModule/pauliSwitch [ Global module-variables ]
[ Top ] [ pauliBlockingModule ] [ Global module-variables ]
SOURCE
integer, save :: pauliSwitch=1
PURPOSE
- 0 : No Pauli blocking
- 1 : dynamic Pauli blocking (use actual phase space densities)
- 2 : analytic Pauli blocking (use ground state assumption) (not possible for Heavy Ions!)
pauliBlockingModule/densDepMomCutFlag [ Global module-variables ]
[ Top ] [ pauliBlockingModule ] [ Global module-variables ]
SOURCE
logical, save :: densDepMomCutFlag=.false.
PURPOSE
if .true. - the radius in momentum space for selecting nucleons around given nucleon will depend on local Fermi momentum
NOTES
Used only for dynamic pauli blocking.
pauliBlockingModule/Gauss [ Global module-variables ]
[ Top ] [ pauliBlockingModule ] [ Global module-variables ]
SOURCE
real, save :: Gauss=1.0
PURPOSE
Smearing for dynamic pauli blocking
pauliBlockingModule/cutGauss [ Global module-variables ]
[ Top ] [ pauliBlockingModule ] [ Global module-variables ]
SOURCE
real, save :: cutGauss=2.2
PURPOSE
Cutoff for gauss Smearing
pauliBlockingModule/cutMom [ Global module-variables ]
[ Top ] [ pauliBlockingModule ] [ Global module-variables ]
SOURCE
real, save :: cutMom=0.08
PURPOSE
- for densDepMomCutFlag=.false. --- radius of phase space box in momentum space
- for densDepMomCutFlag=.true. --- minimum radius of phase space box in momentum space
pauliBlockingModule/cutPos [ Global module-variables ]
[ Top ] [ pauliBlockingModule ] [ Global module-variables ]
SOURCE
real, save :: cutPos=1.86
PURPOSE
Radius of phase space box in position space
pauliBlockingModule/nGridPos [ Global module-variables ]
[ Top ] [ pauliBlockingModule ] [ Global module-variables ]
SOURCE
integer, save :: nGridPos=30
PURPOSE
number of points in position space to save weights on
pauliBlockingModule/ensembleJump [ Global module-variables ]
[ Top ] [ pauliBlockingModule ] [ Global module-variables ]
SOURCE
integer, save :: ensembleJump=5
PURPOSE
Parameter for speedup. Only every "ensemblejump"th ensemble is considered to evaluate the probability for pauli blocking.
pauliBlockingModule/DoHistogram [ Global module-variables ]
[ Top ] [ pauliBlockingModule ] [ Global module-variables ]
SOURCE
logical, save :: DoHistogram=.false.
PURPOSE
if .true., a historgram is filled representing the blocking probability as function of the fermi momentum. You have to call 'WriteBlockMom' explicitely for writing the histogram
pauliBlockingModule/pauliBlocking [ Functions ]
[ Top ] [ pauliBlockingModule ] [ Functions ]
NAME
logical function pauliBlocking(momentum,position,Nukcharge,Teilchen,probabilityOut,weight)
PURPOSE
- evaluates Pauli blocking for neutrons or protons
- returns .true. if position and momentum are blocked by Pauli principle
- returns .false. if no Pauli blocking
INPUTS
- real, dimension(0:3) :: momentum
- real, dimension(1:3) :: position
- integer :: Nukcharge -- Charge of nucleus
- type(particle), dimension(:,:), OPTIONAL :: Teilchen -- Full Particle Vector
- real, OPTIONAL :: weight -- particle weight for documentation purposes
OUTPUT
- real, OPTIONAL :: probabilityOut -- Probability of blocking, i.e. occupation number
pauliBlockingModule/WriteBlockMom [ Subroutines ]
[ Top ] [ pauliBlockingModule ] [ Subroutines ]
NAME
subroutine WriteBlockMom(mul)
PURPOSE
Write Histogram 'PauliBlocking.BlockMom.dat'
pauliBlockingModule/init [ Subroutines ]
[ Top ] [ pauliBlockingModule ] [ Subroutines ]
NAME
subroutine init
PURPOSE
Reads data out of jobcard 'initPauli'
pauliBlockingModule/initPauli [ Namelists ]
[ Top ] [ pauliBlockingModule ] [ Namelists ]
NAME
NAMELIST initPauli
PURPOSE
Includes the input switches and variables:
pauliBlockingModule/checkPauli [ Subroutines ]
[ Top ] [ pauliBlockingModule ] [ Subroutines ]
NAME
subroutine checkPauli(teilchen,realParticles,collisionFlag)
PURPOSE
Administrates the Pauli-Blocking decision
INPUTS
- type(particle),dimension(:) :: teilchen -- outgoing particles
- type(particle),dimension(:,:) :: realParticles -- real particle vector
OUTPUT
- logical :: collisionFlag -- .true. = momentum of particle "teilchen" IS NOT pauli blocked, .false.= momentum of particle "teilchen" IS pauli blocked
NOTE The position and momentum of the outgoing particles must be set!