MolSSI-BSE / basis_set_exchange

A repository for quantum chemistry basis sets
https://molssi-bse.github.io/basis_set_exchange/
BSD 3-Clause "New" or "Revised" License
153 stars 44 forks source link

MINAO and MINAO-PP minimal basis sets #119

Closed TiborGY closed 3 years ago

TiborGY commented 4 years ago

Molpro has two minimal basis sets that do not seem to be widely available in other programs: MINAO and its sibling for use in combination with ECPs. As far as I can tell, they have never been published on their own, but the Molpro developers have a simple definition for them:

These sets simply consist of the AO part of the cc-pVTZ or cc-pVTZ-PP basis sets, stripped of all their polarization functions.

Recently, I have found these minimal basis sets to be extremely useful for combating SCF convergence issues, and having an easy way to use them in other programs would be nice. Source: https://www.molpro.net/info/2015.1/doc/manual/node177.html

susilehtola commented 4 years ago

Minimal basis sets are indeed often useful for locating the correct ground state of complicated molecules, if you don't have weakly bound electrons. For instance, J. Comput. Chem. 34, 1311 (2013) advocates a strategy where the calculation is first done in a valence-only minimal basis, which can be determined automatically by the quantum chemistry program; this is what is essentially done in the SAD routine and can also be used to fashion a Huckel-type guess as I explained in J. Chem. Theory Comput. 15, 1593 (2019); I've also tabulated the necessary atomic ground state configurations in Phys. Rev. A 101, 012516 (2020)

But, alternatively, you can also just use a smaller basis set; e.g. pc-0 is an excellent choice.

"MINAO" is kind of a poor choice of words, though, since a minimal AO basis set can be built from any primitives; instead of cc-pVTZ you could pick any other generally contracted basis set, like ANO-DK3, or use the above approach to get the minimal basis set automatically. The biggest problem is that the orbitals from "MINAO-PP" are not going to be transferable to other basis sets, since the ECPs may be different.

TiborGY commented 3 years ago

Thanks for the enlightening comment. Right now I am working with a system where it is very easy to miss the lowest energy HF solution, depending on the exact details of the guess used, at certain geometries one can easily find multiple HF solutions. (some of them might be unstable though)

I am also in the unfortunate position, that I might end up being forced to assemble composite energies from energies coming from different quantum chemistry packages, as no single package has all the methods required by the composite scheme (for open shell systems at least), or the implementation of one of the methods is very inefficient.

Usually this is OK as long as the convergence thresholds are tightened in both programs, but this time (if the composite scheme is unavoidable) I would have to somehow make sure that both programs used the same converged SCF WF. But unless I can find a way to transfer a converged SCF WF between Molpro and other QC packages, I need to coax two different SCF solvers into converging to the same (lowest) solution. Hence the desire to have MINAO in other programs.

Since I am using AVnZ basis sets anyways, I am not too worried about transferability to other basis sets right now, but that is a good point in general.

susilehtola commented 3 years ago

Which composite scheme are you referring to?

TiborGY commented 3 years ago

Eq. 1 from Phys. Chem. Chem. Phys., 2020,22, 3775-3778 I need an efficient open-shell CCSD-F12b implementation and also an efficient open-shell BCCD(T) implementation. Molpro has the former, but no open-shell Brueckner. Orca 4 seems to have the latter, but I think the last time I tried the F12 implementation was much slower (would need to rebenchmark that though).