First step to functional library and libxc incorporation (LDA)
The LDA xc drivers are put into Modules/xc_lda_lsda_drivers.f90. The routine xc() has been turned into xc_lda(), xc_spin() into xc_lsda(). Now xc() is a wrapper to q-e and/or libxc drivers. LDA correlation and exchange functionals are now in separated files (exchange_lda_lsda.f90 and correlation_lda_lsda.f90).
Similar modifications have been done for dmxc routines.
In funct.f90 it has been defined the integer array qe_or_libxc(1:2) in order to decide whether to use qe or libxc for each term (LDA exchange and LDA corr for now).
The program PP/src/benchmark_libxc.f90 provides benchmarks between q-e and libxc for LDA.
The final aim is to put the xc part of q-e into an external library, therefore the modifications have been done in view of this.
Suggestions and/or criticisms are welcomed.