gibuu is hosted by Hepforge, IPPP Durham
GiBUU

TABLE OF CONTENTS


/NucDLDA [ Modules ]

[ Top ] [ Modules ]

NAME

module NucDLDA

PURPOSE

This module calculates the ground state density based on a local density approximation without charge or symmetry energy

AUTHOR

Birger Steinmüller


NucDLDA/diffeq [ Functions ]

[ Top ] [ NucDLDA ] [ Functions ]

NAME

real function diffeq(y,yp,t,ck,a,e0f,b1,b2,b3)

PURPOSE

This is the differential equation used for calculating the density It comes from varying the energy-density-functional

INPUTS

  • real :: rho -- current density
  • real :: rhop -- first derivative of the density wrt the radius
  • real :: r -- current radial position
  • real :: ck, a, e0f, b1, b2, b3 -- constants

OUTPUT

Second derivative of the density wrt the radius


NucDLDA/energyofrho [ Functions ]

[ Top ] [ NucDLDA ] [ Functions ]

NAME

real function energyofrho(rho,rhop,t,ck,a,e0f,b1,b2,b3)

PURPOSE

This calculates the energy density for a given density and its first derivative

INPUTS

  • real :: rho -- current density
  • real :: rhop -- first derivative of the density wrt the radius
  • real :: ck, a, b1, b2, b3 -- constants

OUTPUT

Energy density in units of fm**(-1)


NucDLDA/getEBinding [ Functions ]

[ Top ] [ NucDLDA ] [ Functions ]

NAME

real function getEBinding(E)

PURPOSE

Stores the calculated binding energy of the nucleus

INPUTS

  • real :: E -- energy

OUTPUT

Energy in units of MeV


NucDLDA/getEParticleLaplace [ Subroutines ]

[ Top ] [ NucDLDA ] [ Subroutines ]

NAME

real function getEParticleLaplace(rho,gradrho2,p2)

PURPOSE

Calculates the Energy of a Particle with

INPUTS

  • real :: rho -- density
  • real :: laplacerho --div(grad(density))
  • real :: p2 -- 3-momentum**2 (in GeV**2)

OUTPUT

Energy in units of MeV, 1st component total energy, 2nd kinetic energy, 3rd volume energy and 4th surface energy


NucDLDA/Aapprox [ Subroutines ]

[ Top ] [ NucDLDA ] [ Subroutines ]

NAME

subroutine Aapprox(b3,ck,a,b1,b2,E0,rhostart,rhopstart,deltarho,steps,depth,e0fdepth, deltat,maxr,Massin,Massout,ystart,e0f,energy)

PURPOSE

This searches for the best density at the center and Lagrange multiplier e0f to get a density distribution with its Mass (Massout) close to the given Mass (Massin)

INPUTS

  • real :: rhostart -- starting density for the search
  • real :: rhopstart -- first derivative of the density
  • real :: deltarho -- starting stepsize wrt density
  • integer :: depth -- searching depth in rho direction
  • real :: deltat -- stepsize for solving the differential equation
  • real :: maxr -- maximum distance from the centre
  • real :: Massin -- Mass of the nucleus we are looking for
  • real :: b3, ck, a, b1, b2, E0 -- constants
  • integer :: steps -- steps in density 'direction'
  • integer :: e0fdepth -- searching depth for e0f

OUTPUT

  • real :: Massout -- Mass of the nucleus (calculated)
  • real :: ystart -- calculated starting density of this nucleus
  • real :: e0f -- calculated Lagrange multiplier
  • real :: energy -- calculated total binding energy


NucDLDA/DFLDA [ Subroutines ]

[ Top ] [ NucDLDA ] [ Subroutines ]

NAME

subroutine DFLDA(nucleus)

PURPOSE

Initialises the density of a nucleus for a given mass

INPUTS

type(tnucleus)::nucleus -- Mass and Charge are important

OUTPUT

type(tnucleus)::nucleus -- The initialised nucleus


NucDLDA/rhostepsearch [ Subroutines ]

[ Top ] [ NucDLDA ] [ Subroutines ]

NAME

subroutine rhostepsearch(b3,ck,a,b1,b2,E0,rhostart,rhopstart,deltarho,steps,depth,e0f,deltat,maxr,Mass,ystart,energy)

PURPOSE

This searches for the best density at the center for a given Lagrange mulitplier e0f to get a smooth density distribution

INPUTS

  • real :: rhostart -- starting density for the search
  • real :: rhopstart -- first derivative of the density
  • real :: deltarho -- starting stepsize wrt density
  • integer :: depth -- searching depth in rho direction
  • real :: deltat -- stepsize for solving the differential equation
  • real :: maxr -- maximum distance from the centre
  • real :: b3, ck, a, b1, b2, E0, e0f -- constants
  • integer :: steps -- steps in density 'direction'

OUTPUT

  • real :: Mass -- Mass of the nucleus (calculated)
  • real :: ystart -- calculated starting density of this nucleus
  • real :: energy -- calculated total binding energy


NucDLDA/shootfillarray [ Subroutines ]

[ Top ] [ NucDLDA ] [ Subroutines ]

NAME

subroutine subroutine shootfillarray(y0,yp0,tstart,tend,delta,ck,a,e0f,b1,b2,b3,factor,nucleus)

PURPOSE

A first order Euler method for solving the equation diffeq with the starting parameters and fills the density array of nucleus with it

INPUTS

  • real :: y0 -- starting density
  • real :: yp0 -- first derivative of the density
  • real :: tstart -- point at which to start
  • real :: tend -- maximum distance for which the diff. eq. is solved
  • real :: delta -- stepsize for solving the differential equation
  • real :: b3, ck, a, b1, b2, E0, e0f -- constants for the diff. eq.
  • type(tnucleus) :: nucleus -- the nucleus definition
  • real :: factor -- charge/Mass for rellative density of n and p

OUTPUT

  • real :: Mass -- Mass of the nucleus (calculated)
  • real :: ylast -- density at the point after the last one which is used
  • real :: energy -- calculated total binding energy


NucDLDA/shootinput [ Subroutines ]

[ Top ] [ NucDLDA ] [ Subroutines ]

NAME

subroutine shootinput(b3,ck,a,b1,b2,E0,rhoat0,rhopat0,deltarho,step,e0f,deltat,maxr,Massmin,ystartmin,energy)

PURPOSE

This searches a given interval of the densityfor the best density at the center for a given Lagrange mulitplier e0f to get a smooth density distribution

INPUTS

  • real :: rhoat0 -- starting density for the search
  • real :: rhopat0 -- first derivative of the density
  • real :: deltarho -- starting stepsize wrt density
  • real :: deltat -- stepsize for solving the differential equation
  • real :: maxr -- maximum distance from the centre
  • real :: b3, ck, a, b1, b2, E0, e0f -- constants
  • integer :: step -- steps in density 'direction'

OUTPUT

  • real :: Massmin -- Mass of the nucleus (calculated)
  • real :: ystartmin -- calculated starting density of this nucleus
  • real :: energy -- calculated total binding energy


NucDLDA/shootnowrite [ Subroutines ]

[ Top ] [ NucDLDA ] [ Subroutines ]

NAME

subroutine shootnowrite(y0,yp0,tstart,tend,delta,fileout,ck,a,e0f,b1,b2,b3,Mass,ylast,energy)

PURPOSE

Just like shoot without writing into a file

INPUTS

  • real :: y0 -- starting density
  • real :: yp0 -- first derivative of the density
  • real :: tstart -- point at which to start
  • real :: tend -- maximum distance for which the diff. eq. is solved
  • real :: delta -- stepsize for solving the differential equation
  • real :: maxr -- maximum distance from the centre
  • real :: b3, ck, a, b1, b2, E0, e0f -- constants for the diff. eq.

OUTPUT

  • real :: Mass -- Mass of the nucleus (calculated)
  • real :: ylast -- density at the point after the last one which is used
  • real :: energy -- calculated total binding energy


NucDLDA/startcond [ Subroutines ]

[ Top ] [ NucDLDA ] [ Subroutines ]

NAME

subroutine startcond(rho0,E0,ck,b3,b1,b2,a,eta)

PURPOSE

calculates the constants for the potential

OUTPUT

  • real :: rho0 -- nuclear density where the potential has a minimum
  • real :: E0 -- depth of the potential
  • real :: ck, b3 -- other constants
  • real :: b1, b2 -- constant for potential


NucDLDA/DFLDAWelke [ Subroutines ]

[ Top ] [ NucDLDA ] [ Subroutines ]

NAME

subroutine DFLDAWelke(nucleus)

PURPOSE

Initialises the density of a nucleus for a given mass

INPUTS

type(tnucleus)::nucleus -- Mass and Charge are important

OUTPUT

type(tnucleus)::nucleus -- The initialised nucleus


NucDLDA/startcondWelke [ Subroutines ]

[ Top ] [ NucDLDA ] [ Subroutines ]

NAME

subroutine startcondWelke(rho0,E0,ck,b3,b1,b2,a,eta)

PURPOSE

calculates the constants for the potential

OUTPUT

  • real :: rho0 -- nuclear density where the potential has a minimum
  • real :: E0 -- depth of the potential
  • real :: ck, b3 -- other constants
  • real :: b1, b2 -- constant for potential