Skip to main content

Pythonic electronic structure theory.

Project description

eminus logo

eminus

Version License Python Coverage Chat DOI

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++ 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

def get_phi(atoms, n):
    return -4 * np.pi * atoms.Linv(atoms.O(atoms.J(n)))

Installation

The package and all necessary dependencies can be installed with

pip install eminus

More information about installing eminus can be found here.

Documentation

To learn more about the features, usage, or implementation of eminus, take a look inside the documentation.

Citation

A supplementary paper is available on SoftwareX. The following BibTeX key can be used

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

License

This project is licensed under the Apache 2.0 License. See the license page for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eminus-3.2.2.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eminus-3.2.2-py3-none-any.whl (262.7 kB view details)

Uploaded Python 3

File details

Details for the file eminus-3.2.2.tar.gz.

File metadata

  • Download URL: eminus-3.2.2.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for eminus-3.2.2.tar.gz
Algorithm Hash digest
SHA256 8db8bb11dc13c946d07a5f47644741fed897eebb75e9a6720c4780eb91645ddf
MD5 d6cc17e723bf0c2811e0a9b178e00f69
BLAKE2b-256 077468026531606e8baa2d6cac66f25b5b04045dd61349135baaf3fea0a16d2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for eminus-3.2.2.tar.gz:

Publisher: .gitlab-ci.yml on wangenau/eminus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eminus-3.2.2-py3-none-any.whl.

File metadata

  • Download URL: eminus-3.2.2-py3-none-any.whl
  • Upload date:
  • Size: 262.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for eminus-3.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0a13ae75e62ac34be9564da5dee97aa5ad1e000b966c70d3819f540346e9c328
MD5 57a3e40b6eff204478ae084123e83f27
BLAKE2b-256 b7d3e6868ab79b7fd4dba8744d5bd73a9b338a6f8c6e60e801b645bc8897e02e

See more details on using hashes here.

Provenance

The following attestation bundles were made for eminus-3.2.2-py3-none-any.whl:

Publisher: .gitlab-ci.yml on wangenau/eminus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page