libecpint

libecpint: A C++ library for the efficient evaluation of integrals over effective core potentials - Published in JOSS (2021)

https://github.com/robashaw/libecpint

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 14 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    3 of 19 committers (15.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords from Contributors

computational-chemistry
Last synced: 4 months ago · JSON representation ·

Repository

A C++ library for the efficient evaluation of integrals over effective core potentials.

Basic Info
  • Host: GitHub
  • Owner: robashaw
  • License: mit
  • Language: C++
  • Default Branch: master
  • Size: 23.7 MB
Statistics
  • Stars: 28
  • Watchers: 2
  • Forks: 16
  • Open Issues: 11
  • Releases: 9
Created about 8 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Code of conduct Citation

README.md

Libecpint 1.0.7

Build Status codecov Documentation Status Code Quality

Zenodo JOSS

Libecpint is a C++ library for the efficient evaluation of integrals over ab initio effective core potentials, using a mixture of generated, recursive code and Gauss-Chebyshev quadrature. It is designed to be standalone and generic, and is now in its first stable release. If you experience any problems please raise an issue here; contributions and suggestions are also welcome.

Contributing

Contributions are welcomed, either in the form of raising issues or pull requests on this repo. Please take a look at the Code of Conduct before interacting, which includes instructions for reporting any violations.

New in first full release

  • Analytical 1st and 2nd derivatives;
  • Integration now >10x faster;
  • New, high level API, with ECP library;
  • Automated testing suite.

Patch 1

  • Bug fix in screening of on-ECP type 2 integrals
  • Improvements in CMake build steps, thanks to nabbelbabbel/moritzBens

Patch 2

  • Fix for memory leaks in derivative routines
  • Minor changes to CMake files

Patch 3

  • Fix bug in radial type 1 integrals where quadrature could fail to converge
  • Const correctness throughout, should allow for parallelisation
  • Minor updates to docs

Patch 4

  • Code generation now takes considerably less time and memory; MAX_L=8 takes ~35 seconds, peaking at 1.5GB of memory (joint effort with Thomas Dresselhaus and Peter Bygrave)
  • This will be the final patch before v1.1

Dependencies

  • A modern C++ compiler, at least C++11 standard library is required. This has been tested with:
    • gcc (v6.3.0 and above)
    • clang (v10.0.0 and above), you may need the CXX flag "-std=c++14"
    • icpc (v20.2.1), may also need the CXX flag "-std=c++14"
  • CMake/CTest build tools (v3.12 and higher)
  • Python (2.7 or above, including 3 and higher)

Additionally, if you wish to regenerate the radial code (see below), Python >=3.6 is required with numpy and sympy.

Documentation

Please refer to the main documentation here.

Examples

There is also a working example in the example folder, with instructions of how to build and link against the library. Please also the API tests in tests/lib/

Acknowledging usage

If you use this library in your program and find it helpful, that's great! Any feedback would be much appreciated. If you publish results using this library, please consider citing the following papers detailing the implementation and the library, respectively:

R. A. Shaw, J. G. Hill, J. Chem. Phys. 147, 074108 (2017); doi: 10.1063/1.4986887

R. A. Shaw, J. G. Hill, J. Open Source Softw. 6, 3039 (2021); doi: 10.21105/joss.03039

Full bibtex citations can be found in CITATION in the main directory.

Owner

  • Name: Robert Shaw
  • Login: robashaw
  • Kind: user
  • Location: Sheffield, United Kingdom

Postdoc at University of Sheffield via Melbourne. Mathematician / theoretical chemist

JOSS Publication

libecpint: A C++ library for the efficient evaluation of integrals over effective core potentials
Published
April 15, 2021
Volume 6, Issue 60, Page 3039
Authors
Robert A. Shaw ORCID
Department of Chemistry, University of Sheffield, Sheffield S3 7HF, UK
J. Grant Hill ORCID
Department of Chemistry, University of Sheffield, Sheffield S3 7HF, UK
Editor
Jack Poulson ORCID
Tags
computational chemistry

Citation (CITATION)

                     CITATION FOR LIBECPINT

If you use this library in your program and find it helpful, that's great! Any feedback would be much appreciated. If you publish results using this library, please consider citing the following paper detailing the implementation:

R. A. Shaw, J. G. Hill, J. Chem. Phys. 147, 074108 (2017)

The literature citation in bibtex format is:

@article{Shaw2017,
author = {Shaw, Robert A. and Hill, J. Grant},
doi = {10.1063/1.4986887},
issn = {0021-9606},
journal = {The Journal of Chemical Physics},
month = {aug},
number = {7},
pages = {074108},
title = {{Prescreening and efficiency in the evaluation of integrals over ab initio effective core potentials}},
url = {http://aip.scitation.org/doi/10.1063/1.4986887},
volume = {147},
year = {2017}
}

The following JOSS paper formally presents the library:

R. A. Shaw, J. G. Hill, J. Open Source Softw. 6, 3039 (2021)

@article{Shaw2021, 
author = {Robert A. Shaw and J. Grant Hill}, 
doi = {10.21105/joss.03039},
journal = {Journal of Open Source Software},
publisher = {The Open Journal}, 
number = {60}, 
pages = {3039},
title = {libecpint: A C++ library for the efficient evaluation of integrals over effective core potentials}, 
url = {https://doi.org/10.21105/joss.03039}, 
volume = {6}, 
year = {2021}
}

Please also remember to include citations for the methods, basis sets and ECPs you use!

GitHub Events

Total
  • Issues event: 3
  • Issue comment event: 1
Last Year
  • Issues event: 3
  • Issue comment event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 109
  • Total Committers: 19
  • Avg Commits per committer: 5.737
  • Development Distribution Score (DDS): 0.523
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Robert Shaw r****w@R****l 52
Robert Shaw r****3@g****m 13
Thomas Dresselhaus t****s@e****i 7
Robert Shaw r****1@s****k 6
Eisuke Kawashima e****m 4
Christoph Junghans j****s@l****v 4
Lori A. Burns l****s@g****m 3
Jens j****r@g****m 3
Robert Shaw r****w@R****e 3
Robert Shaw r****w@r****t 3
Jan Unsleber j****r@p****h 2
Eric Berquist e****t@g****m 2
Andy Simmonett a****t@g****m 1
Grant Hill 3****l 1
pk pk@v****t 1
Robert Shaw r****w@r****t 1
Bjoern Baumeier b****r@v****g 1
J. Emiliano Deustua e****a@g****m 1
Peter Bygrave p****e 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 27
  • Total pull requests: 38
  • Average time to close issues: 25 days
  • Average time to close pull requests: 21 days
  • Total issue authors: 14
  • Total pull request authors: 15
  • Average comments per issue: 2.04
  • Average comments per pull request: 1.95
  • Merged pull requests: 31
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: 3 months
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 1.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • junghans (6)
  • JensWehner (4)
  • robashaw (3)
  • felipeZ (2)
  • lorenzo-rovigatti (2)
  • PeterKraus (2)
  • thomas-dresselhaus (1)
  • jkn93 (1)
  • musicinmybrain (1)
  • FreemanTheMaverick (1)
  • daeho-ro (1)
  • mbanck (1)
  • loriab (1)
  • JonathonMisiewicz (1)
Pull Request Authors
  • junghans (8)
  • robashaw (5)
  • loriab (4)
  • JensWehner (4)
  • e-kwsm (4)
  • thomas-dresselhaus (3)
  • nabbelbabbel (2)
  • berquist (2)
  • jkn93 (1)
  • edeustua (1)
  • JGrantHill (1)
  • baumeier (1)
  • andysim (1)
  • peterbygrave (1)
  • PeterKraus (1)
Top Labels
Issue Labels
enhancement (4) help wanted (2) bug (2)
Pull Request Labels
enhancement (1)

Packages

  • Total packages: 4
  • Total downloads:
    • homebrew 31 last-month
  • Total dependent packages: 2
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 17
proxy.golang.org: github.com/robashaw/libecpint
  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 4.1%
Stargazers count: 7.1%
Average: 7.9%
Dependent packages count: 9.6%
Dependent repos count: 10.8%
Last synced: 4 months ago
spack.io: libecpint

A C++ library for the efficient evaluation of integrals over effective core potentials.

  • Versions: 7
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 18.7%
Forks count: 22.9%
Stargazers count: 24.0%
Dependent packages count: 28.1%
Last synced: 4 months ago
formulae.brew.sh: libecpint

Library for the efficient evaluation of integrals over effective core potentials

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 31 Last month
Rankings
Downloads: 16.6%
Dependent packages count: 19.1%
Forks count: 28.4%
Average: 30.5%
Stargazers count: 36.4%
Dependent repos count: 52.2%
Last synced: 4 months ago
conda-forge.org: libecpint

Libecpint is a C++ library for the efficient evaluation of integrals over ab initio effective core potentials, using a mixture of generated, recursive code and Gauss-Chebyshev quadrature. It is designed to be standalone and generic, and is now in its first stable release. If you experience any problems please raise an issue here; contributions and suggestions are also welcome.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.3%
Average: 41.3%
Forks count: 41.8%
Stargazers count: 47.5%
Dependent packages count: 51.6%
Last synced: 5 months ago

Dependencies

doc/sphinx/requirements.txt pypi
  • breathe *
  • exhale *
.github/workflows/draft-pdf.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite