Skip to content

Extension of EPW to PAW and optimization in the subroutines related to USPP and PAW in EPW

Hyungjun Lee requested to merge (removed):develop into develop

Dear all:

This commit includes the implementation to make EPW compatible with PAW and the optimization in the subroutines relevant to both USPP and PAW.

Minor modifications and additions are needed to extend EPW to the PAW case as in DFPT [Andrea Dal Corso, Phys. Rev. B 81, 075123 (2010)]. The files, dvscf_paw_*, including the term due to PAW, should be read from the converged phonon calculations like dvscf files. I modified pp.py in EPW/bin to import these files.

Regarding optimization, I implemented the parallelization over G vectors using the intra image communicator in the subroutines related to USPP and PAW. The current version of EPW has the restriction that the number of k pools should be the same as that of CPUs (This restriction will be removed from EPW v6.0). But, even under this restriction, we can parallelize calculations and distribute data when evaluations are independent of k points. Additionally, I removed unnecessary parts and made changes to enable more efficient calculation.

With these changes and optimization, we can reduce memory usage, and more importantly, compared with the previous version, I achieved huge speedup by larger than 80% in the step of e-ph vertex calculation on coarse grids for my test case of Pb using 112 cores without any numerical difference in results.

Lastly, I included the new test for PAW, epw_trev_paw.

Sincerely,

Hyungjun Lee

Edited by Hyungjun Lee

Merge request reports