MGGA Improvements
This MR includes several improvements and bug fixes to the meta-GGA code in GPAW. I am labeling it as a draft until the full CI runs and passes.
- Parallelization: The generation of kinetic energy density and orbital-dependent potential were slow for large, domain-parallelized systems due to the fact that (unlike the density) the kinetic energy density generation/potential steps did not send bands between nodes to reduce FFT distribution. This is fixed here, and meta-GGA calculations are now much faster for large systems.
- The
augment_grids=True
parallelization option was made compatible with PW mode for meta-GGAs, which it previously was not. - The stress tensor has been implemented for meta-GGA functionals.
- Bug fix: The diagonalize_full_hamiltonian function was missing the meta-GGA potential term.
- Bug fix: The fixed_density function did not constrain the kinetic energy density to be fixed, which is necessary to keep the potential the same.
- Relevant unit tests for fixed_density, diagonalize_full_hamiltonian, and stress with meta-GGAs were added.
Please let me know if you have any feedback on things that should be changed before merging.