gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/Coulomb [ Modules ]

[ Top ] [ Modules ]

NAME

module Coulomb

PURPOSE

Includes all routines and global variables which are necessary for the evaluation of a Coulomb potential out of a charge configuration.

NOTES

  • The coulomb routines use now the same spatial grid as that extracted in the module "densityModule".
  • New ADI routines are used to solve the Poisson equation on the grid.


Coulomb/coulombField [ Global module-variables ]

[ Top ] [ Coulomb ] [ Global module-variables ]

SOURCE

  real(singlePrecision), save, allocatable, dimension(:,:,:,:) :: coulombField

PURPOSE

The Coulomb field A^{\mu}(\vec{r}) = (\phi(\vec{r}),\vec{A}(\vec{r})) Indizes:

  • 1-3: components on the 3D-Grid: x,y,z--coordinate
  • 4: Lorentz-components: 0th entry is the static coulomb field, while entries 1:3 represent the magnet field. (The magnetic filed is not yet implemented !)


Coulomb/coulombFlag [ Global module-variables ]

[ Top ] [ Coulomb ] [ Global module-variables ]

SOURCE

  logical, save :: coulombFlag = .false.

PURPOSE

Switch to turn on/off the Coulomb potential. If turned on, also 'symmetriePotFlag' (in namelist 'baryonPotential') needs to be turned on.


Coulomb/magnetFieldFlag [ Global module-variables ]

[ Top ] [ Coulomb ] [ Global module-variables ]

SOURCE

  logical, save :: magnetFieldFlag=.false.

PURPOSE

Switch to turn on/off elm. vector potential.

NOTES

The vector potential is not yet fully implemented! Please do not use this option.


Coulomb/cutMomentumPotential [ Global module-variables ]

[ Top ] [ Coulomb ] [ Global module-variables ]

SOURCE

  real, save :: cutMomentumPotential = 0.025 ! in GeV

PURPOSE

If larger than 0, the coulomb potential is set to zero for all particles with momentum larger than minmass**2/(2*cutMomentumPotential) The cut-off is smeared out, if cutMomentumWidth>0

This cut is needed in non-RMF mode since

   m_eff^2 = (sqrt(m^2+p^2)+U_C)^2-p^2 can

become smaller than zero for

   p > U_C/2 - m^2/(2*U_C).

In this case we have a 'tachyon'.

NOTES

  • for RMF mode you do not need this cut
  • This value should correspond to the maximum vale of the Coulomb potential. Therefore you should readjust this for every nucleus.
  • For the pion, we take the mass (0.138) instead of minmass, since here minmass is zero!


Coulomb/cutMomentumWidth [ Global module-variables ]

[ Top ] [ Coulomb ] [ Global module-variables ]

SOURCE

  real, save :: cutMomentumWidth = 0.100 ! in GeV

PURPOSE

If cutMomentumPotential>0 and cutMomentumWidth>0, then the cut-off is smeared by some linear interpolation:

   (At-Width) = 1.0 ... (At+Width) = 0.0

with At = minmass**2/(2*cutMomentumPotential) and the width given here in GeV.

This width is introduced in order to destroy numerical problems due to sharp edges.


Coulomb/K_ADI [ Global module-variables ]

[ Top ] [ Coulomb ] [ Global module-variables ]

SOURCE

  real, save, allocatable, dimension(:,:,:) :: K_ADI

PURPOSE

auxiliary arrays needed for ADI routines (see also ADI.f90)


Coulomb/U_ADI [ Global module-variables ]

[ Top ] [ Coulomb ] [ Global module-variables ]

SOURCE

  real, save, allocatable, dimension(:,:,:) :: U_ADI

PURPOSE

auxiliary arrays needed for ADI routines (see also ADI.f90)


Coulomb/chatot [ Global module-variables ]

[ Top ] [ Coulomb ] [ Global module-variables ]

SOURCE

  real, SAVE :: chatot

PURPOSE

Total charge density (needed for calculating coulomb outside of grid)


Coulomb/rchar [ Global module-variables ]

[ Top ] [ Coulomb ] [ Global module-variables ]

SOURCE

  real, dimension(1:3), SAVE :: rchar

PURPOSE

Position of total charge (needed for calculating coulomb outside of grid)


Coulomb/getCoulombFlag [ Subroutines ]

[ Top ] [ Coulomb ] [ Subroutines ]

NAME

logical function getCoulombFlag()

PURPOSE

Return the value of 'coulombFlag'.


Coulomb/initCoulombReading [ Subroutines ]

[ Top ] [ Coulomb ] [ Subroutines ]

NAME

subroutine initCoulombReading

PURPOSE

initialize the module, read namelist 'coulomb'


Coulomb/coulomb [ Namelists ]

[ Top ] [ Coulomb ] [ Namelists ]

NAME

NAMELIST /coulomb/

PURPOSE

Includes the switches:


Coulomb/cleanUp [ Subroutines ]

[ Top ] [ Coulomb ] [ Subroutines ]

PURPOSE

Deallocate all fields


Coulomb/emfoca [ Functions ]

[ Top ] [ Coulomb ] [ Functions ]

NAME

real function emfoca(position, momentum, chargeIn, ID, emForce)

PURPOSE

This routine calculates the electromagnetic forces acting on a particle (baryon or meson).

INPUTS

RESULT

  • real :: cpot -- electromagn. potential (in GeV)
  • real, dimension(1:3), OPTIONAL :: emForce-- electromagn. force (in GeV/fm)


Coulomb/coulomb_ADI [ Subroutines ]

[ Top ] [ Coulomb ] [ Subroutines ]

NAME

subroutine coulomb_ADI

PURPOSE

This routine calculates coulomb field on the grid using ADI methods


Coulomb/Get_TotalCharge [ Subroutines ]

[ Top ] [ Coulomb ] [ Subroutines ]

NAME

subroutine Get_TotalCharge

PURPOSE

This routine calculates the total charge Q & its center R_Q.


Coulomb/updateCoulomb [ Subroutines ]

[ Top ] [ Coulomb ] [ Subroutines ]

NAME

subroutine updateCoulomb

PURPOSE

Updates the coulomb field values. Necessary to call it in each time step

INPUTS

none