SumkDFTTools.spectral_contours(mu=None, broadening=None, mesh=None, plot_range=None, FS=True, with_Sigma=True, with_dc=True, proj_type=None, save_to_file=True)[source]

Calculates the correlated spectral function at the Fermi level (relating to the Fermi surface) or at specific frequencies.

The output files have three columns representing the k-point index, frequency and A(k,w) in that order. The output files are as follows:

  • Akw_(sp).dat, the total A(k,w)

  • Akw_(proj_type)_(spn)_proj(i).dat, the A(k,w) projected to shell with index (i).

  • Akw_(proj_type)_(spn)_proj(i)_(m)_(n).dat, as above, but for each (m) and (n) orbital contribution.

The files are prepended with either of the following: For FS set to True the output files name include _FS_ and these files contain four columns which are the cartesian reciprocal coordinates (kx, ky, kz) and Akw. For FS set to False the output files name include _omega_(iom) (with iom being the frequency mesh index). These files also contain four columns as described above along with a comment at the top of the file which gives the frequency value at which the spectral function was evaluated.

mudouble, optional

Chemical potential, overrides the one stored in the hdf5 archive. By default, this is automatically set to the chemical potential within the SK object.

broadeningdouble, optional

Lorentzian broadening of the spectra to avoid any numerical artifacts. If not given, standard value of lattice_gf (0.001 eV) is used.

meshreal frequency MeshType, optional

Omega mesh for the real-frequency Green’s function. Given as parameter to lattice_gf.

plot_shiftdouble, optional

Offset [=(ik-1)*plot_shift, where ik is the index of the k-point] for each A(k,w) for stacked plotting of spectra.

plot_rangelist of double, optional

Sets the energy window for plotting to (plot_range[0],plot_range[1]). If not provided, the min and max values of the energy mesh is used.


Flag for calculating the spectral function at the Fermi level (omega ~ 0) If False, the spectral function will be generated for each frequency within plot_range.

with_Sigmaboolean, optional

If True, the self energy is used for the calculation. If false, the DOS is calculated without self energy. Both with_Sigma and with_dc equal to True is needed for DFT+DMFT A(k,w) calculated. Both with_Sigma and with_dc equal to false is needed for DFT A(k,w) calculated.

with_dcboolean, optional

If True the double counting correction is used.

proj_typestring, optional

The type of projection used for the orbital-projected DOS. These projected spectral functions will be determined alongside the total spectral function. By default, no projected DOS type will be calculated (the corresponding projected arrays will be empty). The following options are:

  • None Only total DOS calculated

  • wann Wannier DOS calculated from the Wannier projectors

save_to_fileboolean, optional

If True, text files with the calculated data will be created.

AkwDict of numpy arrays

(Correlated) k-resolved spectral function. This dictionary has the form of Akw[spn][n_k, n_om] where spn, n_k and n_om are the spin, number of k-points, and number of frequencies used in the calculation.

pAkwDict of numpy arrays

(Correlated) k-resolved spectral function projected to atoms (i.e., the Trace of the orbital-projected A(k,w)). This dictionary has the form of pAkw[n_shells][spn][n_k, n_om] where n_shells is the total number of correlated or uncorrelated shells. Empty if proj_type = None

pAkw_orbDict of numpy arrays

(Correlated) k-resolved spectral function projected to atoms and resolved into orbital contributions. This dictionary has the form of pAkw[n_shells][spn][n_k, n_om,dim,dim] where dim specifies the orbital dimension of the correlated/uncorrelated shell. Empty if proj_type = None