Skip to content

mfherbst/aachen_introduction_dftk

Repository files navigation

Introduction to plane-wave DFT and DFTK

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.

Software and material

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

RWTH Aachen Jupyter lab

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.

Getting Julia

For following the course you will need at least Julia 1.7. Julia can be easily obtained in binary form from Julia downloads.

Getting all the rest

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

Troubleshooting

If you are facing issues, check out the great troubleshooting section from the WorkshopWizard package by Carsten Bauer (which install.jl is using).

Check everything works

There is a section in the 1_Installation notebook with a few quick commands to check everything works as expected.

Working with these notes online (Beta)

Click on the Binder 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.