gibuu is hosted by Hepforge, IPPP Durham
GiBUU

## /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

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