[Q-e-developers] Plotting many KS orbitals in one pp.x run (and more)

Leopold Talirz leopold.talirz at gmail.com
Tue Jan 3 20:41:38 CET 2017


Dear all,

I have now prepared a patch against QE 6.0 that implements the straightforward input format suggested by Tone and Giovanni.

Main features:
* plot_num 3 can now plot the local density of states not only at the Fermi energy but on any energy specified (or a grid of energies between emin and emax)
* plot_num 7 can now plot not only one but several Kohn-Sham states at once (kpoint, kband and spin_component are now arrays of length 2. kpoint(1) and kpoint(2) can now be used to specify a range of kpoints to plot, analogously for kband and spin_component)

The default behavior should be unchanged (i.e. kpoint=1, kband=4 still works).

Still to do:
* build updated documentation (started updating it but didn't have latex2html available to test it)
* need to adapt adapt local_dos_mag, which is called in non_collinear calculations (shouldn't take me too long)


Please let me know, if you have any comments so far.
Below are some more details/comments you may want to have a look at. 

* the changes to symmetry-functionality form the old patch are gone. I did not move sym_rho_init outside the loop as this would have messed up the code structure. Instead, sym_rho_init and sym_rho_deallocate are called each time (an avoidable overhead, but not a very big one I believe (?))
* names of new input parameters:
  * degauss_ldos allows to set the broadening used for the local density of states.
    this is perhaps not the best name, in particular since I would like its units to be eV, which are also used for emin, emax.
    however, it defaults to degauss used in the calculation (as this is what happens in QE 6.0).
  * delta_e defines the spacing of the energy grid for the calculation of the LDOS
     Not sure whether "edelta" would be more "espressoesque"...?
* names of output files: as there are now several output files, they need to be named
  for plot_num 3 I simply chose $filplot001  for the intermediate file and $filplot001$fileout for the final file (e.g. cube format). Which file corresponds to which energy can be read from the title line of the cube file.
  for plot_num 7 I chose $filplot_K001_B001 for the intermediate file and $filplot_K001_B001$fileout for the final file. Also here the info is contained in the cube file title, so one could adopt the same naming scheme in principle.
  
* the final conversion into cube files is done by chdens.f90, which I now made into a module in order to be able to pass allocatable parameters to a function.
   In my opinion, both the "chdens" and the "extract" functionality could go into one "ppio_module". also "chdens" might perhaps better be renamed to something like "plot" as it
   doesn't just handle charge densities and basically does what one specifies in the &PLOT namelist of the input file.
* there seems to be an undocumented input parameter "epsilon" in PP (I guess it is an electric field?)
  I haven't tested whether it still works. I guess it should either be documented or removed.


Cheers,
Leo


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-pp.x-can-plot-multiple-KS-orbitals-LDOS.patch
Type: application/octet-stream
Size: 125982 bytes
Desc: not available
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20170103/3dadd4b6/attachment.obj>
-------------- next part --------------




More information about the developers mailing list