gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/nucleusDefinition [ Modules ]

[ Top ] [ Modules ]

NAME

module nucleusDefinition

PURPOSE

Define structure "tNucleus".

NOTES

Because of internal module dependencies we do not include any routines working with/on the defined objects in this module but rather give them in the module "nucleus".


nucleusDefinition/tNucleus [ Types ]

[ Top ] [ nucleusDefinition ] [ Types ]

SOURCE

  type, public :: tNucleus
     real,dimension(0:2) :: radius = 0.  ! 0: baryon, 1: p, 2: n
     real,dimension(0:2) :: surface = 0. ! 0: baryon, 1: p, 2: n
     real,dimension(0:2) :: density = 0. ! 0: baryon, 1: p, 2: n
     real,dimension(1:3) :: pos = 0.  ! position in calculation frame
     real,dimension(1:3) :: vel = 0.  ! velocity in calculation frame
     integer   :: mass = 0            ! in units of nucleon masses
     integer   :: charge = 0
     logical   :: fermiMotion=.true.  ! switch to turn on/off FermiMotion

     logical   :: DoInit =.true.      ! if true, then first initialize !

     integer   :: densitySwitch_static = 3
     real      :: fermiMomentum_input = 0.225
     real,dimension(1:2) :: radius_input = -99.9
     real,dimension(1:2) :: surface_input = -99.9

     integer   :: MaxIndex = maxIndex_def
     real      :: dx       = dx_def
     real,dimension(0:maxIndex_def,0:2) :: densTab = 0. ! 0: baryon, 1: p, 2: n

     real      :: MaxDist = 0.   ! Distance-CutOff: dens < 1e-6
     real      :: MaxDens(2)=0.  ! maximum of densTab

     real      :: chemPot = 0.  ! 'chemical' pot. for LDA (relative units of E0)
     logical   :: ReAdjustForConstBinding = .false.
     real      :: ConstBinding = 0.
     real,dimension(2) :: fac = 0. ! scaling factors in Readjust

     logical   :: anti = .FALSE. ! true if antinucleus
     logical   :: doPrintGlauber = .false.


   contains
     procedure :: writeParams
     procedure :: writeStaticDens
     procedure :: writeAverageDens
     procedure :: staticDens
     procedure :: searchMaxVals
     procedure :: printGlauber
     procedure :: classicalEstimate

  end type tNucleus

PURPOSE

This type stores informations about nuclei, namely target and projectile.

NOTES

Following parameters are valid for all density parametrisations:

parameters for Woods-Saxon:

  • radius
  • surface
  • density


nucleusDefinition/writeParams [ Subroutines ]

[ Top ] [ nucleusDefinition ] [ Subroutines ]

NAME

subroutine writeParams(this)

PURPOSE

write the main parameters to stdout

INPUTS

none

OUTPUT

written to stdout


nucleusDefinition/writeStaticDens [ Subroutines ]

[ Top ] [ nucleusDefinition ] [ Subroutines ]

NAME

subroutine writeStaticDens(this, filename)

PURPOSE

write the static density to file


nucleusDefinition/staticDens [ Functions ]

[ Top ] [ nucleusDefinition ] [ Functions ]

NAME

real function staticDens(this,r,iType)

PURPOSE

return value of the tabulated nuclear density

INPUTS

  • real :: r -- radius [fm]
  • integer :: iType -- 0: total, 1: proton, 2: neutron

OUTPUT

function value: density [fm^-3]


nucleusDefinition/writeAverageDens [ Subroutines ]

[ Top ] [ nucleusDefinition ] [ Subroutines ]

NAME

subroutine writeAverageDens(this)

PURPOSE

Prints average density of nucleus

INPUTS

none

NOTES

<rho> = int(rho rho r**2 dr)/int(rho r**2 dr)


nucleusDefinition/searchMaxVals [ Subroutines ]

[ Top ] [ nucleusDefinition ] [ Subroutines ]

NAME

subroutine searchMaxVals(this)

PURPOSE

go through the tabulated distributions to search for the extrema


nucleusDefinition/printGlauber [ Subroutines ]

[ Top ] [ nucleusDefinition ] [ Subroutines ]

NAME

subroutine printGlauber(this)

PURPOSE

This routine prints the total cross section sigma_hA according a Glauber calculation (cf. Falter PhD, eq. (5.15)) for different values of sigma_hN and a classical consideration.


nucleusDefinition/classicalEstimate [ Functions ]

[ Top ] [ nucleusDefinition ] [ Functions ]

NAME

real function classicalEstimate(this, sigma)

PURPOSE

This routine calculates the total cross section sigma_hA according a classical picture for given values of sigma_hN

INPUTS

  • real, dimension(1:2) :: sigma -- sigmaP, sigmaN (in mb)