TABLE OF CONTENTS
- 1. /checks
- 1.1. checks/Do_CheckDensity
- 1.2. checks/Do_CheckCoulomb
- 1.3. checks/Do_CheckFermiSurface
- 1.4. checks/Do_CheckRadius
- 1.5. checks/Do_CheckMomentumDensity
- 1.6. checks/Do_CheckEnergyLDA
- 1.7. checks/Do_OccupiedReal
- 1.8. checks/Do_OccupiedPert
- 1.9. checks/Do_CheckEnergy
- 1.10. checks/Do_TachyonsReal
- 1.11. checks/Do_TachyonsPert
- 1.12. checks/TachyonIsBlocking
- 1.13. checks/Do_CheckPertFlag
- 1.14. checks/Do_CheckConservation
- 1.15. checks/ChecksSetDefaulSwitches
- 1.16. checks/ChecksSwitchRealRun
- 1.17. checks/ChecksSwitchGS
- 1.18. checks/Init
- 1.19. checks/Checks
- 1.20. checks/ChecksCallEnergy
- 1.21. checks/ChecksCallOccupied
- 1.22. checks/ChecksCallAll
- 1.23. checks/evaluateFermiSurface
- 1.24. checks/particleTrack
- 1.25. checks/particleTrack_byNumber
- 1.26. checks/occupied
- 1.27. checks/Occupation.dat
- 1.28. checks/checkPauli
- 1.29. checks/checkMomentumDensity
- 1.30. checks/Momentum_ttt.dat
- 1.31. checks/checkDensity
- 1.32. checks/Density_ttt.dat
- 1.33. checks/checkCoulomb
- 1.34. checks/checkPot
- 1.35. checks/checkRadius
- 1.36. checks/checkRadius_getAmplitude
- 1.37. checks/checkRadius_resetMinMax
- 1.38. checks/saveEpot
- 1.39. checks/checkEnergyLDA
- 1.40. checks/checkEnergyLDAWelke
- 1.41. checks/evaluateEnergy
- 1.42. checks/evaluateBindingEnergy_Teis
- 1.43. checks/checkTrajectories
- 1.44. checks/evaluateTimeStep
- 1.45. checks/evaluateTotal4Momentum_RMF
- 1.46. checks/CheckGridSize
- 1.47. checks/ChecksCallTachyon
- 1.48. checks/ChecksCallPertFlag
- 1.49. checks/CheckConservation
/checks [ Modules ]
NAME
module check
PURPOSE
Here some routines are collected, which do various checks, e.g. calculate the binding energy from the particle vector etc.
checks/Do_CheckDensity [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_CheckDensity = .false.
PURPOSE
Flag to indicate whether the density check routine should be called.
checks/Do_CheckCoulomb [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_CheckCoulomb = .false.
PURPOSE
Flag to indicate whether the Coulomb check routine should be called.
checks/Do_CheckFermiSurface [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_CheckFermiSurface = .false.
PURPOSE
Flag to indicate whether the Fermi-surface check routine should be called.
checks/Do_CheckRadius [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_CheckRadius = .false.
PURPOSE
Flag to indicate whether the radius check routine should be called.
checks/Do_CheckMomentumDensity [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_CheckMomentumDensity = .false.
PURPOSE
Flag to indicate whether the momentum-density check routine should be called.
checks/Do_CheckEnergyLDA [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_CheckEnergyLDA = .false.
PURPOSE
Flag to indicate whether the local density approximation check routine should be called.
checks/Do_OccupiedReal [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_OccupiedReal = .false.
PURPOSE
Flag to indicate whether the occupation check routine for the real particle vector should be called.
checks/Do_OccupiedPert [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_OccupiedPert = .false.
PURPOSE
Flag to indicate whether the occupation check routine for the perturbative particle vector should be called.
checks/Do_CheckEnergy [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_CheckEnergy = .false.
PURPOSE
Flag to indicate whether the energy check routine should be called.
checks/Do_TachyonsReal [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_TachyonsReal = .false.
PURPOSE
Flag to indicate whether the tachyon check routine for the real particle vector should be called.
checks/Do_TachyonsPert [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_TachyonsPert = .false.
PURPOSE
Flag to indicate whether the tachyon check routine for the perturbative particle vector should be called.
checks/TachyonIsBlocking [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: TachyonIsBlocking = .false.
PURPOSE
Select whether the occurrence of a 'tachyon' in the check routines will stop the code or not (error messages will hopefully occur later in the code).
checks/Do_CheckPertFlag [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_CheckPertFlag = .true.
PURPOSE
Flag to indicate whether the flag '%pert' is set correctly in the particle vectors
checks/Do_CheckConservation [ Global module-variables ]
[ Top ] [ checks ] [ Global module-variables ]
SOURCE
logical, save :: Do_CheckConservation = .false.
PURPOSE
Flag to indicate whether conservation of energy/momentum, baryon number and strangeness between time steps for the real particles should be checked
checks/ChecksSetDefaulSwitches [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine ChecksSetDefaulSwitches(eventtype)
PURPOSE
Set the default values of the switches "Do_Check*" according to the given eventtype.
NOTES
We repeat the specific codes snippet from GiBUU.f90, since not all conditions have been transported. Delete the commented lines after fulfilment.
checks/ChecksSwitchRealRun [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine ChecksSwitchRealRun(isReal)
PURPOSE
Set Do_OccupiedReal,Do_OccupiedPert
checks/ChecksSwitchGS [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine ChecksSwitchGS(isFrozen)
PURPOSE
Set the Flag, whether Ground State checks are only done at timestep 0 or for all timesteps.
checks/Init [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine init()
PURPOSE
Read the namelist "Checks".
checks/Checks [ Namelists ]
[ Top ] [ checks ] [ Namelists ]
NAME
NAMElist /Checks/
PURPOSE
Includes the following switches:
- Do_CheckDensity
- Do_CheckCoulomb
- Do_CheckFermiSurface
- Do_CheckRadius
- Do_CheckMomentumDensity
- Do_CheckEnergyLDA
- Do_OccupiedReal
- Do_OccupiedPert
- Do_CheckEnergy
- Do_TachyonsReal
- Do_TachyonsPert
- TachyonIsBlocking
- Do_CheckPertFlag
- Do_CheckConservation
checks/ChecksCallEnergy [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine ChecksCallEnergy(time, realParticles)
PURPOSE
This is one of the upper-level routines, called to check the energies.
Major switches: 'Do_CheckEnergy'
checks/ChecksCallOccupied [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine ChecksCallOccupied(realParticles,pertParticles,text)
PURPOSE
This is one of the upper level routines, called to check the occupansies of the real and perturbative particle vectors.
Major switches: 'Do_OccupiedReal', 'Do_OccupiedPert'
checks/ChecksCallAll [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine ChecksCallAll(timestep,time,realParticles,pertParticles)
PURPOSE
This is one of the upper level routines, called to perform major checks as indicated by the flags 'Do_Check???'.
NOTES
- Some test are done by other routines, as e.g. 'ChecksCallOccupied'
- This routine is called *before* 'GarbageCollection', thus you can not rely on the fact, that there are no holes in the particle vector.
checks/evaluateFermiSurface [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine evaluateFermiSurface(fileName)
PURPOSE
checks/particleTrack [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine particleTrack(p,name)
PURPOSE
Prints the track of a particle
checks/particleTrack_byNumber [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine particleTrack_byNumber(parts,number,time,DoNew)
PURPOSE
Prints the track of a particle with given number
checks/occupied [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine occupied(particleVector,name)
PURPOSE
Prints information, how many entries and of every ensemble is actually occupied by particles and the percentage of maximum occupation
checks/Occupation.dat [ Output files ]
[ Top ] [ checks ] [ Output files ]
NAME
file Occupation.dat
PURPOSE
Show how many entries of every ensemble is actually occupied by particles. If it is close to the maximal possible (lengthPert for perturbative runs), one should increase parameter length_Perturbative in the namelist "input". Columns:
- 1: ensemble number
- 2: occupation
checks/checkPauli [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine checkPauli(realparticles)
PURPOSE
checks/checkMomentumDensity [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine checkMomentumDensity(realParticles,filename)
PURPOSE
checks/Momentum_ttt.dat [ Output files ]
[ Top ] [ checks ] [ Output files ]
NAME
file Momentum_ttt.dat, ttt=000 - number of timesteps
PURPOSE
This files provides the momentum distribution n(p) in the target
The momentum-distribution is normalized such that \int n(p)*p^2 dp = 1
ttt gives the number of timesteps, ttt=000 describes initial groundstate Columns:
- #1: p [GeV]
- #2: n(p) [GeV^(-3)]
- #3: number of events in that bin
- #4: should be ignored
checks/checkDensity [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine checkDensity(realParticles,filename)
PURPOSE
checks/Density_ttt.dat [ Output files ]
[ Top ] [ checks ] [ Output files ]
NAME
file Density_ttt.dat, ttt=000 - number of timesteps
PURPOSE
This files provides the spatial density in the target
The momentum-distribution is normalized by the number of particles, i.e. the distribution given here is 4*pi*n(r)
ttt gives the number of timesteps, ttt=000 describes initial groundstate Columns:
- #1: p [GeV]
- #2: 1/N dN/r^2 dr [fm^(-3)]
- #3: number of events in that bin
- #4: should be ignored
checks/checkCoulomb [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine CheckCoulomb(filename)
PURPOSE
checks/checkPot [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine CheckPot
PURPOSE
checks/checkRadius [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine checkRadius(teilchen, time)
PURPOSE
Average radius over all particle vector
checks/checkRadius_getAmplitude [ Functions ]
[ Top ] [ checks ] [ Functions ]
NAME
subroutine checkRadius_getAmplitude()
PURPOSE
return the value (MaximalRadius-MinimalRadius)
checks/checkRadius_resetMinMax [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine checkRadius_resetMinMax()
PURPOSE
reset the values of MaximalRadius and MinimalRadius
checks/saveEpot [ Functions ]
[ Top ] [ checks ] [ Functions ]
NAME
real function saveEpot(E,rho,i)
PURPOSE
Sums the potential Enrgy of all nucleons
INPUTS
- real :: E -- energy
- real :: rho -- density
- logical :: i -- .true.: store; .false.: retrieve and delete
OUTPUT
Energy in units of MeV
checks/checkEnergyLDA [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine checkEnergyLDA(teilchen)
PURPOSE
checks/checkEnergyLDAWelke [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine checkEnergyLDAWelke(teilchen)
PURPOSE
checks/evaluateEnergy [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine evaluateEnergy(teilchen,time)
PURPOSE
print the averaged kinetic energy sqrt(p^2+m^2) and also p0 per time step
checks/evaluateBindingEnergy_Teis [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine evaluateBindingEnergy_Teis(teilchen, time)
PURPOSE
Print binding energy of all nucleons (no Coulomb effects included).
checks/checkTrajectories [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine checkTrajectories(teilchen)
PURPOSE
checks/evaluateTimeStep [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
PURPOSE
Compute time step using the frequency of two-body collisions
INPUTS
- integer :: iflag -- 1: use real-real counted collisions; 2: use real-perturbative counted collisions
- real :: coll_num -- allow .leq.coll_num collisions/particle
- real :: delta_T_max -- maximal allowed time step (fm/c)
- real :: time -- current time (fm/c)
OUTPUT
- real :: delta_T_new -- calculated time step
NOTES
If gridSpacing(3) < delta_T_max, the upper limit on the time step is chosen as gridSpacing(3). This is important for high energy HIC due to Lorentz contraction along z-axis.
checks/evaluateTotal4Momentum_RMF [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
PURPOSE
Compute the total energy and momentum of the system within the relativistic mean field model.
INPUTS
- type(particle), dimension(:,:), intent(in) :: teilchen ! particle array
- real, intent(in) :: time ! current time (fm/c)
OUTPUT
Prints out the total 4-momentum vs time.
checks/CheckGridSize [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
PURPOSE
Checks if real particles start to escape out of grid.
INPUTS
- type(particle), dimension(:,:) :: teilchen -- particle array
- real :: time -- current time (fm/c)
- real :: time_max -- max. time of simulation (fm/c)
- integer :: TheEventType -- Eventclass
- real :: gridSpacing -- size of cells
- real :: gridSize -- Size of the box
checks/ChecksCallTachyon [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine ChecksCallTachyon(Parts,Text)
PURPOSE
This routine checks, whether particles with m_eff^2 = abs4Sq(momentum) < 0 exist. These are called 'tachyons' in this context.
If the parameter 'TachyonIsBlocking' is set, this routines stops when tachyons occured.
checks/ChecksCallPertFlag [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine ChecksCallPertFlag(particles, flag)
PURPOSE
This routine checks, whether the particle property '%pert' is set to the given value (.true./.false.( for all particles
checks/CheckConservation [ Subroutines ]
[ Top ] [ checks ] [ Subroutines ]
NAME
subroutine CheckConservation(particles)
PURPOSE
This routine checks the conservation of energy/momentum, baryon number and strangeness between time steps.
NOTES
- This routine only does its job when called with 'realParticles'
- Decays including photons violate energy/momentum conservation. You may switch these off by setting FileNameDecayChannels = "DecayChannels.noPhotonicMeson.dat" in the namelist 'initDatabase'