SimpleDFT
SimpleDFT is a simple plane wave density functional theory (DFT) code. It is a Python implementation of the DFT++ pragmas proposed by Thomas Arias et al. Also, it serves as the minimalistic prototype for the eminus code, which was introduced in the master thesis of Wanja Timm Schulze to explain theory and software development compactly. There is also a version written in Julia, called SimpleDFT.jl.
Note: From version 2.0 on, the implementation will slightly deviate from the master thesis to be in line with eminus.
| SimpleDFT | Description |
|---|---|
| Language | Python 3 |
| License | Apache 2.0 |
| Dependencies | Only NumPy |
| Basis set | Plane waves (PW) |
| DFT | Restricted Kohn-Sham (RKS) |
Installation
The package and all necessary dependencies can be installed using pip
pip install simpledft
Examples
Example calculations, i.e., the H atom, He atom, and H2 molecule can be executed with
python examples.py
Simplifications
This code is about implementing plane wave DFT as simple as possible, while still being general. To classify the shortcomings from a fully-fletched DFT code, the most important simplifications are listed below
- Restricted Kohn-Sham DFT only, no open-shell systems
- LDA only, no functionals using gradients
- All-electron Coulomb potential, no pseudopotentials to only treat valence electrons
- Gamma-point only, no band paths
- Steepest descent only, no sophisticated minimizations
- Random starting guess only, no calculated guess of the density
Citation
A supplementary paper for eminus is available on arXiv. The following BibTeX key can be used
@Misc{Schulze2021,
author = {Schulze, Wanja T. and Schwalbe, Sebastian and Trepte, Kai and Gr{\"a}fe, Stefanie},
title = {eminus -- Pythonic electronic structure theory},
year = {2024},
doi = {10.48550/arXiv.2410.19438},
publisher = {arXiv},
}
Metadata
Release files for simpledft 3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| simpledft-3.0.tar.gz | 12.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simpledft-3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.1 kB
Release files / simpledft-3.0.tar.gz
| Download URL | simpledft-3.0.tar.gz |
|---|---|
| Size | 12.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b157abe5edac6e9fb1c0598e33b9eaa367b2911eea944c79ddc27ca96642a4d4
|
|
BLAKE2b-256 checksum How to use checksums |
1e0d5903a30ee5cd60344eccd29aecf2ac637c93386616f205b0bc2839937d4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.3
|
Release files / simpledft-3.0-py3-none-any.whl
| Download URL | simpledft-3.0-py3-none-any.whl |
|---|---|
| Size | 13.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1eb7c566dd2e30b5ca419b71d17c11ff33c782aafb16bc987246917e1288bcda
|
|
BLAKE2b-256 checksum How to use checksums |
d89803b11acef0f5717fe7edc37f7338435dd98224d9e8f84373318cad6e68cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.3
|