TABLE OF CONTENTS
- 1. /propagation
- 1.1. propagation/Mode
- 1.2. propagation/delta_E
- 1.3. propagation/delta_P
- 1.4. propagation/UseCoulombDirectly
- 1.5. propagation/UseHadronic
- 1.6. propagation/dh_dp0_switch
- 1.7. propagation/RungeKuttaOrder
- 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/Mode [ Global module-variables ]
[ Top ] [ propagation ] [ Global module-variables ]
SOURCE
integer, save :: Mode = 2
PURPOSE
define the type of propagation:
- 0: Cascade
- 1: Euler
- 2: PredictorCorrector
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/UseCoulombDirectly [ 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 :: UseCoulombDirectly=.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/RungeKuttaOrder [ Global module-variables ]
[ Top ] [ propagation ] [ Global module-variables ]
PURPOSE
Order of Runge-Kutta in derivatives:
- 1 = first order Runge-Kutta
- 2 = second order Runge-Kuttay
SOURCE
integer, save :: RungeKuttaOrder=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
- UseCoulombDirectly
- UseHadronic
- RungeKuttaOrder
- Mode
- dh_dp0_switch
- offShellInfoDetail
- tachyonDebug
propagation/gradients [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine gradients(part,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(realPart, pertPart, delta_T, timeStep)
PURPOSE
This routine propagates the particle vectors.
INPUTS
- type(particle),intent(inOUT),dimension(:,:) :: realPart -- real particle vector which should be propagated
- type(particle),intent(inOUT),dimension(:,:) :: pertPart -- 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(:,:) :: realPart
- type(particle),intent(inOUT),dimension(:,:) :: pertPart
NOTES
- Uses cascade, Euler or predictor-corrector time stepping.
propagation/setMass [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine setMass(Parts)
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) :: Parts
OUTPUT
- type(particle),dimension(:,:),intent(inout) :: Parts
propagation/predictorStep [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine predictorStep(Parts,gradP,gradR,delta_T)
PURPOSE
INPUTS
- real, intent(in) :: delta_T
OUTPUT
type(particle),intent(inOut),dimension(:,:) :: Parts -- 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(Parts,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(:,:) :: Parts -- particle vector at predicted values
OUTPUT
NOTES
- Used as corrector step in a predictor/corrector scheme
propagation/propagate_euler [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine propagate_euler(Parts,delta_T)
PURPOSE
INPUTS
- type(particle),intent(inOUT),dimension(:,:) :: Parts -- particle vector which should be propagated
- real, intent(in) :: delta_T ! time step (fm/c)
OUTPUT
NOTES
- Uses simple Euler time stepping. See also files in "Documentation_Extra/propagation/".
propagation/propagate_cascade [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine propagate_cascade(Parts,delta_T)
PURPOSE
Routine propagates particles in case of cascade mode. Useful also for doing initial step in the RMF mode.
INPUTS
- type(particle), dimension(:,:) :: Parts -- particles which should be propagated
- real :: delta_T -- time step (fm/c)
OUTPUT
- type(particle), dimension(:,:) :: Parts
NOTES
Straight line trajectories; no momentum change (mean fields switched off).
propagation/checkVelo [ Functions ]
[ Top ] [ propagation ] [ Functions ]
NAME
logical function checkVelo(part)
PURPOSE
Checks the velocity of a given particle
INPUTS
- type(particle),intent(inout) :: part
NOTES
- Also does some statistical stuff
propagation/checkVelos [ Subroutines ]
[ Top ] [ propagation ] [ Subroutines ]
NAME
subroutine checkVelos(part)
PURPOSE
Checks the velocities
INPUTS
*type(particle),dimension(:,:),intent(inout) :: part