TABLE OF CONTENTS
- 1. /initBox
- 1.1. initBox/thermalInit
- 1.2. initBox/nDens
- 1.3. initBox/ChargeSelection
- 1.4. initBox/pInit
- 1.5. initBox/BoostZ
- 1.6. initBox/Temp
- 1.7. initBox/Fugacity
- 1.8. initBox/correctMovingBox
- 1.9. initBox/noAnti
- 1.10. initBox/coldMatter
- 1.11. initBox/rhoP
- 1.12. initBox/rhoN
- 1.13. initBox/useOffShell
- 1.14. initBox/initInput
- 1.15. initBox/Box
- 1.16. initBox/initializeBox
- 1.16.1. initializeBox/doThermal
- 1.16.2. initializeBox/doThermalGlobal
- 1.16.3. initializeBox/doNonThermal
- 1.16.4. initializeBox/doColdMatter
- 1.16.5. initializeBox/prepareChooseCharge1
- 1.16.6. initializeBox/prepareChooseCharge1minus
- 1.16.7. initializeBox/prepareChooseCharge1plus
- 1.16.8. initializeBox/prepareChooseCharge2minus
- 1.16.9. initializeBox/prepareChooseCharge2zero
- 1.16.10. initializeBox/prepareChooseCharge2plus
- 1.16.11. initializeBox/prepareChooseCharge3
- 1.16.12. initializeBox/prepareChooseCharge4minus
- 1.16.13. initializeBox/prepareChooseCharge4plus
- 1.16.14. initializeBox/chooseCharge
- 1.16.15. initializeBox/choosePosition
- 1.16.16. initializeBox/chooseMomentum
- 1.16.17. initializeBox/chooseMomentumTherm
- 1.16.18. initializeBox/chooseMomentumFermi
- 1.16.19. initializeBox/calcSumGlobal
- 1.16.20. initializeBox/doCorrectMovingBoxGlobalRescale
- 1.16.21. initializeBox/doCorrectMovingBoxEnsembleRescale
- 1.16.22. initializeBox/doCorrectMovingBoxGlobalRotate
- 1.16.23. initializeBox/doCorrectMovingBoxEnsembleRotate
/initBox [ Modules ]
NAME
module initBox
PURPOSE
Initializes particles within a box
initBox/thermalInit [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
logical, save :: thermalInit = .false.
PURPOSE
flag how to initialize
initBox/nDens [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
real, save :: nDens = 1.0
PURPOSE
particle density [fm^-3]
initBox/ChargeSelection [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
integer, save :: ChargeSelection = 0
PURPOSE
define the type of the charge selection:
- 0: only pi0
- 1: 50% pi+, 50% pi-
- 2: 33% for +,0,-
initBox/pInit [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
real, save :: pInit = 0.5
PURPOSE
initial momentum of particles [GeV/c]
initBox/BoostZ [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
real, save :: BoostZ = 0.0
PURPOSE
additional boost for all particles in z-direction
initBox/Temp [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
real, dimension(1:122), save :: Temp = 0.0
PURPOSE
for thermal init: temperature of every meson species in GeV, if larger than 0. otherwise this species is not initialized
initBox/Fugacity [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
real, dimension(1:122), save :: Fugacity = 1.0
PURPOSE
for thermal init: fugacity of every hadron species.
initBox/correctMovingBox [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
integer, save :: correctMovingBox = -2
PURPOSE
switch to indicate, whether a correction of the momenta after initialization should be done to enforce vanishing 3-momenta. possibilities are:
- -2: set to 3,4 according inputGeneral::fullEnsemble
- -1: set to 1,2 according inputGeneral::fullEnsemble
- 0 : no correction
- 1 : global correction (rescaling)
- 2 : per ensemble correction (rescaling)
- 3 : global correction (rotating)
- 4 : per ensemble correction (rotating)
initBox/noAnti [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
logical, save :: noAnti = .false.
PURPOSE
if .true., no antiparticles will be initialized in thermal init
initBox/coldMatter [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
logical, save :: coldMatter = .false.
PURPOSE
if .true., matter at T=0 will be initialised according rhoP and rhoN
initBox/rhoP [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
real, save :: rhoP = -99.9
PURPOSE
proton density for cold matter
initBox/rhoN [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
real, save :: rhoN = -99.0
PURPOSE
neutron density for cold matter
initBox/useOffShell [ Global module-variables ]
[ Top ] [ initBox ] [ Global module-variables ]
SOURCE
logical, save :: useOffShell = .false.
PURPOSE
initialize cold matter box with offshell nucleons
initBox/initInput [ Subroutines ]
[ Top ] [ initBox ] [ Subroutines ]
NAME
subroutine initInput
PURPOSE
Reads input out of jobcard. Namelist 'initBox'.
initBox/Box [ Namelists ]
[ Top ] [ initBox ] [ Namelists ]
NAME
NAMELIST Box
PURPOSE
Includes the input parameters:
- thermalInit
- nDens
- ChargeSelection
- pInit
- BoostZ
- Temp
- Fugacity
- correctMovingBox
- noAnti
- coldMatter
- rhoP
- rhoN
- useOffShell
initBox/initializeBox [ Subroutines ]
[ Top ] [ initBox ] [ Subroutines ]
NAME
subroutine initializeBox(part)
PURPOSE
Initialize nucleons in a box
initializeBox/doThermal [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine doThermal
PURPOSE
Do the thermal init
initializeBox/doThermalGlobal [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine doThermalGlobal
PURPOSE
Do the thermal init
initializeBox/doNonThermal [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine doNonThermal
PURPOSE
Do the non-thermal init
initializeBox/doColdMatter [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine doColdMatter
PURPOSE
Do the non-thermal init for cold matter
initializeBox/prepareChooseCharge1 [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine prepareChooseCharge1(nTot)
PURPOSE
prepare the random selection of the charges: (-2,-1,0,+1,+2) = ( - , - , 100%, - , - )
initializeBox/prepareChooseCharge1minus [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine prepareChooseCharge1minus(nTot)
PURPOSE
prepare the random selection of the charges: (-2,-1,0,+1,+2) = ( - , 100%, - , - , - )
initializeBox/prepareChooseCharge1plus [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine prepareChooseCharge1plus(nTot)
PURPOSE
prepare the random selection of the charges: (-2,-1,0,+1,+2) = ( - , 100%, - , - , - )
initializeBox/prepareChooseCharge2minus [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine prepareChooseCharge2minus(nTot)
PURPOSE
prepare the random selection of the charges: (-2,-1,0,+1,+2) = ( - , 50%, 50%, - , - ) If the total number of particles is not even, the number of neutral particles is increased by one
initializeBox/prepareChooseCharge2zero [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine prepareChooseCharge2zero(nTot)
PURPOSE
prepare the random selection of the charges: (-2,-1,0,+1,+2) = ( -, 50%, - , 50%, - ) If the total number of particles is not even, the number of negative particles is increased by one, thus the symmetry is broken (but who cares?)
initializeBox/prepareChooseCharge2plus [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine prepareChooseCharge2plus(nTot)
PURPOSE
prepare the random selection of the charges: (-2,-1,0,+1,+2) = ( -, - , 50%, 50%, - ) If the total number of particles is not even, the number of neutral particles is increased by one
initializeBox/prepareChooseCharge3 [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine prepareChooseCharge3(nTot)
PURPOSE
prepare the random selection of the charges: (-2,-1,0,+1,+2) = ( - , 33%, 33%, 33%, - ) If the total number of particles is not dividable by 3, the number of neutral or the number of both charged states is increased by one in order to get the total number of particles, but always in charge neutral sum.
initializeBox/prepareChooseCharge4minus [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine prepareChooseCharge4minus(nTot)
PURPOSE
prepare the random selection of the charges: (-2,-1,0,+1,+2) = ( 25%, 25%, 25%, 25%, - ) If the total number of particles is not a multiple of 4, the number of particles is increased such that the overall charge is not modified
initializeBox/prepareChooseCharge4plus [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine prepareChooseCharge4plus(nTot)
PURPOSE
prepare the random selection of the charges: (-2,-1,0,+1,+2) = ( -, 50%, 50%, 50%, 50% ) If the total number of particles is not a multiple of 4, the number of particles is increased such that the overall charge is not modified
initializeBox/chooseCharge [ Functions ]
[ Top ] [ initializeBox ] [ Functions ]
NAME
integer function chooseCharge()
PURPOSE
Return a charge randomly selected according the numbers given in the array nCharge
initializeBox/choosePosition [ Functions ]
[ Top ] [ initializeBox ] [ Functions ]
NAME
function choosePosition()
PURPOSE
Set the position of the particle randomly in the box
RESULT
- real, dimension(1:3) : function value
initializeBox/chooseMomentum [ Functions ]
[ Top ] [ initializeBox ] [ Functions ]
NAME
subroutine chooseMomentum(mass)
PURPOSE
Return a momentum of the particle within the non-thermal init. The direction is choosen isotropically, while the absolute value is fixed.
initializeBox/chooseMomentumTherm [ Functions ]
[ Top ] [ initializeBox ] [ Functions ]
NAME
subroutine chooseMomentumTherm(mass)
PURPOSE
Set the momentum of the particle within the thermal init. The direction is choosen isotropically. The absolute value of the momentum is choosen according a relativistic Maxwell distribution.
The Maxwell distribution has to be initialized before!
initializeBox/chooseMomentumFermi [ Functions ]
[ Top ] [ initializeBox ] [ Functions ]
NAME
subroutine chooseMomentumFermi(mass)
PURPOSE
Return a momentum of the particle within the non-thermal init. The direction is choosen isotropically, while the absolute value is randomly chosen between 0 and p_F
initializeBox/calcSumGlobal [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine calcSumGlobal
PURPOSE
calculate the sums of many observables from all particles
initializeBox/doCorrectMovingBoxGlobalRescale [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine doCorrectMovingBoxGlobalRescale
PURPOSE
correct momenta on a global basis by rescaling the abs values
initializeBox/doCorrectMovingBoxEnsembleRescale [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine doCorrectMovingBoxEnsembleRescale
PURPOSE
correct momenta for every single ensemble by rescaling the abs values
initializeBox/doCorrectMovingBoxGlobalRotate [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine doCorrectMovingBoxGlobalRotate
PURPOSE
correct momenta on a global basis by rotating the directions
This routine loops over all all particles and replaces randomly the direction of their momentum, if the total momentum gets smaller by this.
The number of loops is chosen as '???'
initializeBox/doCorrectMovingBoxEnsembleRotate [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine doCorrectMovingBoxEnsembleRotate
PURPOSE
correct momenta for every single ensemble by rotating the directions