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/initInput
- 1.10. initBox/Box
- 1.11. initBox/initializeBox
- 1.11.1. initializeBox/doThermal
- 1.11.2. initializeBox/doThermalGlobal
- 1.11.3. initializeBox/doNonThermal
- 1.11.4. initializeBox/prepareChooseCharge1
- 1.11.5. initializeBox/prepareChooseCharge1minus
- 1.11.6. initializeBox/prepareChooseCharge1plus
- 1.11.7. initializeBox/prepareChooseCharge2minus
- 1.11.8. initializeBox/prepareChooseCharge2zero
- 1.11.9. initializeBox/prepareChooseCharge2plus
- 1.11.10. initializeBox/prepareChooseCharge3
- 1.11.11. initializeBox/prepareChooseCharge4minus
- 1.11.12. initializeBox/prepareChooseCharge4plus
- 1.11.13. initializeBox/chooseCharge
- 1.11.14. initializeBox/choosePosition
- 1.11.15. initializeBox/chooseMomentum
- 1.11.16. initializeBox/chooseMomentumTherm
- 1.11.17. initializeBox/calcSumGlobal
- 1.11.18. initializeBox/doCorrectMovingBoxGlobal
- 1.11.19. initializeBox/doCorrectMovingBoxEnsemble
/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 = 1
PURPOSE
switch to indicate, whether a correction of the momenta after initialization should be done to enforce vanishing 3-momenta. possibilities are:
- 0 : no correction
- 1 : global correction
- 2 : per ensemble correction
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:
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/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/calcSumGlobal [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine calcSumGlobal
PURPOSE
calculate the sums of many observables from all particles
initializeBox/doCorrectMovingBoxGlobal [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine doCorrectMovingBoxGlobal
PURPOSE
correct momenta on a global basis
initializeBox/doCorrectMovingBoxEnsemble [ Subroutines ]
[ Top ] [ initializeBox ] [ Subroutines ]
NAME
subroutine doCorrectMovingBoxEnsemble
PURPOSE
correct momenta for every single ensemble