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

Leopold Talirz leopold.talirz at gmail.com
Mon Nov 7 18:05:49 CET 2016


Dear QE developers,

this is a feature request, which I am sending to the mailing list in lieu of access to the QE bug tracker on qe-forge.org <http://qe-forge.org/>


I am sure many of you are familiar with the AiiDA project (http://www.aiida.net/ <http://www.aiida.net/>), which provides not only a very convenient python infrastructure for running QE calculations, but also a database for a consistent storage of results.
 
We have recently come across a "conflict of philosophy" between QE (more specifically, pp.x) and AiiDA that causes considerable computational/data overhead.

Basically, we need to plot lots of KS orbitals for different nanostructures. 
pp.x is designed to produce 1 cube file per execution and AiiDA is designed to produce 1 working directory per calculation. 
I.e. when computing 100 KS orbitals from a band structure calculation, using AiiDA the information contained in the band structure directory is replicated 100 times. 
 
Our solution so far has been to modify the source of pp.x in such a way that one run can produce N KS orbitals. This has the added benefit of saving a lot of "startup time" as compared to running pp.x N times (in a test run generating 21 KS orbitals, the speedup was ~3x but this does vary, of course).
We have already contacted AiiDA developers Nicolas Mounet and Giovanni Pizzi and they are in favor of this solution as well.

I attach a patch against QE 6.0 (git SHA 93ced686f67fe1f3250824358015e2ffde364960) that adds plot_num 22 and 23 in pp.x.
plot_num 23 allows to plot N KS orbitals and plot_num 22 allows to plot the local density of states on a grid of energies between emin and emax (useful for scanning tunneling spectroscopy simulations). The patch starts with a commit message that contains sample input files.

I think the main question is, whether you would consider deviating from the "1 run = 1 output file" policy. 
If yes, then one can think of the details regarding the implementation (the patch, including the input format for the KS orbitals, can certainly be improved).

Best wishes,
Leopold Talirz, Carlo Pignedoli and Sasha Yakutovich

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20161107/76c3dfd2/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pp_many2.patch
Type: application/octet-stream
Size: 13749 bytes
Desc: not available
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20161107/76c3dfd2/attachment.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20161107/76c3dfd2/attachment-0001.html>


More information about the developers mailing list