https://github.com/wangenau/eminus
Pythonic electronic structure theory.
https://github.com/wangenau/eminus
density-functional-theory education electronic-structure python
Last synced: 4 months ago
JSON representation
Pythonic electronic structure theory.
- Host: GitHub
- URL: https://github.com/wangenau/eminus
- Owner: wangenau
- License: apache-2.0
- Created: 2021-11-23T11:48:03.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2026-02-27T20:55:32.000Z (4 months ago)
- Last Synced: 2026-02-28T00:49:42.105Z (4 months ago)
- Topics: density-functional-theory, education, electronic-structure, python
- Language: Python
- Homepage: https://gitlab.com/wangenau/eminus
- Size: 111 MB
- Stars: 23
- Watchers: 1
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Citation: CITATION.cff
- Zenodo: .zenodo.json
Awesome Lists containing this project
README

# eminus
[](https://pypi.org/project/eminus)
[](https://wangenau.gitlab.io/eminus/license.html)
[](https://wangenau.gitlab.io/eminus/installation.html)
[](https://wangenau.gitlab.io/eminus/htmlcov)
[](https://discord.gg/k2XwdMtVec)
[](https://doi.org/10.1016/j.softx.2025.102035)
eminus is a pythonic electronic structure theory code.
It implements plane wave density functional theory (DFT) with self-interaction correction (SIC) functionalities.
The goal is to create a simple code that is easy to read and easy to extend while using minimal dependencies.
It is built upon the [DFT++](https://arxiv.org/abs/cond-mat/9909130) pragmas proposed by Tomas Arias et al. that aim to let programming languages and theory coincide.
This can be shown by, e.g., solving the Poisson equation. In the operator notation of DFT++ the equation reads
$$
\phi(\boldsymbol r) = -4\pi\mathcal L^{-1}\mathcal O\mathcal J n(\boldsymbol r).
$$
The corresponding Python code (implying that the operators have been implemented properly) reads
```python
def get_phi(atoms, n):
return -4 * np.pi * atoms.Linv(atoms.O(atoms.J(n)))
```
## Installation
The [package](https://pypi.org/project/eminus) and all necessary dependencies can be installed with
```terminal
pip install eminus
```
More information about installing eminus can be found [here](https://wangenau.gitlab.io/eminus/installation.html).
## Documentation
To learn more about the features, usage, or implementation of eminus, take a look inside the [documentation](https://wangenau.gitlab.io/eminus).
## Citation
A supplementary paper is available on [SoftwareX](https://www.sciencedirect.com/science/article/pii/S2352711025000020). The following BibTeX key can be used
```terminal
@Article{Schulze2025,
author = {Schulze, Wanja Timm and Schwalbe, Sebastian and Trepte, Kai and Gr\"afe, Stefanie},
title = {{eminus} --- Pythonic electronic structure theory},
year = {2025},
doi = {10.1016/j.softx.2025.102035},
issn = {2352-7110},
journal = {SoftwareX},
pages = {102035},
volume = {29},
}
```
To cite a specific version one can select and cite it with [Zenodo](https://doi.org/10.5281/zenodo.5720635).
## License
This project is licensed under the Apache 2.0 License. See the [license page](https://wangenau.gitlab.io/eminus/license.html) for more details.