Exchange-Correlation functionals with arbitrary order derivatives.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.githooks
.github
RELICENSE
api
cmake
doc
external/upstream/taylor
python
src
test
.appveyor.yml
.clang-format
.gitattributes
.gitignore
.mailmap
.style.yapf
.travis.yml
AUTHORS.md
CMakeLists.txt
LICENSE.md
Pipfile
Pipfile.lock
README.md
codecov.yml
requirements.txt
setup

README.md

Build Status GitHub license

GitHub issues GitHub forks GitHub stars

Arbitrary order Exchange-Correlation functional library

Copyright Ulf Ekström and contributors 2009-2018. See http://dftlibs.org/xcfun/ for more information. The documentation is available at https://xcfun.readthedocs.io

The main interface is in include/xcfun.h (or fortran/xc_fun_module.f90 for Fortran bindings).

License

XCFun is licensed under version 2.0 of the Mozilla Public License (MPLv2.0), see LICENSE.md.

Configuration

Check that XC_MAX_ORDER is defined to the highest order derivatives you need (and not higher) in src/config.h. Warning: Using a too large value for XC_MAX_ORDER makes compilation slow and the generated code huge.

Building a debug/development version

Edit the Makefile that matches your compiler (Makefile.gcc or Makefile.intel or ...) to set CXX (C++ compiler) and flags and run

$ make -f Makefile.gcc

(or using the corresponding Makefile) This will create the library file lib/libxcfun.so

Building an optimized version

Edit the Makefile that matches your compiler (Makefile.gcc or Makefile.intel or ...) and add -DNDEBUG to the compiler flags. Add optimization compiler options. Make sure your compiler performs inlining (-O3 with gcc).