Skip to content

MGGA Improvements

Kyle Bystrom requested to merge kylebystrom1/gpaw:mgga_improvements into master

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.

Merge request reports