EDIpack2 for inequivalent impurities
EDIpack2ineq is a complementary sub-library of EDIpack2, which extends its functionalities to systems with several independent impurities. These maye emerge from RealSpace-DMFT treatment of unit cells with different inequivalent atoms or large super-cells with broken translational symmetries (heterostructures, disordered systems, etc.).
As for its scope, the structure of this sub-library closely mimics that of EDIpack2 adding, where needed, new procedures adapted to the inequivalent impurities case. A standard fortran interface is then used to group all the procedures (from EDIpack2 and EDIpack2ineq) under the same name.
Library Frontend
The EDIPACK2INEQ
module represents the main user interface
(or Fortran API). This modules gives access to all the available
procedures and variables as needed to solve quantum impurity problems.
Core Solver Routines
The module E2I_MAIN
extends wrapping of the main algorithms into
three functions, one for each step: initialization,
solution and finalization.
General Environment
This part of the library includes a set of global variables and procedures for EDIpack2ineq. This includes:
E2I_VARS_GLOBAL
: contains global shared
variables storing site dependent quantities in the memory
Finally, E2I_AUX_FUNX
defines procedures which are used throughout the code.
Quantum Impurity Bath
The module E2I_BATH
contains some extensions to procedures
enabling user side control of the bath setup and the implementation of
conventional symmetry operations.
Input/Output
The module E2I_IO
provides to extended input and output
procedures returning observables or dynamical functions per
inequivalent site.
Bath Optimization
The module E2I_BATH_FIT
contains the extensions of the
generic function ed_chi2_fitgf()
to perform
multiple independent minimizations for all inequivalent sites.