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.
make veryclean removes MBD build directory
if not removed during configure the presence of MBD may cause compilation failure
fixing missing initialization in CPV/src/stress.f90
cleanup of CPV/src/potentials.f90
I didn't like the way spin-orbit-related variables were distributed between
upflib and the main code. Now upflib has an internal flag for spin-orbit
calculations, set when variables are allocated to the same value as in the
main code (and not the oher way round). Given the small number of variables
left in spin-orbit modules in upflib and in the main code, I think that both
should be merger into the "uspp" and "noncolin" modules, respectively.
1. Problem in read_upf_v1: mismatched allocations when size is zero (noticed by Lothar Brendel)
2. Makefile modified to prevent trouble with some overzealous linkers linking even what is not used
3. README.md updated
Not sure when and why the variable upf%typ was dimensioned to 20 characters:
- it should be 4 characters at most
- it may be incorrectly read from some upf v.1 files
Should fix issue #351