Bringing Electronic Structure Codes into the Modern Software Ecosystem

ORAL

Abstract

We propose a novel framework (“Portobello”) for assimilating Electronic Structure codes into the modern software ecosystem and facilitating an efficient software development process. First we discuss some of the pitfalls of Fortran / Python - centric paradigms, which often lead to flawed design and unwieldy code. We identify a culprit to be the lack of high-level abstraction, which prevents reuse of components, obscures developers' intent, and hinders collaboration. Our new object-oriented framework facilitates all steps of the software developments life-cycle, and is applicable to Fortran-based systems, as well as ones written in C/C++.
Next, we demonstrate how the framework provides a concrete way to address important questions in the physics of Correlated Electronic Structure, as well as implement and test new ideas. Following this approach, we combine A. Kutepov's Fortran-based FlapwMBPT (Full potential LAPW Many-Body Perturbation Theory) with a C++ implementation of CTQMC and Materials Project Pymatgen (crystal and symmetry code) to create a Pythonic charge-self-consistent toy DFT+DMFT program. We demonstrate the calculation of correlated electronic structure, as well as calculation of transport properties, and discuss how the program can be used and extended.

Presenters

  • Ran Adler

    Rutgers University, New Brunswick

Authors

  • Ran Adler

    Rutgers University, New Brunswick

  • Andrey Kutepov

    Condensed Matter Physics & Materials Science Department, Brookhaven National Laboratory, Brookhaven National Laboratory

  • Gabriel Kotliar

    Rutgers University and Brookhaven National Laboratories, Department of Condensed Matter Physics and Materials Science, Upton, New York 11973, USA, Brookhaven National Laboratory, Rutgers University, New Brunswick, Brookhaven National Laboratory, Department of Physics, Rutgers University, Physics, Rutgers University, Rutgers University, New Jersey, USA, Physics and Astronomy Department, Rutgers University, Department of Physics and Astronomy, Rutgers University, NJ