TABLE OF CONTENTS
- 1. /propagation
- 1.1. propagation/predictorCorrector
- 1.2. propagation/delta_E
- 1.3. propagation/delta_P
- 1.4. propagation/UseCoulomb
- 1.5. propagation/UseHadronic
- 1.6. propagation/dh_dp0_switch
- 1.7. propagation/DerivativeType
- 1.8. propagation/offShellInfo
- 1.9. propagation/offShellInfoDetail
- 1.10. propagation/tachyonDebug
- 1.11. propagation/updateVelocity
- 1.12. propagation/init
- 1.13. propagation/Propagation
- 1.14. propagation/gradients
- 1.15. propagation/propagate
- 1.16. propagation/setMass
- 1.17. propagation/predictorStep
- 1.18. propagation/correctorStep
- 1.19. propagation/propagate_euler
- 1.20. propagation/propagate_cascade
- 1.21. propagation/checkVelo
- 1.22. propagation/checkVelos
/propagation [ Modules ]
NAME
module propagation
PURPOSE
Module which includes the propagation of the test-particles.
propagation/predictorCorrector [ Global module-variables ]
[ Top ] [ propagation ] [ Global module-variables ]
PURPOSE
Switch for predictor-corrector method in the propagation. If .false. then simple Euler method is used.
SOURCE
logical, save :: predictorCorrector=.true.
propagation/delta_E [ Global module-variables ]
[ Top ] [ propagation ] [ Global module-variables ]
PURPOSE
Delta energy in derivatives
SOURCE
real, save :: delta_E=0.01
propagation/delta_P [ Global module-variables ]
[ Top ] [ propagation ] [ Global module-variables ]
PURPOSE
Delta Momentum in derivatives
SOURCE
real, save :: delta_P=0.01
propagation/UseCoulomb [ Global module-variables ]
[ Top ] [ propagation ] [ Global module-variables ]
PURPOSE
Whether to use coulomb force directly in propagation or not. (If switched off while coulomb is switched on in module coulomb, the effect of the coulomb potential comes in via the gradient of the potentials. With this flag you can not switch on/off coulomb, you just select, how it is treated.)
SOURCE
logical, save :: UseCoulomb=.true.
propagation/UseHadronic [ Global module-variables ]
[ Top ] [ propagation ] [ Global module-variables ]
PURPOSE
Whether to use hadronic potentials in propagation
SOURCE
logical, save :: UseHadronic=.true.
propagation/dh_dp0_switch [ Global module-variables ]
[ Top ] [ propagation ] [ Global module-variables ]
PURPOSE
Switch which decides whether we use dh_dp0.
SOURCE
logical, save :: dh_dp0_switch=.true.
propagation/DerivativeType [ Global module-variables ]
[ Top ] [ propagation ] [ Global module-variables ]
PURPOSE
1=first order Runge-Kutta, 2=second order Runge-Kutta in derivatives
SOURCE
integer, save :: DerivativeType=1
propagation/offShellInfo [ Global module-variables ]
[ Top ] [ propagation ] [ Global module-variables ]
PURPOSE
print out offShellInfo: set to .true. automatically if offShellTransport is used
SOURCE
logical,save :: offShellInfo=.false.
propagation/offShellInfoDetail [ Global module-variables ]
[ Top ] [ propagation ] [ Global module-variables ]
PURPOSE
print out detailed offShellInfo
SOURCE
logical,save :: offShellInfoDetail=.false.
propagation/tachyonDebug [ Global module-variables ]
[ Top ] [ propagation ] [ Global module-variables ]
PURPOSE
...
SOURCE
logical,save :: tachyonDebug=.false.
propagation/updateVelocity [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine updateVelocity(teilchen)
PURPOSE
Updates velocities of a single particle or a field of particles and checks for v<c.
INPUTS
- type(particle),intent(inOut), dimension(:,:) :: teilchen
or:
- type(particle),intent(inOut), dimension(:) :: teilchen
or:
- type(particle),intent(inOut) :: teilchen
propagation/init [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine init
PURPOSE
Reads out namelist "propagation"
INPUTS
- (none)
OUTPUT
- Initializes global module variables
propagation/Propagation [ Namelists ]
[ Top ] [ propagation ] [ Namelists ]
NAME
NAMELIST propagation
PURPOSE
Namelist which includes the input switches:
- delta_P
- delta_E
- UseCoulomb
- UseHadronic
- DerivativeType
- predictorCorrector
- dh_dp0_switch
- offShellInfoDetail
- tachyonDebug
propagation/gradients [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine gradients(teilchen,Grad_P,Grad_R)
PURPOSE
determine gradients of the Hamiltonfunction
INPUTS
OUTPUT
- real, dimension(1:3) :: Grad_P -- momentum gradient
- real, dimension(0:3) :: Grad_R -- space gradients =(d/dt , d/dr(1:3) ) [Note that there is no minus sign!!]
propagation/propagate [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine propagate (realTeilchen, pertTeilchen, delta_T, timeStep)
PURPOSE
This routine propagates the particle vectors.
INPUTS
- type(particle),intent(inOUT),dimension(:,:) :: realTeilchen -- real particle vector which should be propagated
- type(particle),intent(inOUT),dimension(:,:) :: pertTeilchen -- perturbative particle vector which should be propagated
- real, intent(in) :: delta_T -- time step size (fm/c)
- integer,intent(in) :: timeStep -- time step number
OUTPUT
- type(particle),intent(inOUT),dimension(:,:) :: realTeilchen -- real particle vector which should be propagated
- type(particle),intent(inOUT),dimension(:,:) :: pertTeilchen -- perturbative particle vector which should be propagated
NOTES
- Uses predictor corrector scheme or simple Euler time stepping. See also files in "Documentation_Extra/propagation/".
propagation/setMass [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine setmass(part)
PURPOSE
- Resets %mass according to the offshell parameter and the actual momentum and position of the particle.
- if particles is NOT meant to be treated offshell, nothing is changed.
INPUTS
type(particle),dimension(:,:),intent(inout) :: part
OUTPUT
type(particle),dimension(:,:),intent(inout) :: part
propagation/predictorStep [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine predictorStep(teilchen,gradP,gradR,delta_T)
PURPOSE
INPUTS
- real, intent(in) :: delta_T
OUTPUT
type(particle),intent(inOut),dimension(:,:) :: teilchen -- vector at predicted position and momentum real, dimension(:,:,:),intent(out) :: gradR, gradP ! Gradients in R and P-Space
NOTES
- Used as predictor step in a predictor/corrector scheme
propagation/correctorStep [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine correctorStep(teilchen,gradP,gradR,delta_T)
PURPOSE
INPUTS
- real, intent(in) :: delta_T
- real, dimension(:,:,:),intent(out) :: gradR, gradP ! Gradients in R and P-Space of predictor step
- type(particle),intent(inOut),dimension(:,:) :: teilchen -- particle vector at predicted values
OUTPUT
type(particle),intent(inOut),dimension(:,:) :: teilchen -- particle vector at t+Delta(t)
NOTES
- Used as corrector step in a predictor/corrector scheme
propagation/propagate_euler [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine propagate_euler(teilchen,delta_T)
PURPOSE
INPUTS
- type(particle),intent(inOUT),dimension(:,:) :: teilchen -- particle vector which should be propagated
- real, intent(in) :: delta_T ! time step (fm/c)
OUTPUT
- type(particle),intent(inOUT),dimension(:,:) :: teilchen -- particle vector which should be propagated
NOTES
- Uses simple Euler time stepping. See also files in "Documentation_Extra/propagation/".
propagation/propagate_cascade [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine propagate_cascade(teilchen,delta_T)
PURPOSE
Routine propagates particles in case of cascade mode. Useful also for doing initial step in the RMF mode. INPUTS/Results type(particle), dimension(:,:) :: teilchen ! particles which should be propagated real, intent(in) :: delta_T ! time step (fm/c)
NOTES
Straight line trajectories, no momentum change, since mean fields are switched off.
propagation/checkVelo [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine checkVelo(part)
PURPOSE
- Checks the velocity
INPUTS
type(particle),intent(inout) :: part
propagation/checkVelos [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine checkVelos(part)
PURPOSE
- Checks the velocities
INPUTS
type(particle),dimension(:,:),intent(inout) :: part