The transition dipole moment calculation

I am trying to get the transition dipole moment from the ABINIT calculation. These values are used in the calculation of linear and nonlinear susceptibility, so I believe the transition dipole moment should be calculated in the program. Where can I find this data? If it is not printed out, is there any method to pick it up?

These values are used in the calculation of linear and nonlinear susceptibility, so I believe the transition dipole moment should be calculated in the program.

The matrix elements of the velocity operator

<nk| \dfrac{\partial{H}}{\partial{k_i}} |mk>

are computed in the DFPT code when we perform a DDK calculation.

See e.g. this section of the optics tutorial.
These matrix elements are stored in the 1WFK files produced by the DFPT run (one file for each reduced direction).

To understand how to read these matrix elements from file, you may want to look at
the optic Fortran tool (abinit/src/98_main/optic.F90 at 9670f8e7ff0b3310581270c073eb60e28f2fc347 · abinit/abinit · GitHub)

Note that optic is also able to read the same matrix elements from the EVK.nc netcdf files that are automatically produced by the DDK runs.
The EVK.files are much smaller that the 1WFK files as they do not contain the first-order wavefunctions, only the matrix elements of dH/dk

1 Like

Thank you very much for your kind reply. Now I understand that the optic utility read in the result of the DDK perturbation and calculate the optical response. I notice that in the introduction (Optic - abinit), it says that ‘A straightforward relationship exists between the dH/dk matrix elements and the matrix elements of the momentum operator’. What is the relation between them? Does the momentum matrix we discussed here the same as the momentum operator defined in quantum mechanics, which is proportional to the gradient in real space?

By the way, I successfully print the momentum matrix by the method discussed here ( momentum matrix element calculation - ABINIT Discussion Forums).