Usage ===== Preparing the input ------------------- DGAmore takes as input the result of a DMFT calculation, which currently must be produced with w2dynamics, a continuous-time quantum Monte Carlo solver based on the hybridisation expansion. A w2dynamics run yields both the one-particle quantities and a two-particle output containing the four-point Green's functions. The two-particle output first has to be converted into the format DGAmore expects. This is done by running the ``symmetrize_new.py`` script, which is installed alongside the main entry point; it prompts for the input and output file names and writes only the density and magnetic spin components of the two-particle Green's function to the output file. The original, unsymmetrised vertex file is not needed afterwards. In addition to the processed two-particle file, a run requires a configuration file, which describes all run-time parameters, as well as a Hamiltonian. The Hamiltonian can be supplied either as a real-space (Wannier) Hamiltonian or as a momentum-space Hamiltonian generated by wien2wannier, and for interaction types that are not handled directly an additional file specifying the local and non-local interaction can be provided. Running a calculation --------------------- The main entry point of the program is ``DGAmore.py``. Because it is added to the Python environment as a standalone executable, it can be invoked by name without its full path. For single-core execution, which is mainly intended for testing, run: .. code-block:: bash DGAmore.py For a parallel run with MPI, use: .. code-block:: bash mpiexec -np DGAmore.py Instead of ``mpiexec`` you may also use ``mpirun`` or, on SLURM-based clusters, ``srun``. The number of processes ```` should be chosen according to the problem size and the available resources; note that increasing the process count adds communication overhead and does not always improve performance. Two optional command-line arguments are available. The ``-p`` argument specifies the directory containing the configuration file, which is useful when several configuration files are kept in different directories; if it is not given, the path defaults to the repository directory. The ``-c`` argument specifies the name of the configuration file to load and defaults to ``dga_config.yaml``. As an example, the following command runs the code with eight MPI processes and loads the configuration file ``my_config.yaml`` from ``/configs/``: .. code-block:: bash mpiexec -np 8 DGAmore.py -p /configs/ -c my_config.yaml On a SLURM-based cluster, a typical job submission script looks as follows: .. code-block:: bash #!/bin/bash #SBATCH -N #SBATCH -J #SBATCH --partition= #SBATCH --qos= #SBATCH --ntasks-per-node= #SBATCH -t