These lecture notes provide a brief introduction into plane-wave density-functional theory (DFT) and the density-functional toolkit (DFTK). Some familiarity with electronic structure theory is assumed, but no in-depth knowledge is required.
The material has been prepared for the Mathematical Aspects of Computational Chemistry lecture in summer semester 2022 at RWTH Aachen and works best with DFTK 0.5 and Julia 1.7. A great deal of the material has also been discussed in the 3-hour workshop A mathematical look at electronic structure theory at JuliaCon 2021. You can find the recording of this workshop on youtube.
Working with these notes requires:
- Julia 1.7
- Python installation with ASE
- Jupyter and IJulia.jl
- This repository of workshop materials
- All required dependencies (Julia packages) for the workshop
If you are a student at RWTH Aachen and want to use the Julia-Jupyter setup RWTH provides, please see the respective section in the 1_Installation notebook.
For following the course you will need at least Julia 1.7. Julia can be easily obtained in binary form from Julia downloads.
To get the remaining files and dependencies
start up julia
and in the resulting REPL shell,
copy and paste the following:
import Downloads
script = Downloads.download("https://raw.githubusercontent.com/mfherbst/aachen_introduction_dftk/master/install.jl")
include(script)
This downloads the install.jl script and runs it from julia. Follow the instructions on the screen and start the Jupyter notebook server with the command that will be printed.
As an alternative you can also also run the following commands manually
(this requires to have git
and julia
available from the commandline):
git clone https://github.com/mfherbst/aachen_introduction_dftk
cd aachen_introduction_dftk
julia install-manual.jl
If you are facing issues, check out
the great troubleshooting section
from the WorkshopWizard package by Carsten Bauer (which install.jl
is using).
There is a section in the 1_Installation notebook with a few quick commands to check everything works as expected.
Click on the badge to work with these notes online (without a local Julia installation). However, for working on the exercises the computational performance available on binder will probably not be sufficient.