The need of the spline interpolation is anedoctical and lost in a distant past.
A few tests show minimal differences between ordinary and spline interpolation.
If spline interpolation turns out to be needed in some cases, it can be easily
re-implemented instead of the current interpolation (instead of in addition to)
Get rid of a few special cases of questionable usefulness but very effective
in making the code more complex.
Case 1: nonlocal terms of Goedecker-Teter-Hutter PPs can be computed on a
grid and interpolated like for all other cases
implemented in some parts of the code involving stress calculation and maybe
other cases as well. For the time being, I have added it to the cpu version
(but not in the GPU one, that stops with an error message). For the future:
I think that the more special cases we allow, the more we run into trouble.
In my opinion, GTH pseudopotentials should be treated on the same footing as
other pseudopotentials: computed on an interpolation table and interpolated.
Side remark: there is another special case, spline interpolation (as opposed to
the hand-made one). I think there should be just ONE type of interpolation.