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      :: radius = 0.
     real      :: surface = 0.
     real      :: density = 0.
     real,dimension(1:3) :: position = 0.  ! position in calculation frame
     real,dimension(1:3) :: velocity = 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

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

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

     real       :: chemPot = 0.   ! 'chemical' Potential for LDA (relative
                                  ! units of E0)
     logical    :: ReAdjustForConstBinding = .false.
     real       :: ConstBinding = 0.
     real       :: facN = 0., facP = 0. ! scaling factors in Readjust

  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/WriteNucleus [ Subroutines ]

[ Top ] [ nucleusDefinition ] [ Subroutines ]

NAME

subroutine WriteNucleus(nuc)

PURPOSE

write the main parameters to stdout

INPUTS

OUTPUT

written to stdout


nucleusDefinition/WriteNucleusStaticDens [ Subroutines ]

[ Top ] [ nucleusDefinition ] [ Subroutines ]

NAME

subroutine WriteNucleusStaticDens(name,nuc)

PURPOSE

write the static density to file


nucleusDefinition/NucleusStaticDens [ Functions ]

[ Top ] [ nucleusDefinition ] [ Functions ]

NAME

real function NucleusStaticDens(nuc,r,iType)

PURPOSE

return value of the tabulated nuclear density

INPUTS

  • type(tNucleus) :: Nuc -- nucleus to consider
  • real :: r -- radius [fm]
  • integer :: iType -- 0: total, 1: proton, 2: neutron

OUTPUT

function value: density [units????]


nucleusDefinition/NucleusAverageDensity [ Subroutines ]

[ Top ] [ nucleusDefinition ] [ Subroutines ]

NAME

subroutine printAverageDensity(nuc)

PURPOSE

Prints average density of nucleus

INPUTS

NOTES

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