![eminus logo](https://gitlab.com/wangenau/eminus/-/raw/main/docs/_static/logo/eminus_logo.png)
# eminus
[![pypi](https://img.shields.io/pypi/v/eminus?color=1a962b)](https://pypi.org/project/eminus)
[![coverage](https://gitlab.com/wangenau/eminus/badges/main/coverage.svg)](https://wangenau.gitlab.io/eminus/htmlcov)
[![python](https://img.shields.io/pypi/pyversions/eminus?color=green)](https://wangenau.gitlab.io/eminus/installation.html)
[![license](https://img.shields.io/badge/license-Apache2.0-yellowgreen)](https://wangenau.gitlab.io/eminus/license.html)
[![doi](https://zenodo.org/badge/431079841.svg)](https://zenodo.org/badge/latestdoi/431079841)
eminus is a pythonic plane wave density functional theory (DFT) code 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
$$
\boldsymbol \phi = 4\pi\hat L^{-1}\hat O\hat J \boldsymbol n.
$$
The corresponding Python code (implying that the operators have been implemented properly) reads
```python
phi = -4 * np.pi * Linv(O(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
The project has been published with [Zenodo](https://doi.org/10.5281/zenodo.5720635) and has an assigned DOI. The following BibTeX key can be used
```terminal
@Misc{Schulze2021,
author = {Wanja Timm Schulze and Kai Trepte and Sebastian Schwalbe},
title = {eminus},
year = {2021},
month = nov,
doi = {10.5281/zenodo.5720635},
publisher = {Zenodo},
}
```
## 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.
Changelog
=========
v2.7.1 - Feb 09, 2024
---------------------
- New features
- Stabilized Fermi smearing!
- Updated docs
- Restyle many documentation pages
- Add a citation page
- Add an overview page with a workflow example
- Add a smearing example
- Miscellaneous
- Small performance improvements
- Temperature unit conversion functions
- Tests for the smearing implementation
- Update Ruff rules
- Misc coding style updates
v2.7.0 - Jan 19, 2024
---------------------
- New features
- Add k-points!
- Add k-point dependent calculations
- Add a k-points object
- Add a band structure, k-point, and Brillouin zone viewer
- Add minimization functions for fixed Hamiltonians
- Add a symmetry extra to symmetrize k-points
- Updated docs
- Add k-point examples
- Increase coverage precision
- Coding style
- Activate several Ruff rules
- Lint check notebooks
- Rewrite operator handling
- Add a lot of new tests
- Miscellaneous
- Add a contour line viewer
- Plot lattice vectors in the view_atoms function
- Add a NixOS CI test
- Add a Nix lock file
- Use Python 3.12 as the CI base image
- Move Matplotlib to dev extras
- Unpin the notebook version
- Small performance improvements, e.g, in Atoms object creation
- Experimental
- Smearing functionalities
Raw data
{
"_id": null,
"home_page": "https://github.com/wangenau/eminus",
"name": "eminus",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "Python,DFT,DFT++",
"author": "Wanja Timm Schulze",
"author_email": "wangenau@protonmail.com",
"download_url": "https://files.pythonhosted.org/packages/25/ee/9e41f5e00b39df00aebb6cb264eee56d752bbecd37125c13c63496cd21bf/eminus-2.7.1.tar.gz",
"platform": null,
"description": "![eminus logo](https://gitlab.com/wangenau/eminus/-/raw/main/docs/_static/logo/eminus_logo.png)\n\n# eminus\n[![pypi](https://img.shields.io/pypi/v/eminus?color=1a962b)](https://pypi.org/project/eminus)\n[![coverage](https://gitlab.com/wangenau/eminus/badges/main/coverage.svg)](https://wangenau.gitlab.io/eminus/htmlcov)\n[![python](https://img.shields.io/pypi/pyversions/eminus?color=green)](https://wangenau.gitlab.io/eminus/installation.html)\n[![license](https://img.shields.io/badge/license-Apache2.0-yellowgreen)](https://wangenau.gitlab.io/eminus/license.html)\n[![doi](https://zenodo.org/badge/431079841.svg)](https://zenodo.org/badge/latestdoi/431079841)\n\neminus is a pythonic plane wave density functional theory (DFT) code with self-interaction correction (SIC) functionalities.\nThe goal is to create a simple code that is easy to read and easy to extend while using minimal dependencies.\nIt 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.\nThis can be shown by, e.g., solving the Poisson equation. In the operator notation of DFT++ the equation reads\n\n$$\n\\boldsymbol \\phi = 4\\pi\\hat L^{-1}\\hat O\\hat J \\boldsymbol n.\n$$\n\nThe corresponding Python code (implying that the operators have been implemented properly) reads\n\n```python\nphi = -4 * np.pi * Linv(O(J(n)))\n```\n\n## Installation\n\nThe [package](https://pypi.org/project/eminus) and all necessary dependencies can be installed with\n\n```terminal\npip install eminus\n```\n\nMore information about installing eminus can be found [here](https://wangenau.gitlab.io/eminus/installation.html).\n\n## Documentation\n\nTo learn more about the features, usage, or implementation of eminus, take a look inside the [documentation](https://wangenau.gitlab.io/eminus).\n\n## Citation\n\nThe project has been published with [Zenodo](https://doi.org/10.5281/zenodo.5720635) and has an assigned DOI. The following BibTeX key can be used\n\n```terminal\n @Misc{Schulze2021,\n author = {Wanja Timm Schulze and Kai Trepte and Sebastian Schwalbe},\n title = {eminus},\n year = {2021},\n month = nov,\n doi = {10.5281/zenodo.5720635},\n publisher = {Zenodo},\n }\n```\n\n## License\n\nThis project is licensed under the Apache 2.0 License. See the [license page](https://wangenau.gitlab.io/eminus/license.html) for more details.\n\n\nChangelog\n=========\n\nv2.7.1 - Feb 09, 2024\n---------------------\n- New features\n - Stabilized Fermi smearing!\n- Updated docs\n - Restyle many documentation pages\n - Add a citation page\n - Add an overview page with a workflow example\n - Add a smearing example\n- Miscellaneous\n - Small performance improvements\n - Temperature unit conversion functions\n - Tests for the smearing implementation\n - Update Ruff rules\n - Misc coding style updates\n\nv2.7.0 - Jan 19, 2024\n---------------------\n- New features\n - Add k-points!\n - Add k-point dependent calculations\n - Add a k-points object\n - Add a band structure, k-point, and Brillouin zone viewer\n - Add minimization functions for fixed Hamiltonians\n - Add a symmetry extra to symmetrize k-points\n- Updated docs\n - Add k-point examples\n - Increase coverage precision\n- Coding style\n - Activate several Ruff rules\n - Lint check notebooks\n - Rewrite operator handling\n - Add a lot of new tests\n- Miscellaneous\n - Add a contour line viewer\n - Plot lattice vectors in the view_atoms function\n - Add a NixOS CI test\n - Add a Nix lock file\n - Use Python 3.12 as the CI base image\n - Move Matplotlib to dev extras\n - Unpin the notebook version\n - Small performance improvements, e.g, in Atoms object creation\n- Experimental\n - Smearing functionalities\n",
"bugtrack_url": null,
"license": "APACHE2.0",
"summary": "A pythonic plane wave density functional theory (DFT) code.",
"version": "2.7.1",
"project_urls": {
"Bug Tracker": "https://gitlab.com/wangenau/eminus/-/issues",
"Changelog": "https://wangenau.gitlab.io/eminus/changelog.html",
"Documentation": "https://wangenau.gitlab.io/eminus",
"Homepage": "https://github.com/wangenau/eminus",
"Source code": "https://gitlab.com/wangenau/eminus"
},
"split_keywords": [
"python",
"dft",
"dft++"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c5bd760f074542ca3f87037d2eea465049bcc69c8d552a10aafb700a3a63eaee",
"md5": "52a2fccb65a2c4d2ded692dfb843b1bb",
"sha256": "94a80b700baaccd59416ac2a9454454c4c3726fbf14770d7e261d0367c768889"
},
"downloads": -1,
"filename": "eminus-2.7.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "52a2fccb65a2c4d2ded692dfb843b1bb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 210792,
"upload_time": "2024-02-09T14:51:26",
"upload_time_iso_8601": "2024-02-09T14:51:26.844534Z",
"url": "https://files.pythonhosted.org/packages/c5/bd/760f074542ca3f87037d2eea465049bcc69c8d552a10aafb700a3a63eaee/eminus-2.7.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "25ee9e41f5e00b39df00aebb6cb264eee56d752bbecd37125c13c63496cd21bf",
"md5": "7ca83da9b6a44049b279e562750f33a1",
"sha256": "66c864e2439d5f39b64793a7eec0675ba4e0ac6d8c28a630061994f6ff5d4086"
},
"downloads": -1,
"filename": "eminus-2.7.1.tar.gz",
"has_sig": false,
"md5_digest": "7ca83da9b6a44049b279e562750f33a1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 144449,
"upload_time": "2024-02-09T14:51:28",
"upload_time_iso_8601": "2024-02-09T14:51:28.745877Z",
"url": "https://files.pythonhosted.org/packages/25/ee/9e41f5e00b39df00aebb6cb264eee56d752bbecd37125c13c63496cd21bf/eminus-2.7.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-09 14:51:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wangenau",
"github_project": "eminus",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "eminus"
}