Abstract

We present a platform for quantum embedding methods, Portobello, which facilitates efficient software development and ease of use by assimilating legacy electronic structure code into the modern software ecosystem and abstracting quantum embedding methods and their common operations (like projection and embedding). DFT+Gutzwiller (DFT+G) and DFT+DMFT are abstracted and then implemented within the framework as a proof of concept, and we discuss how their combination enables more predictive DFT+DMFT, more efficient material design, and the exploration of regimes outside the domain of one method but within the domain of another. The platform, its architecture and capabilities, and useful software paradigms and patterns which are uncommon in physics codes are presented here. Finally, DFT+G and DFT+DMFT calculations of NiO are presented to demonstrate how combining multiple quantum embedding methods empowers analysis. Program summaryProgram Title: PortobelloCPC Library link to program files:https://doi.org/10.17632/5p4nggbktd.1Developer's repository link:https://www.physics.rutgers.edu/~adler/portobello.htmlLicensing provisions: GPLv3Programming language: Python, Fortran, C++, CUDANature of problem: Abstracting quantum embedding methods and integrating them with legacy (Fortran) code in order to develop a flexible and maintainable modern platform for strongly correlated electron calculation is difficult, due to the structure of legacy code, the barriers between modern programming languages and Fortran, and the need for high-level abstractions which are best supported with modern languages and tools.Solution method: A metadata repository of C++ header files (schema) is established which defines the complex data structures upon which the abstractions in Portobello are built. An automatic code-generator translates this schemas into Fortran and Python structures which may be stored or loaded from file or memory seamlessly and in either language.Additional comments including restrictions and unusual features: DFT+G and DFT+DMFT are implemented seamlessly to facilitate use, comparison, and extension. Symmetry analysis, including symmetry adapted bases, is available for projection. Multiple (inequivalent) impurities and sub-shell calculations (e.g., one can project onto just the eg orbitals of a correlated d-shell) are supported. Optics, ARPES, thermoelectric power, free energies are implemented.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call