ERROR : Finite difference phonons only allowed for gamma point

Dear Prof. Julian

I was working with the " hNN_WenTadmor_2019Grx_C__MO_421038499185_001" potential for the bilayer graphene (AB stacked structure) in order to produce eigenvectors and the dynamical_matrix.

Somehow on running the GULP with KIM I am finding the error
"ERROR : Finite difference phonons only allowed for gamma point"

Could you please tell me as to why such an error is occuring ?

PS: I am attcahing my GULP script also in case if that’s required for thre query. Also the output file as well.
BLG_GULP_kim_AB.gin (1.1 KB)
output.gout (11.9 KB)

The error message means pretty much what it says. You are using an OpenKIM model (which therefore only has analytic first derivatives) and so phonons have to be generated by finite differences. This only works at the gamma point & so you need to remove any options that ask for phonons away from gamma. If you use a model with analytic second derivatives that is built into GULP then you can get phonons at any k point.

1 Like

Dear Prof Julian,

Thanks for your reply. I am still stuck at the same stage.

I tried to test the KIM potential of argon in order to produce the dispersion curve and the dynamical matrix with/without pfinite keyword in the GULP script(just for checking). And the error is still the same.
"ERROR : Finite difference phonons only allowed for gamma point"

Could you please provide the possible solution as I think the GULP with KIM is not able to produce the dispersion curve correctly?

Thanks in advance.

With regrads

You’re getting the same message for the same reason - OpenKIM only has first derivatives and so you only get phonons at gamma by finite differences (without supercell workarounds). The solution is to use the potentials that are built into GULP so that you can access analytic second derivatives.

Prof Juilian,
I agree with you. Excuse my ignorance.

But many potentials such as Stillinger-Weber has second derivatives as well, yet I am not getting dispersion results. Perhaps the KIM model when links with GULP goes into a subroutine which does not allow to proceed further. I am specifically looking for numerical NOT analytical derivatives.

Most models have 2nd dervatives in theory, but to the best of my knowledge OpenKIM currently only tends to provide first derivatives because many of the codes linked to it are MD ones (except GULP). If you use Stillinger-Weber in GULP you can have 2nd derivatives. However if you use finite differences then you are limited to gamma (as the error message says). Of course it’s not obvious why you wouldn’t analytic derivatives to compute something if they are available unless you are debugging.

1 Like

I get your point Prof Julian.

I was interested in the numerical scheme of things as some of the potentials I am supposed to use could not be calculated analytically(few Machine learning potentials for BLG available in openKIM).

For Single layer graphene while checking for eigenvectors with the GULP (analytical v/s the numerical) I do get the somewhat exact dynamical_matrix. But the eigenvectors do not match exactly. Wasn’t eigenvectors supposed to be also the same if dynamical matrix from analytical and the numerical are coming out to be same?

It’s easiest to check the finite differences for second derivatives against the Hessian (which is what I do in GULP when implementing models) as there are no phase factors to worry about.

For graphene be careful about comparing eigenvectors - if you have degenerate modes (which is highly likely in high symmetry cases) then the answers can vary since the modes can be mixed anyway you like & so there is not necessarily a unique solution. Always test for low symmetry cases to avoid this.

1 Like