{"id":16975914,"url":"https://github.com/dgasmith/libxc","last_synced_at":"2025-03-21T21:21:13.426Z","repository":{"id":66362884,"uuid":"120584965","full_name":"dgasmith/libxc","owner":"dgasmith","description":"A GitHub fork of the libxc repository on GitLab","archived":false,"fork":false,"pushed_at":"2018-02-27T19:55:53.000Z","size":67318,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"python","last_synced_at":"2025-01-26T15:51:17.998Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dgasmith.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-07T08:18:39.000Z","updated_at":"2018-02-07T08:22:20.000Z","dependencies_parsed_at":"2023-02-20T16:15:42.525Z","dependency_job_id":null,"html_url":"https://github.com/dgasmith/libxc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgasmith%2Flibxc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgasmith%2Flibxc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgasmith%2Flibxc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dgasmith%2Flibxc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dgasmith","download_url":"https://codeload.github.com/dgasmith/libxc/tar.gz/refs/heads/python","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244869895,"owners_count":20523767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T01:24:21.919Z","updated_at":"2025-03-21T21:21:13.419Z","avatar_url":"https://github.com/dgasmith.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Libxc\n=====\n\nLibxc is a library of exchange-correlation functionals for\ndensity-functional theory. The aim is to provide a portable, well\ntested and reliable set of exchange and correlation functionals that\ncan be used by a variety of programs.\n\nFor more information, please check the manual at\nhttp://www.tddft.org/programs/Libxc\n\nINSTALLATION\n============\n\nAutotools\n---------\n\nThe recommended way to install the library is by using GNU Autotools.\n\nTo install the library, just use the standard procedure:\n\n./configure --prefix=PATH/TO/LIBXC\nmake\nmake check\nmake install\n\nIf you're not using a stable release tarball, you'll first need to\ngenerate configure with:\nautoreconf -i\n\nCMake\n-----\n\nSupport for CMake has also been recently contributed by Lori Burns.\n\nThe CMake file has the following caveats\n\n* tested on Linux and Mac, static and shared lib, namespaced and\n  non-namespaced headers, but really only to the extent that it works\n  for Psi4\n* all the fancy libtool options and Fortran interface _not_ tested\n* test suite executed after build via `ctest`. But it has always\n  totally passed or totally failed, which doesn't inspire confidence\n* The generated `libxc_docs.txt` is large, and the generation step\n  sometimes balks on it, leading to `xc_funcs.h` not found\n  errors. Just execute again.\n\n1) Building with CMake\n\nUse the following procedure:\n\ncmake -H. -Bobjdir\ncd objdir \u0026\u0026 make\nmake test\nmake install\n\nThe build is also responsive to\n\n  * static/shared toggle `BUILD_SHARED_LIBS`\n  * install location `CMAKE_INSTALL_PREFIX`\n  * namespacing of headers `NAMESPACE_INSTALL_INCLUDEDIR`\n  * of course, `CMAKE_C_COMPILER`, `BUILD_TESTING`, and `CMAKE_C_FLAGS`\n\nSee CMakeLists.txt for options details. All these build options should\nbe passed as `cmake -DOPTION`.\n\n2) Detecting with CMake\n\nCMake builds install with `LibxcConfig.cmake`, `LibxcConfigVersion.cmake`, and\n`LibxcTargets.cmake` files suitable for use with CMake\n[`find_package()`](https://cmake.org/cmake/help/v3.2/command/find_package.html)\nin `CONFIG` mode.\n\n* `find_package(Libxc)` - find any xc libraries and headers\n\n* `find_package(Libxc 3.0.0 EXACT CONFIG REQUIRED COMPONENTS static)`\n  - find Libxc exactly version 3.0.0 built with static libraries or\n  die trying\n\nSee cmake/LibxcConfig.cmake.in for details of how to detect the Config\nfile and what CMake variables and targets are exported to your\nproject.\n\n3) Use with CMake\n\nAfter `find_package(Libxc ...)`,\n\n* test if package found with `if(${Libxc_FOUND})` or `if(TARGET\n  Libxc::xc)`\n* link to library (establishes dependency), including header and\n  definitions configuration with `target_link_libraries(mytarget\n  Libxc::xc)`\n* include header files using `target_include_directories(mytarget\n  PRIVATE $\u003cTARGET_PROPERTY:Libxc::xc,INTERFACE_INCLUDE_DIRECTORIES\u003e)`\n* compile target applying `-DUSING_Libxc` definition using\n  `target_compile_definitions(mytarget PRIVATE\n  $\u003cTARGET_PROPERTY:Libxc::xc,INTERFACE_COMPILE_DEFINITIONS\u003e)`\n\nFILE ORGANIZATION\n=================\n\nThe distribution is organized as follows\n\n./cmake      CMake helper files\n./build      pkgconfig and Fedora spec files\n./m4         m4 scripts used by configure.ac, and\n             libxc.m4 used by other projects linking to libxc\n./maple      the Maple source code for the functionals\n./scripts    various scripts for libxc development\n./src        source files\n./testsuite  regression tests\n\nThe most important contents of the src directory for users are\n\nxc.h         main header file with all external definitions\nxc_funcs.h   automatically generated file with the list of functionals\n\nIn addition, developers will be interested in the following\n\nutil.h                         header file with internal definitions\n*.f90 *.F90 xc_f.c string_f.h  Fortran 90 interface\n*.f03 *.F03                    Fortran 2003 interface\nfuncs_*.c                      automatically generated files with\n                               the functional definitions\nfunctionals.c                  generic interface to simplify access\n                               to the different families\nlda.c gga.c mgga.c             interface to the different families of\n                               functionals\nspecial_functions.c            implementation of a series of special functions\nhyb_gga_*.c                    definition of the different hybrid\n                               GGA functionals\nhyb_mgga_*.c                   definition of the different hybrid\n                               meta-GGA functionals\nlda_*.c                        definition of the different LDA functionals\ngga_*.c                        definition of the different GGA functionals\nmgga_*.c                       definition of the different meta-GGA functionals\nwork_lda.c                     code that simplifies the implementation of LDAs\nwork_gga_x.c                   code that simplifies the implementation of\n                               exchange GGAs\nwork_gga_c.c                   code that simplifies the implementation of\n                               some correlation GGAs\nwork_mgga_x.c                  code that simplifies the implementation of\n                               exchange meta-GGAs\nwork_mgga_c.c                  code that simplifies the implementation of\n                               some correlation meta-GGAs\n\nNotes:\n\n* Most functionals use the framework contained in a work_*.c\n  file. This simplifies tremendously the implementation of the\n  different functionals. The work_*.c are #include'd in the functional\n  implementations through a preprocessor directive.\n\n* Some files contain more than one functional, as similar functionals\n  are usually grouped together. Therefore, the best way to find where\n  a functional is implemented is by looking at its keyword in\n  xc_funcs.h and using grep to find the correct file.\n\n* The files where the functionals are defined are named as\n  family_type_name.c, where: family - functional family (lda, gga,\n  hyb_gga, or mgga) type - type of functional (x, c, xc, or k) name -\n  name of the functional or class of functionals\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgasmith%2Flibxc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdgasmith%2Flibxc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdgasmith%2Flibxc/lists"}