Skip to content

First step to functional library and libxc incorporation (LDA)

Fabrizio Ferrari requested to merge (removed):master into develop

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.

Merge request reports