Updated spectral function routines
original PR message from @AlynJ
I've updated the spectral function routines in sumk_dft_tools.py. Now there are unique routines which calculate the density of states, spaghettis and spectral function (energy) contours (only for Elk inputs for now). I've tried to condense the code down so that it's (hopefully) clearer and uses more internal routines (for example spaghettis and spectral_contours [which replaces the fs_plot routine] uses the same routine to calculate the k-resolved spectral function). I've updated the documentation which should describe these routines in depth along with the input parameters, output variables and example plots showing what the routines can do.
These routines should have the same functionality as before along with some additional features, such as Wannier projected spaghettis and spectral_contours. Also, they have functionality specific to the dft code inputs. I've commented out the Elk specific DFT+DMFT PDOS for now as I've lost confidence with what I implemented before and I need to revisit this.
Alongside this, I've edited the Elk converter documentation and updated the interface routines which read in the data for the spectral function (energy) contours. I've also included more tests which test the Elk inputs and these new spectral routines.
These new routines pass the pre-existing spectral function tests (I note that I've not altered these .h5 files). I've also tested these new routines with the Elk inputs, but I think they need to be verified with the other dft code inputs.
This update allows to compute optical properties using Wannier90 and WannierBerri. All existing transport features from SumkDFTTools are now integrated in sumk_dft_transport.py as functions.
* feat: new code = "wannier90"
* refactor: free functions instead of sum_k members
If code is chosen as wannier90:
* feat: compute transport function
* feat: compute OC in Wannier or Hamiltonian basis
* feat: compute intra- and interband contributions separately in OC