# A question about the f-sum and DDK calculation

Dear all

I am checking my result of the DDK perturbation preparing for nonlinear optical calculation. It is a single-step calculation that only includes the DDK for the ground state.

According to the tutorial, the parameter ‘f-sum rule ratio’ should be close to 1. However, it is only 0.6 for my single-step calculation. I am wondering what is the physics meaning of this f-sum. Is it something related to the Thomas–Reiche–Kuhn sum rule?

Another question is how the DDK is calculated in ABINIT. In optical calculation, the matrix element of d(H)/d(k) is applied, so I would like to know what method is applied to calculate this matrix in ABINIT.

Best regards,

Hi Yunnan,

yes, the f sum rule is TRK. 0.6 means you probably need more bands to get the full oscillator strength.

The DDK is calculated from the [H,r] commutator, which picks up the kinetic energy and the non local pseudopotential terms. If you just want the matrix elements (not the DDK 1WF) there is also a run mode for abinit which gets those : see wfk_task Ground-State - abinit

I have tried the calculation with a larger number of bands. The value is still not close to 1, but it gets close to 1 when I remove the nline=0 from the input file. I am wondering whether the value is correctly calculated when nline=0 and whether we need to check this value in a calculation without any optimization.

The Thomas–Reiche–Kuhn sum rule has this expression, but all terms are related with n and position in reciprocal space, so I am wondering how this thing is calculated in ABINIT to get the f sum rule ratio. Best regards,

Interesting, you may be right that the quantities in the f-sum rule may not be well calculated with nline 0. Where are you getting the f-sum rule value from?

In the DFPT part of the code this is evaluated from the 1st order kinetic energy ek1 in
95_drive/m_dfpt_looppert.F90
At this point there is a Sternheimer equivalence between the full sum over absent bands and the corresponding 1st order wave function d/dk, for which you certainly need nline >> 0 to get good results.

You can only use nline 0 to get the DDK matrix elements, which can be fed to optic, but then you are doing sums over states, which have to go much higher up in nband than for DFPT. If there is really a difference in the matrix elements for nline =0 and > 0 (this had been checked very thoroughly before) we need to find out why.

I get the f-sum rule from the ‘.out’ file as shown below: I’ll check the matrix element for nline=0 and >0. Is there a script that can directly read the 1WF file? I have tried the cut3d, but it doesn’t work.

Hi Yufan,

So this confirms what I wrote in the other post: you are using the sternheimer expression to get the f sum rule, which goes through the perturbed wave functions, and needs full convergence with nline>0. Perhaps we should add a warning to the output, but breaking the sum rule is indeed a demonstration that you are not at convergence

In the optics code I think there is another evaluation of the f sum using sums over states and just the non scf matrix elements.

Yes, adding a warning will be really helpful. For optical utility, I still have a question. You said that the matrix is the same for nline>0 and nline=0. Is it means that the optimization in this calculation doesn’t change the matrix elements? If it is true, the non-converged result should be OK for optical calculation.

Best regards,

The optic calculation should be correct indeed.