### TABLE OF CONTENTS

- 1. /NucDLDA
- 1.1. NucDLDA/diffeq
- 1.2. NucDLDA/energyofrho
- 1.3. NucDLDA/getEBinding
- 1.4. NucDLDA/getEParticleLaplace
- 1.5. NucDLDA/Aapprox
- 1.6. NucDLDA/DFLDA
- 1.7. NucDLDA/rhostepsearch
- 1.8. NucDLDA/shootfillarray
- 1.9. NucDLDA/shootinput
- 1.10. NucDLDA/shootnowrite
- 1.11. NucDLDA/startcond
- 1.12. NucDLDA/DFLDAWelke
- 1.13. NucDLDA/startcondWelke

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