https://github.com/mdavezac/libxc
libxc mirror
https://github.com/mdavezac/libxc
Last synced: about 1 month ago
JSON representation
libxc mirror
- Host: GitHub
- URL: https://github.com/mdavezac/libxc
- Owner: mdavezac
- License: lgpl-3.0
- Created: 2017-02-12T11:35:37.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-02-12T11:39:53.000Z (over 8 years ago)
- Last Synced: 2025-02-16T01:30:00.630Z (3 months ago)
- Language: C
- Size: 7.93 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Changelog: ChangeLog
- License: COPYING
- Authors: AUTHORS
Awesome Lists containing this project
README
This library implements many of the standard xc functionals in the
market. For more information, please check the manual athttp://www.tddft.org/programs/Libxc
INSTALLATION
============To install the library, just use the standard procedure:
./configure --prefix=PATH/TO/LIBXC
make
make check
make installINFORMATION FOR DEVELOPERS
==========================The distribution is organized in the following way:
./
./build Fedora spec files
./m4 m4 scripts used by configure.ac,
and libxc.m4 use by other projects linking libxc.
./src source files
./testsuite regression testsFurthermore, 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