Add new propagation worker and rewrite propagators to use it
Description
Create a generic electronic worker which provides all the routines necessary to perform propagations for the various propagators.
Improvement:
- Forbidding to use QOCT and CN with gauge field as they do not support it.
- Fusing exponential and density calculation for ETRS and EXP_MID.
- Split the AETRS and CAETRS propagators into two routines, as there is no code to reuse
Bugfixes:
- Add the missing extrapolation of the vtau for MGGA with exponential midpoint rule.
- Fix a missing allocation/deallocation for CAETRS with MGGAs.
News snippet
Reorganization of the code of the propagator.
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 Martin Lueders