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/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:


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

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

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

  • 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(:,:) :: 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

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

INPUTS

type(particle),intent(inout) :: part


propagation/checkVelos [ Subroutines ]

[ Top ] [ propagation ] [ Subroutines ]

NAME

subroutine checkVelos(part)

PURPOSE

INPUTS

type(particle),dimension(:,:),intent(inout) :: part