This library implements many of the standard xc functionals in the 
market. For more information, please check the manual at

http://www.tddft.org/programs/Libxc



INSTALLATION
============

To install the library, just use the standard procedure:

./configure --prefix=PATH/TO/LIBXC
make
make check
make install



INFORMATION FOR DEVELOPERS
==========================

The distribution is organized in the following way:

./
./build		Fedora spec files
./m4		m4 scripts used by configure.ac
./src		source files
./testsuite	regression tests


Furthermore, the most important contents of the src directory are:

xc.h                - main header file with all external definitions
util.h              - header file with internal definitions
*f90 *.F90 xc_f.c   - Fortran 90 interface
  string_f.h
xc_funcs.h	    - automatically generated file with the list of functionals
funcs_*.c	    - automatically generated files with the functional definitions
functionals.c       - generic interface to simplify access to the different families
lda.c gga.c mgga.c  - interface to the different families of functionals
special_functions.c - implementation of a series of special functions
lda_*.c             - definition of the different LDA functionals
work_lda.c          - code that simplifies the implementation of LDAs
gga_*.c             - definition of the different GGA functionals
work_gga_x.c        - code that simplifies the implementation of exchange GGAs
work_gga_c.c	    - code that simplifies the implementation of some 
                      correlation GGAs
work_gga_becke.c    - code that simplifies the implementation of some 
                      correlation GGAs
mgga_*.c	    - definition of the different meta-GGA functionals
work_mgga_x.c       - code that simplifies the implementation of exchange meta-GGAs
work_mgga_c.c       - code that simplifies the implementation of some correlation 
                      meta-GGAs
hyb_gga_*.c         - definition of the different hybrid-GGA functionals

-------------------------------------------------------------------------------
Notes:

*) Most functionals use the framework contained in a work_*.c file. This 
simplifies tremendously the implementation of the different functionals. 
The work_*.c is included in the gga_*.c through a preprocessor directive

*) Some files contain more than one functional, as similar functionals 
are usually grouped together. Therefore, the best way to find where a 
functional is implemented is by looking at its keyword in xc_funcs.h and 
using grep to find the correct file.

*) The files where the functionals are defined are named as 
family_type_name.c, where:
  family - functional family (lda, gga, hyb_gga, or mgga)
  type   - type of functional (x, c, xc, or k)
  name   - name of the functional or class of functionals
