The code HOSPHE (v1.00) is separated into different files with each file containing a module. Modules may contain module parameters and collections of subroutines and functions. Below follows a list of the files defining the code where the *'s should be replaced by the latest version number.
The modules which are used mainly in the initialization phase are:
Driver routine which reads the input and calls the hf subroutine.
Allocates parameters used as input to hf.
Defines quantum numbers for basis states and quantum numbers for the reduced density matrix.
Contains coupling-constant sets for various standard Skyrme EDF's
Assigns quantum numbers to the coupling constants.
Contains list of the allowed quantum numbers for the derivative operators, local densities, and derivative densities.
Contains one subroutine which reorders the list of coefficients.
Contains values and quantum numbers of the and coefficients.
Contains values and quantum numbers of the coefficients which are used to recouple derivative densities.
Contains the coefficients. These are used to obtain fields for each term in the functional and are almost the same (see Table 7) as the coefficients in Eq. (8).
Contains routines to calculate derivatives of the HO basis functions.
Generates Gauss-Hermite points and weights.
The modules which are used mainly in the iteration loop are:
The main subroutine containing the iteration loop.
Generates the reduced derivative densities as functions of the grid points given a reduced density matrix as input.
Determines the matrix elements by using for the fields the form in Eq. (7). Calculates the reduced matrix elements given reduced densities and reduced matrix element quantum numbers as input. Also calculates the matrix elements of the density-dependent terms and of the Coulomb interaction.
Determines the matrix elements by using for the fields the form in Eq. (60). Calculates reduced matrix elements given reduced densities and reduced matrix element quantum numbers as input. Used mainly to test the accuracy of the matrix elements from hmatrix_Ud.v*.f90.
Calculates integrals by using the Gauss-Hermite integration. Contains subroutines to calculate integrals over the terms in the functional to obtain the energy. Also calculates Coulomb energy integrals and radii.
Calculates Coulomb direct and exchange matrix elements. Used mainly to test the accuracy of the matrix elements from hmatrix_Ud.v*.f90.
Contains density-dependent factors that multiply each density-dependent coupling constants in the mean field potentials.
There are also modules containing helper routines:
Contains routines used to sort data.
Contains a collection of routines for the Clebsh-Gordon coefficients, 3, 6, and 9 symbols, Gamma functions etc.
Contains a collection of auxiliary routines such as the diagonalization routines and various transformations.