Philosophy

Performing meaningful and reproducible many-body electronic structure calculations often requires handling multiple input and output files, multiple codes, multiple batch jobs on high-performance computing environments, and the organization of output files into usable scientific data.

Jupyter Notebooks offer a simple and intuitive platform to organize and automate this sequence of operations from beginning (project design and input files) to end (data acquisition and visualization). These notebooks also provide a straightforward means of ensuring reproducibility of scientific work, by preserving not only the final scientific data, but also the entire computational workflow.

In this first stage of the initiative, MATCSSI aims to provide simple notebooks with the idea that each notebook focuses on a single material property. For example there is one notebook to perform a GW band structure calculation, and one notebook to perform a calculation of charge carrier mobility. The rationale behind this simple strategy is that the notebook library can be expanded as new capabilities are developed in each code, and that a similar strategy could be adopted for many other codes that are not being considered in this pilot phase.

Notebooks are being designed so that they can serve a dual purpose: (i) To be used as a learning tool, either as self-learning or in organized training events, via laptops or small-scale computing servers; (ii) To be used as cloud engines for running high-performance computing (HPC) simulations on TACC supercomputers. This latter functionality is under development, and will make HPC materials simulations more accessible to researchers who do not have access or familiarity with HPC resources.