HomeΒΆ

https://img.shields.io/badge/3-Python?color=1a962b&logo=python&logoColor=a0dba2&label=Python https://img.shields.io/badge/1.10-Julia?color=1a962b&logo=julia&logoColor=a0dba2&label=Julia https://img.shields.io/badge/license-Apache2.0-1a962b?logo=python&logoColor=a0dba2&label=License
SimpleDFT is a simple plane wave density functional theory (DFT) code.
It is an 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 exists one version written in Python, called SimpleDFT, and one version written in Julia, called SimpleDFT.jl.
The purpose of this website is to compare the implementation from Python to Julia.
The following pages contain side-by-side comparisons of the most functions for each module.
The comparison for a simple example would look like the following

Python

Julia

1from simpledft import Atoms, SCF
2
3atoms = Atoms(["He"], [0, 0, 0],
4              16, 16, [2], [60, 60, 60], [2])
5etot = SCF(atoms).run()
6print("Etot({}) = {:.6f} Eh".format(atoms.atom, etot))
7# Output:  Etot(["He"]) = -2.632035 Eh
1using SimpleDFT
2
3atoms = Atoms(["He"], [0.0 0.0 0.0;],
4              16.0, 16.0, [2.0], [60, 60, 60], [2.0])
5etot = runSCF(atoms)
6println("Etot($(atoms.atom)) = $(round(etot; digits=6)) Eh")
7# Output:  Etot(["He"]) = -2.632035 Eh