Exchange-Correlation functionals with arbitrary order derivatives.
C++ C CMake Python Fortran Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.githooks Specify encoding for Python files Apr 24, 2018
.github Prune old files Apr 9, 2018
RELICENSE AlexBorgoo.mb Apr 4, 2018
api
cmake
doc Second round of formatting (now for C++11) Apr 9, 2018
external/upstream/taylor Move taylor sources to external/upstream Apr 9, 2018
python Fix RPATH kerfuffle Apr 25, 2018
src Change XCFUN_ACCURATE_PBEX_MU -> XCFUN_REF_PBEX_MU May 29, 2018
test
.appveyor.yml
.clang-format Second round of formatting (now for C++11) Apr 9, 2018
.gitattributes Fix .gitattributes Apr 23, 2018
.gitignore ignore venv/ Dec 18, 2017
.mailmap Sort out license and Static Linking Exception [ci skip] Apr 27, 2017
.style.yapf
.travis.yml Fix RPATH kerfuffle Apr 25, 2018
AUTHORS.md Update list of authors with GH handles Apr 4, 2018
CMakeLists.txt Update Autocmake, fix options wrappers Apr 24, 2018
LICENSE.md Relicense under MPLv2.0 Apr 4, 2018
Pipfile
Pipfile.lock
README.md Prune old files Apr 9, 2018
codecov.yml
requirements.txt
setup fortran support is off by default Apr 17, 2018

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).