TABLE OF CONTENTS
- 1. /collisionCriteria
/collisionCriteria [ Modules ]
NAME
module collisionCriteria
PURPOSE
Includes routines to evaluate whether a 2-body collision among two particles is taking place.
NOTES
Available are two different collision criteria:
- Local collision criterion: subroutine "localCollisionCriteria"
- Kodama or "geometric collision criterion": subroutines "kodama_position" and "kodama_time"
collisionCriteria/debug [ Global module-variables ]
[ Top ] [ collisionCriteria ] [ Global module-variables ]
SOURCE
logical, parameter :: debug = .false.
PURPOSE
Set to .true., this logical will cause debug information.
collisionCriteria/kodama_evalFrame [ Global module-variables ]
[ Top ] [ collisionCriteria ] [ Global module-variables ]
SOURCE
logical, save :: kodama_evalFrame = .false.
PURPOSE
Set to .true., this logical will cause the kodama criterion to be evaluated in the laboratory/evaluation frame, not CM frame.
collisionCriteria/readInput_coll [ Subroutines ]
[ Top ] [ collisionCriteria ] [ Subroutines ]
NAME
subroutine readInput_coll
PURPOSE
Reads input out of jobcard "collCriteria".
INPUTS
none
OUTPUT
Modifies global module variables.
collisionCriteria/collCriteria [ Namelists ]
[ Top ] [ collisionCriteria ] [ Namelists ]
NAME
NAMELIST collCriteria
PURPOSE
Includes the input switches:
collisionCriteria/localCollisionCriteria [ Functions ]
[ Top ] [ collisionCriteria ] [ Functions ]
NAME
logical function localCollisionCriteria(pair,sigmaTot,weightLocal,numEnsembles,deltaT)
INPUTS
- type(particle),intent(in),dimension(1:2) :: pair -- Particles which should be checked for a possibility to collide
- real, intent(in) :: delta_T -- Time step size
- real, intent(in) :: sigmaTot -- total cross section in mb
- integer, intent(in) :: weightLocal -- rescaling factor for probability: p=p*weightLocal
- integer, intent(in) :: numEnsembles -- number of Ensembles
OUTPUT
- The function is true if the criterion is fullfilled, and false if not!
NOTES
This is based upon the prescription of Lang et al., i.e. the "local collision criterion".
localCollisionCriteria/protocol_prob [ Functions ]
[ Top ] [ localCollisionCriteria ] [ Functions ]
NAME
subroutine protocol_prob
PURPOSE
This subroutine is called if "debug=.true.". It stores all calculated probabilities in a histogram. After 1000 savings, it is writing the current histogram to file "CollisionProb.dat".
OUTPUT
- file "CollisionProb.dat"
collisionCriteria/kodama_position [ Functions ]
[ Top ] [ collisionCriteria ] [ Functions ]
NAME
logical function kodama_position(teilchen,bmax)
INPUTS
Particles which should be checked for a possibility to collide:
- type(particle),intent(in),dimension(1:2) :: teilchen
Maximal impact parameter:
- real, intent(in) :: bMax
NOTES
The particles' velocities and positions need to be properly defined! The notation is according to Effenberger's Dr. thesis page 251. This implements the criterion that the relative distance in space of two particles should be smaller than bMax in the CM-Frame of both particles.
OUTPUT
The function is true if the criterion is fullfilled, and false if not!
collisionCriteria/kodama_time [ Functions ]
[ Top ] [ collisionCriteria ] [ Functions ]
NAME
logical function kodama_time(teilchen,delta_T,collision_time)
INPUTS
Particles which should be checked for a possibility to collide:
- type(particle),intent(in),dimension(1:2) :: teilchen
Time step size:
- real, intent(in) :: delta_T
OUTPUT
- Time instant in the computational frame when the two particles collide (with respect to the current "BUU time" used for time stepping): real, optional, intent(out) :: collision_time
- The function is true if the criterion for tau_1 and tau_2 is fullfilled, and false if not!
NOTES
The notation is according to Effenberger's Dr. thesis pages 251-252. This function implements the criterion that the relative distance in time of two particles should fulfill Abs(tau_1+tau_2)<delta_T. This was first implemented by G.Wolf. The meanings of tau_1 and tau_2 are explained in Effenbergers thesis pages 251ff.