Get the irreducible atomic perturbations numbers

Hi all,

Is there a way to make abinit print the irreducible perturbations it will do in a dfpt run without actually doing the actual calculations? I am looking to print this table without abinit running anything:


Knowing the perturbations will help me to split a very hard calculation in many smaller calculations: one calculation for each irreducible atomic perturbation / direction.


I found the answer: the magical value of paral_rf = -1 does exactly that.

See docs.

Just a side note, the list of irreducible perturbations depends on the q-point and the kind of perturbation activated in the input file (atomic displacement, ddk, electric field, etc).

This means that in the most general case in which one needs to compute the dynamical matrix for different q-points in the IBZ, one has to loop over the q-points in the IBZ and, for each **q-**point, set the appropriate value of qpt in the input file before calling abinit with paral_rf = -1

To get the list of q-points in the IBZ in netcdf format, one can use prtkpt -2.
but it’s much easier to use this AbiPy script to automate all the steps.

1 Like