TABLE OF CONTENTS
/nucleusDefinition [ 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 ! 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
- type(tNucleus) :: nuc
NOTES
<rho> = int(rho rho r**2 dr)/int(rho r**2 dr)