When I tried to follow the trf2_5 step in RF2(use anaddb to produce B2EPS.freq file for graphical output of phonon band structure), this message pops up:
— !ERROR
src_file: m_ddb.F90
src_line: 7000
mpi_rank: 0
message: |
Elements are missing in the DDB.
In block iq1: 1 the following element is missing:
(idir1, ipert1, idir2, ipert2): 1 1 1 1
Action: add the required information in the DDB with mrgddb,
and/or check that all irreducible perturbations have been computed.
Here’s my input file for generating DDBs: G-qpts.abi (4.9 KB)
I attempted to solve the error myself but can’t find variables “ipert” and “idir” in the Input variables database and don’t know in which file should I define the values.
ipert and idir are internal variables, for the perturbation (atom, ddk, E field etc) and direction (reduced coordinate x y z). They are not explicit input variables, but their limits and values are controlled by rfatom and rfdir - why did you comment these in your input? The values were correct. NB: in the latest abinit version these are also the defaults : rfatom 1 natom and rfdir 1 1 1.
The real problem is that you canceled rfphon for the Gamma point in dtset 3. The Gamma point phonons are also needed, and you will not get crossed terms with the Born effective charges either. You could also do an additional q=0 dtset with just the phonons, but there is no point in separating it from the DDE calculation if you’re doing it anyway.
Finally, in graphene you probably don’t need the DDE DDK perturbations, since it’s a metal. You may use them for other things like transport later on, but for the pure phonons there is no DDE and LO/TO splitting. This is a danger of just copying over a tutorial input, which is made for a semiconductor in this case, and applying it to a random other material, like metallic graphene, though you have set occopt etc so things should be fine once you fix rfphon3.
NB: ecut 20 is probably not converged.
NB2: you write “rfphon1 0 # Cancel default” but the rfphon 1 default is not actually set, otherwise it might have also interfered with dtset 2…