100 Days of learning – Day 4

Setting the stage for computational simulation will involve taking a bit of dive into the pool of computational chemistry and computational chemistry software.

Since we want to think about scalable workflows, we we will probably want to think about this as some form of graph execution framework … or a graph compute paradigm … as we progressively learn better ways to connect the dots or more accuratedly implement ab initio physics such as charge density relationships in code.

This means working on the application of Density-Functional Perturbation Theory or, more specifically, applying Electron-Phonon Wannier (EPW) in open source gfortran 9 and Message Passing Interface (MPI) code using QUANTUM ESPRESSO.

All models are wrong; some are useful. The point of this is in the recognition that code will necessarily always be an imperfect depiction of reality – the point of developing code is to LEARN where the imperfections are in our understanding and to continually adjust and improve the code.

We will typically install packages like QUANTUM ESPRESSO and updates from source … and we might monkey with that source first before compiling it … which means that need first of all a minimal Unix development workflow environment, which means that we will work with bash [or sh] and utilities like make, awk, sed. For our purposes, we do not need a full blown Linus desktop workstation and apps; instead, we install a Linux distribution (such as Ubuntu, OpenSUSE, Kali, Debian, Arch Linux, and more). Since WSL 2 uses a managed VM and an entirely new architecture that uses a real Linux kernel while maintaining full system call capability [through Windows 11], we rely upon the Windows Subsystem for Linux.