Portobello - Quantum embedding in correlated materials made accessible
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.