Hello,
I'm new to EPW, and want to compute the e-ph coupling for a solid hydrogen phase. I'm following the steps from the "Electron-phonon coupling with EPW" tutorial (Wed.4 at https://docs.epw-code.org/doc/School2018.html - PDF attached). I'm able to run the code up to page 6 of the PDF, and produce the second epw.x output. It looks like the code runs properly (input and output files attached). The electronic bands are computed correctly (band.eig, band.ps). However, the phonon frequencies have a problem. Many of the interpolated frequencies are correct, but parts of the path are completely off by orders of magnitude (phband.frq). To compare, I plotted the phonon dispersions from epw.x (phbands.freq.png) and matdyn.x (scf.freq.png). As you can see, there is a reasonable match for the points where epw.x was able to give sensible results, but parts of the plot are trash. I also attach the decay plots. I don't know how much decay I should expect in order to be confident in the calculation.
I'd appreciate any comments. Since I'm very new to epw, I might be missing something obvious so don't hesitate to give me any suggestions that might be relevant. Thank you!
Attachments: https://www.dropbox.com/sh/skp3wglmlzhd ... BdE8a?dl=0
Best,
Mehmet Dogan
Phonon interpolation problem with EPW
Moderator: stiwari
Re: Phonon interpolation problem with EPW
Dear Mehmet Dogan:
First, I would suggest you to use the recent official version of EPW v5.3 (https://gitlab.com/QEF/q-e/-/releases) or the recent development version of EPW (https://gitlab.com/QEF/q-e); I have no experience with EPW v5.1 you are using.
There are several changes in EPW v5.3 (See the Releases page at https://docs.epw-code.org/doc/Releases.html); in your case, you should (1) not use "nosym=.true." in nscf.in, (2) remove "nbndskip = 0", and (3) remove the q-point list in epw.in.
If you encounter the same issues when using EPW v5.3 or the development version, please provide scf_band.kpt, scf.in, ph.in, and nscf.in.
Sincerely,
H. Lee
First, I would suggest you to use the recent official version of EPW v5.3 (https://gitlab.com/QEF/q-e/-/releases) or the recent development version of EPW (https://gitlab.com/QEF/q-e); I have no experience with EPW v5.1 you are using.
There are several changes in EPW v5.3 (See the Releases page at https://docs.epw-code.org/doc/Releases.html); in your case, you should (1) not use "nosym=.true." in nscf.in, (2) remove "nbndskip = 0", and (3) remove the q-point list in epw.in.
If you encounter the same issues when using EPW v5.3 or the development version, please provide scf_band.kpt, scf.in, ph.in, and nscf.in.
Sincerely,
H. Lee
Re: Phonon interpolation problem with EPW
Dear Mehmet Dogan:
You can also try lifc=.true. with the IFC file. Please check the following post at viewtopic.php?p=3403#p3403 .
Sincerely,
H. Lee
You can also try lifc=.true. with the IFC file. Please check the following post at viewtopic.php?p=3403#p3403 .
Sincerely,
H. Lee
Re: Phonon interpolation problem with EPW
Dear H. Lee,
Thank you very much for your suggestions! I will first try again after setting "lifc=.true." when the machine I'm running these calculations on comes back online tonight. I'm hesitant to recompile the new version of QE (6.6) because I've already computed the phonons of these systems, which takes several weeks, and there are several systems. In case I need to upgrade to EPW 5.3, do you think it would work with the QE version that I'm using (6.4.1)? I would simply replace the EPW folder in the QE-6.4.1 package with the one from QE-6.6, and recompile. I can then run the nscf and epw as you described. Do you think that might work?
Best,
Mehmet
Thank you very much for your suggestions! I will first try again after setting "lifc=.true." when the machine I'm running these calculations on comes back online tonight. I'm hesitant to recompile the new version of QE (6.6) because I've already computed the phonons of these systems, which takes several weeks, and there are several systems. In case I need to upgrade to EPW 5.3, do you think it would work with the QE version that I'm using (6.4.1)? I would simply replace the EPW folder in the QE-6.4.1 package with the one from QE-6.6, and recompile. I can then run the nscf and epw as you described. Do you think that might work?
Best,
Mehmet
Re: Phonon interpolation problem with EPW
Dear Mehmet Dogan:
Instead, you would try to just use the results of phonon calculations with QE v6.4.1 stored in the save folder which EPW imports and rerun scf, nscf, and EPW using QE v6.6 and EPW v5.3.
However, (I am sorry) I can't be 100% sure whether or not it has no issue.
Sincerely,
H. Lee
I think that you would encounter the error in compiling since several changes of QE v6.6 were reflected in the EPW v5.3.I would simply replace the EPW folder in the QE-6.4.1 package with the one from QE-6.6, and recompile.
Instead, you would try to just use the results of phonon calculations with QE v6.4.1 stored in the save folder which EPW imports and rerun scf, nscf, and EPW using QE v6.6 and EPW v5.3.
However, (I am sorry) I can't be 100% sure whether or not it has no issue.
Sincerely,
H. Lee
Re: Phonon interpolation problem with EPW
Dear H. Lee,
Thank you for your helpful explanations. I will try these suggestions as soon as I can, and will let you know what happens.
Best,
Mehmet
Thank you for your helpful explanations. I will try these suggestions as soon as I can, and will let you know what happens.
Best,
Mehmet
Re: Phonon interpolation problem with EPW
Dear H. Lee,
I tried the quick fix first, using your instructions on [viewtopic.php?p=3403#p3403], but I had the exact same results for the phonon frequencies. So I compiled QE-6.6 as you suggested, and ran the scf and nscf calculations. When I run the first epw calculation, however, I get the "BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES" error. I tried to fix the epw input based on the changes to the 5.3 version, but I may have done it incorrectly. Could you take a look at the new "epw1.in" and "epw1.out" files at [https://www.dropbox.com/sh/skp3wglmlzhd ... BdE8a?dl=0] and let me know what the issue might be? Thank you so much!
Best,
Mehmet
I tried the quick fix first, using your instructions on [viewtopic.php?p=3403#p3403], but I had the exact same results for the phonon frequencies. So I compiled QE-6.6 as you suggested, and ran the scf and nscf calculations. When I run the first epw calculation, however, I get the "BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES" error. I tried to fix the epw input based on the changes to the 5.3 version, but I may have done it incorrectly. Could you take a look at the new "epw1.in" and "epw1.out" files at [https://www.dropbox.com/sh/skp3wglmlzhd ... BdE8a?dl=0] and let me know what the issue might be? Thank you so much!
Best,
Mehmet
Re: Phonon interpolation problem with EPW
Dear Mehmet:
First, I found one suspicious thing in your old output of epw2.out as you can see below:
However, "fsthick = 1" in your epw2.in removes some of them, finally leading to 224 q points.
So I would suggest you the following things (I hope that you didn't remove the old folder from EPW v5.1):
(1) Check the default value of fsthick in EPW/src/epw_readin.f90 in EPW v5.1 .
(2) if the default value of fsthick is very large, for instance, 1.d10, please comment or remove the line of "fsthick = 1" in your epw2.in
(3) Rerun epw2.in with EPW v5.1
Second, regarding the error from EPW v5.3:
It seems that you encounter the error when epmatq is written. In your case, this file is very large, but I guess that you have no problem with EPW v5.1.
So I would suggest you the followings:
(1) Please check your job log files (generated when your job was stopped) to see whether or not there are some further hints for your error.
(2) Please run test-suite in q-e/test-suite by issuing "make run-tests-epw-parallel" in order to confirm that there are no issues with your build.
Sincerely,
H. Lee
First, I found one suspicious thing in your old output of epw2.out as you can see below:
Initially, you have 297 q points in the k(q)-point list of scf_band.kpt.Using q-mesh file: scf_band.kpt
WARNING: q-point weigths do not add up to 1 [loadqmesh_serial]
Size of q point mesh for interpolation: 297
Using k-mesh file: scf_band.kpt
WARNING: k-point weigths do not add up to 1 [loadkmesh_para]
Size of k point mesh for interpolation: 594
Max number of k points per pool: 20
Fermi energy coarse grid = 15.506147 eV
===================================================================
Fermi energy corresponds to the coarse k-mesh
===================================================================
ibndmin = 1 ebndmin = 1.075
ibndmax = 3 ebndmax = 1.212
Number of ep-matrix elements per pool : 1080 ~= 8.44 Kb (@ 8 bytes/ DP)
A selecq.fmt file was found but re-created because selecqread == .false.
Number selected, total 100 100
Number selected, total 200 269
We only need to compute 224 q-points
However, "fsthick = 1" in your epw2.in removes some of them, finally leading to 224 q points.
So I would suggest you the following things (I hope that you didn't remove the old folder from EPW v5.1):
(1) Check the default value of fsthick in EPW/src/epw_readin.f90 in EPW v5.1 .
(2) if the default value of fsthick is very large, for instance, 1.d10, please comment or remove the line of "fsthick = 1" in your epw2.in
(3) Rerun epw2.in with EPW v5.1
Second, regarding the error from EPW v5.3:
It seems that you encounter the error when epmatq is written. In your case, this file is very large, but I guess that you have no problem with EPW v5.1.
So I would suggest you the followings:
(1) Please check your job log files (generated when your job was stopped) to see whether or not there are some further hints for your error.
(2) Please run test-suite in q-e/test-suite by issuing "make run-tests-epw-parallel" in order to confirm that there are no issues with your build.
Sincerely,
H. Lee
Re: Phonon interpolation problem with EPW
Dear H. Lee,
Thank you very much for your thoughtful suggestions!
1) EPW 5.1 calculation seems to have worked after getting rid of "fsthick = 1". I added "phband.freqs.2.png" to the folder [https://www.dropbox.com/sh/skp3wglmlzhd ... BdE8a?lst=]. I also added the input and output files ("epw1-5.1.in", "epw1-5.1.out", "epw2-5.1.in", "epw2-5.1.out"). Thank you so much!
2) I ran the test that you suggested on QE-6.6 and it seems to have passed (see "qe-test-results" in the folder). The error message in the log file ("epw1-5.3.err") basically reads "output statement overflows record" for the .epb files. I don't know what this means but probably it has something to do with the size of these files. Let me know if you have any suggestions about how I might fix this issue. Thank you!
Best,
Mehmet
Thank you very much for your thoughtful suggestions!
1) EPW 5.1 calculation seems to have worked after getting rid of "fsthick = 1". I added "phband.freqs.2.png" to the folder [https://www.dropbox.com/sh/skp3wglmlzhd ... BdE8a?lst=]. I also added the input and output files ("epw1-5.1.in", "epw1-5.1.out", "epw2-5.1.in", "epw2-5.1.out"). Thank you so much!
2) I ran the test that you suggested on QE-6.6 and it seems to have passed (see "qe-test-results" in the folder). The error message in the log file ("epw1-5.3.err") basically reads "output statement overflows record" for the .epb files. I don't know what this means but probably it has something to do with the size of these files. Let me know if you have any suggestions about how I might fix this issue. Thank you!
Best,
Mehmet
Re: Phonon interpolation problem with EPW
Dear Mehmet:
1. Regarding the overflow error:
You passed all parallel EPW tests; since they include writing prefix.epb* files, this fact means that (in general) you have no issue with writing prefix.epb* files.
Frankly, I don't see anything suspicious in your inputs and outputs regarding this error.
Writing epb files is done in the part below of EPW/src/elphon_shuffle_wrap.f90.
As you can see, you encounter the overflow error when writing one (or more) arrays among nqc, xqc, et_loc, dynq, epmatq, zstar, epsi .
I think that in order to resolve this issue, we need to first know when the overflow error arises.
2. Regarding the phonon dispersion:
Compared with scf.freqs.png or scf.freqs.1.png, your plots still show some (small) degeneracy breaking.
If you don't like this (though there might be negligible difference in your final results), you can try the followings:
You already tried lifc=.true.; if even with lifc=.true. you have still degeneracy breaking, you can try " use_ws = .true. " (I guess use_ws is implemented in EPW v5.1)
Sincerely,
H. Lee
1. Regarding the overflow error:
You passed all parallel EPW tests; since they include writing prefix.epb* files, this fact means that (in general) you have no issue with writing prefix.epb* files.
I guess that you had no issue when using the same inputs with EPW v5.1 on the same cluster and using the same compiler to build EPW .I don't know what this means but probably it has something to do with the size of these files
Frankly, I don't see anything suspicious in your inputs and outputs regarding this error.
Writing epb files is done in the part below of EPW/src/elphon_shuffle_wrap.f90.
Code: Select all
IF (epbwrite) THEN
OPEN(iuepb, FILE = tempfile, FORM = 'unformatted')
WRITE(stdout, '(/5x, "Writing epmatq on .epb files"/)')
WRITE(iuepb) nqc, xqc, et_loc, dynq, epmatq, zstar, epsi
CLOSE(iuepb)
WRITE(stdout, '(/5x, "The .epb files have been correctly written"/)')
ENDIF
I think that in order to resolve this issue, we need to first know when the overflow error arises.
2. Regarding the phonon dispersion:
Compared with scf.freqs.png or scf.freqs.1.png, your plots still show some (small) degeneracy breaking.
If you don't like this (though there might be negligible difference in your final results), you can try the followings:
You already tried lifc=.true.; if even with lifc=.true. you have still degeneracy breaking, you can try " use_ws = .true. " (I guess use_ws is implemented in EPW v5.1)
Sincerely,
H. Lee