gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/propagation [ Modules ]

[ Top ] [ 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/FreezeNonint [ Global module-variables ]

[ Top ] [ propagation ] [ Global module-variables ]

SOURCE

  logical, save :: FreezeNonint=.false.

PURPOSE

If switched on, the real particles which did not interact will have zero velocities, i.e. will be "frozen". This is important for stability of the nuclear ground state in real particle simulations. Note that this flag influences only when freezeRealParticles=.false.


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:


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

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

  • Routine performs a corrector step on a particle vector previously undergoing a simple Euler method.

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

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