LetzElPhC
Moderators: palful, amolina, mbonacci
-
rishabhsrsw7
- Posts: 23
- Joined: Thu Sep 15, 2022 6:17 am
LetzElPhC
Greetings forum,
I am trying to generate the elph_gkkp_* elements using LetzElPhC and yambopy, following the tutorial https://wiki.yambo-code.eu/wiki/index.p ... minescence. Dvscf calculations generate a ph_save and _ph0 folders. ph_save has one "dvscf1" file, which from my lelphc.log, I see that LetzElPhC uses to generate the gkkp elements.
My issue is: in ph_save only dvscf1 is generated, so the LetzElPhC calculation stops after the first q point, however, in _ph0 I see dvscf files at every q point, should I be copying those files into ph_save and renaming them dvscf1, 2, 3... etc?
Regards
I am trying to generate the elph_gkkp_* elements using LetzElPhC and yambopy, following the tutorial https://wiki.yambo-code.eu/wiki/index.p ... minescence. Dvscf calculations generate a ph_save and _ph0 folders. ph_save has one "dvscf1" file, which from my lelphc.log, I see that LetzElPhC uses to generate the gkkp elements.
My issue is: in ph_save only dvscf1 is generated, so the LetzElPhC calculation stops after the first q point, however, in _ph0 I see dvscf files at every q point, should I be copying those files into ph_save and renaming them dvscf1, 2, 3... etc?
Regards
Rishabh Saraswat
PhD student
Indian Institute of Information Technology-Allahabad
India
Institute: http://www.iiita.ac.in/
PhD student
Indian Institute of Information Technology-Allahabad
India
Institute: http://www.iiita.ac.in/
-
batman
- Posts: 21
- Joined: Sun Jun 20, 2021 2:04 pm
Re: LetzElPhC
Dear Rishabh,
Can you try the following?
first delete the existing ph_save
Go to the directory where you performed your phonon calculations and run the following command
PH.X_input_file is the input file of ph.x
You should see ph_save directory and check if all dvscf and dyn* are present.
Now perform your electron phonon calculation using the following command
lelphc.in is the letzelphc input file
Please go to the following link for more details (https://yambo-code.github.io/LetzElPhC/ ... age/usage/)
once you have the ndb.elph file, you can use yambopy to generate the databases
and check your save folder.
Let me know if it worked. if not please paste the warnings/errors and a sample input file to if we reproduce this behaviour.
Best Regards,
Murali
Can you try the following?
first delete the existing ph_save
Go to the directory where you performed your phonon calculations and run the following command
Code: Select all
lelphc -pp -F PH.X_input_file
You should see ph_save directory and check if all dvscf and dyn* are present.
Now perform your electron phonon calculation using the following command
Code: Select all
mpirun -n 2 lelphc -F lelphc.in
Code: Select all
nkpool = 1
# Number of MPI pools for k-point parallelization
nqpool = 1
# Number of MPI pools for q-point parallelization
start_bnd = 1
# First band to include in the calculation
end_bnd = 40
# Last band to include in the calculation
save_dir = SAVE
# Path to the Yambo SAVE directory
ph_save_dir = ph_save
# Path to the phonon save directory generated by the preprocessor
convention = yambo # !!!!! ALways set this to yambo when generate yambo gkkp databases !!!!!
once you have the ndb.elph file, you can use yambopy to generate the databases
Code: Select all
from yambopy import LetzElphElectronPhononDB,ConvertElectronPhononDB
print(":: Load el-ph database ::")
lelph_obj = LetzElphElectronPhononDB('ndb.elph',div_by_energies=False)
print(":: Convert el-ph data to yambo format ::")
l2y = ConvertElectronPhononDB(lelph_obj,'lelphc','SAVE','SAVE')
Let me know if it worked. if not please paste the warnings/errors and a sample input file to if we reproduce this behaviour.
Best Regards,
Murali
Muralidhar Nalabothula
Doctoral student at Department of Physics and Materials Science,
Université du Luxembourg
Doctoral student at Department of Physics and Materials Science,
Université du Luxembourg
-
rishabhsrsw7
- Posts: 23
- Joined: Thu Sep 15, 2022 6:17 am
Re: LetzElPhC
Dear Murali,
I generated the ph_save, it still generates only dvscf1 inside, all the dyn* files are however present.
I do get a warning when I generate the ph_save, which says
Regards and Thank you
I generated the ph_save, it still generates only dvscf1 inside, all the dyn* files are however present.
I do get a warning when I generate the ph_save, which says
Following this, the elph calculations stop after the first q point because no other dvscf files are present. Do I need to set ldisp to true for all the dvscf files?Warning : ldisp is set .false. in the ph.x calculation. Make sure dyn0 file is present with k-point compatible q-point grid.
Regards and Thank you
Rishabh Saraswat
PhD student
Indian Institute of Information Technology-Allahabad
India
Institute: http://www.iiita.ac.in/
PhD student
Indian Institute of Information Technology-Allahabad
India
Institute: http://www.iiita.ac.in/
-
batman
- Posts: 21
- Joined: Sun Jun 20, 2021 2:04 pm
Re: LetzElPhC
Dear Rishabh,
It is always suggested to set ldisp=.true. and use the automatic uniform grid (that is commensurate with the k grid used in yambo) from Quantum ESPRESSO (this is much easier than manually specifying the points and less error prone).
In any case, since you already have the phonons, I suggest copying the following files manually to ph_save:
You need to create the dyn0 file manually in the following format and put it in ph_save:
Where:
- nq1 x nq2 x nq3 is the uniform q-grid that is commensurate with k grid used in yambo
- nq_iBZ is the number of q-points in the irreducible Brillouin zone (iBZ) that you asked ph.x to compute
- The next nq_iBZ lines are the q-points in Quantum ESPRESSO units (2pi/alat). These are the same values you specify in your QE input file, be careful with the units (they must be in 2pi/a0).
It is always suggested to set ldisp=.true. and use the automatic uniform grid (that is commensurate with the k grid used in yambo) from Quantum ESPRESSO (this is much easier than manually specifying the points and less error prone).
In any case, since you already have the phonons, I suggest copying the following files manually to ph_save:
Code: Select all
data-file-schema.xml from prefix.save
{pseudo_file} all pseudopotentials in prefix.save
dyn0 # you do not have this file when ldisp=.false. so you need to create this file (see below)
dyn1, dyn2, ... dynamical matrix of each q-point in your list
dvscf1, dvscf2, ... dvscf matrix of each q-point in your list
patterns.{i}.xml. # in _ph0/prefix.phsave/
tensors.xml # in _ph0/prefix.phsave/ (ignore this file if not present in the directory)
Code: Select all
nq1 nq2 nq3
nq_iBZ
qx qy qz
qx qy qz
...
- nq1 x nq2 x nq3 is the uniform q-grid that is commensurate with k grid used in yambo
- nq_iBZ is the number of q-points in the irreducible Brillouin zone (iBZ) that you asked ph.x to compute
- The next nq_iBZ lines are the q-points in Quantum ESPRESSO units (2pi/alat). These are the same values you specify in your QE input file, be careful with the units (they must be in 2pi/a0).
Muralidhar Nalabothula
Doctoral student at Department of Physics and Materials Science,
Université du Luxembourg
Doctoral student at Department of Physics and Materials Science,
Université du Luxembourg
-
rishabhsrsw7
- Posts: 23
- Joined: Thu Sep 15, 2022 6:17 am
Re: LetzElPhC
Dear Murali,
Thanks a lot for your prompt help with this. I will do this and I believe this solves all the errors.
Regards
Thanks a lot for your prompt help with this. I will do this and I believe this solves all the errors.
Regards
Rishabh Saraswat
PhD student
Indian Institute of Information Technology-Allahabad
India
Institute: http://www.iiita.ac.in/
PhD student
Indian Institute of Information Technology-Allahabad
India
Institute: http://www.iiita.ac.in/
-
rishabhsrsw7
- Posts: 23
- Joined: Thu Sep 15, 2022 6:17 am
Re: LetzElPhC
Hi Murali,
I did transfer all the dvscf files, and everything else. The run started fine, but when it starts to calculate the el-ph matrix elements at q=2, I got this error:
Regards
I did transfer all the dvscf files, and everything else. The run started fine, but when it starts to calculate the el-ph matrix elements at q=2, I got this error:
All the atomic positions, celldm, and everything else is perfectly fine with scf and nscf runs. How do I solve this issue?# [ Error !!!] : File : symmetries/rotate_eig_vecs.c, in function : rotate_eig_vecs at line : 71
Error msg : Unable to find the equalivalent atom for the symmetry operation. Wrong symmetry operation detected.
*************************************
Regards
Rishabh Saraswat
PhD student
Indian Institute of Information Technology-Allahabad
India
Institute: http://www.iiita.ac.in/
PhD student
Indian Institute of Information Technology-Allahabad
India
Institute: http://www.iiita.ac.in/
-
batman
- Posts: 21
- Joined: Sun Jun 20, 2021 2:04 pm
Re: LetzElPhC
This is happening because the Letz code is unable to find the equivalent atom under the symmetry operations when performing the rotation of phonon displacement vectors (as the errors says).
A very likely cause is that the atomic positions are not specified with sufficient precision. For example, if you set a coordinate to 0.3333330000 instead of the more precise 0.3333333333, QE is still able to identify the symmetry because it uses a tolerance of 1e-5. However, the Letz code uses a stricter tolerance of 1e-6, so it may fail to find the equivalent atom.
I have patched the code by relaxing the tolerance to 1e-5. Could you please clone the repository again from scratch (git clone https://github.com/yambo-code/LetzElPhC) and recompile it (make sure to simply reuse your make.inc to avoid setting it again)?
Let me know if this fixes the issue.
A very likely cause is that the atomic positions are not specified with sufficient precision. For example, if you set a coordinate to 0.3333330000 instead of the more precise 0.3333333333, QE is still able to identify the symmetry because it uses a tolerance of 1e-5. However, the Letz code uses a stricter tolerance of 1e-6, so it may fail to find the equivalent atom.
I have patched the code by relaxing the tolerance to 1e-5. Could you please clone the repository again from scratch (git clone https://github.com/yambo-code/LetzElPhC) and recompile it (make sure to simply reuse your make.inc to avoid setting it again)?
Let me know if this fixes the issue.
Muralidhar Nalabothula
Doctoral student at Department of Physics and Materials Science,
Université du Luxembourg
Doctoral student at Department of Physics and Materials Science,
Université du Luxembourg
-
rishabhsrsw7
- Posts: 23
- Joined: Thu Sep 15, 2022 6:17 am
Re: LetzElPhC
Dear Murali,
Thanks a lot, that worked perfectly. It created the ndb.elph database, and the gkkp files.
Regards
Thanks a lot, that worked perfectly. It created the ndb.elph database, and the gkkp files.
Regards
Rishabh Saraswat
PhD student
Indian Institute of Information Technology-Allahabad
India
Institute: http://www.iiita.ac.in/
PhD student
Indian Institute of Information Technology-Allahabad
India
Institute: http://www.iiita.ac.in/