Introduces general infrastructure for global Hybrids and CAM (Coulomb-Attenuating Method) functionals. In particular, four new functionals are available with this PR:
Global Hybrids: B3LYP, PBE0
CAM: CAM-B3LYP, CAM-PBEh
Done/remaining tasks:
[x] uninitialized floats should be detected more safely due to pre-initialization of reals and integers in debug mode
[x] compiler toolchain selection corrected
[x] some non-standard conforming structures converted to standard-conforming ones to compile in F2018 compliance mode
[x] Poisson solver and finite differences cleaned up
[x] Hubbard U correction algorithm generalized to CAM-functionals
[x] check total energy course vs. range-separation parameter (checked against NWCHEM)
[x] test long-range Hartree-Fock contribution to dimer Hamiltonian for simple limiting case
(reproduces (by approx. 10^(-10)a.u.) long-range Hartree-Fock contribution routine for large range-separation parameters)
[x] verify reproducibility of old functionals --> largest deviations observed throughout: ~10^(-7)a.u.
(LDA-PW91, GGA-PBE96 checked against old skprogs, GGA-BLYP, LCY-PBE96, LCY-BNL checked against Regensburg)
more in-depth validation of two-center code for new functionals (no idea how)
Introduces general infrastructure for global Hybrids and CAM (Coulomb-Attenuating Method) functionals. In particular, four new functionals are available with this PR:
Global Hybrids: B3LYP, PBE0 CAM: CAM-B3LYP, CAM-PBEh
Done/remaining tasks: