Description
#21 reverted the removal of the IAO fragmentation for DMET.
I'm fine with leaving it available for DMET (but leaving the documentation as it is, saying it's not available?)
One of the reasons was that the change from IAO to SAO breaks the miniumum basis (STO-6G) DMET tests; this only happens because the IAO reference basis is taken to be the 'minao'
basis of G. Knizia, but I think it is hard to justify that the IAOs for a minimal basis set should be anything different than the unchanged basis set itself. I will update the default basis at least for the STO-nG family, while leaving the tests untouched.
I actually think we should protect the user from using an insufficient fragmentation in a more general sense (which would also catch if some atoms were forgotten for example). That is, we could add two routines,
fragmentation_complete()
and fragmentation_occupied_complete()
, which check that the entire occupied+virtual and occupied space is spanned by orthonormal fragment orbitals, respectively. This can be tested either on __exit__
of the fragmentation context manager, or at the beggining of kernel()
and print a warning if it returns False
.