TABLE OF CONTENTS
- 1. /collisionCriteria
/collisionCriteria [ Modules ]
NAME
module collisionCriteria
PURPOSE
Includes routine to evaluate whether are 2-body collision among two particles is taking place
NOTES
Available are two different collision criterias:
- Local collision criteria: subroutine "localCollisionCriteria"
- Kodama or "geometric collision criteria": subroutines "kodama_position" and "kodama_time"
collisionCriteria/debug [ Global module-variables ]
[ Top ] [ collisionCriteria ] [ Global module-variables ]
SOURCE
logical, save :: 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 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
NOTES
Possible inputs to the jobcard are :
collisionCriteria/collCriteria [ Namelists ]
[ Top ] [ collisionCriteria ] [ Namelists ]
NAME
NAMELIST collCriteria
PURPOSE
Includes 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 criteria is fullfilled, and false if not!
NOTES
- This is based upon the prescription of Lang et al. = "Local collision criteria".
localCollisionCriteria/protocol_prob [ Functions ]
[ Top ] [ localCollisionCriteria ] [ Functions ]
NAME
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
Important: The teilchen's velocities and positions need to be properly defined!!
NOTES
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 criteria 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 criteria 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.