The application of the exchange operator for OEP is now done using the...
Description
The application of the exchange operator for OEP is now done using the routine of the exchange_operator object, instead of xc_oep_x_inc.F90 which is now removed. This fixes several problems:
- The EXX was not supporting the CAM parameters omega and beta
- The noncollinear case (for KLI) was not correct Moreover, this adds the support for k-points, as well as OpenMP and batches for the application of the exchange operator.
News snippet
Code refactoring, bugfix for KLI with noncollinear spins, and improved support for hybrid functionals.
Checklist
-
I have checked that my code follows the Octopus coding standards -
I have added tests for all the new features added in this request.
Edited by Nicolas Tancogne-Dejean