Gbasis
From cclib
gbasis stores information about the Gaussian basis functions that were used in the calculation. The information is stored per atom using the same conventions as PyQuante. Specifically, gbasis is a list (per atom) of lists (per Gaussian basis function) of tuples of length 2 consisting of orbital type (e.g. 'S', 'P' or 'D') and a list (per contracted GTO) of tuples of size 2 consisting of the exponent and coefficient. Confused? Well, here's gbasis for a molecule consisting of a single C atom with a STO-3G basis:
[ # per atom
[
('S',[
(71.616837, 0.154329),
(13.045096, 0.535328),
(3.530512, 0.444635),
]),
('S',[
(2.941249, -0.099967),
(0.683483, 0.399513),
(0.222290, 0.700115),
]),
('P',[
(2.941249, 0.155916),
(0.683483, 0.607684),
(0.222290, 0.391957),
]),
]
]
Notes
For different programs, you need to include different keywords in order for gbasis to be parsed:
- Gaussian - GFINPUT (note that GFPRINT gives equivalent information in a different format. At the moment, GFPRINT output will cause parsing errors but it may be supported or at least ignored in the future).
- GAMESS - no special keywords are required, but the basis is only available for symmetry inequivalent atoms. There does not seem to be any way to get GAMESS to say which atoms are related through symmetry. As a result, if you want to get basis set info for every atom, you need to reduce the symmetry to C1.
- GAMESS UK - As for GAMESS
- Jaguar - for more information see the manual.
Development notes
It also needs to be noted whether any D and F functions are pure (5D, 7F) or Cartesian (6D, 10F). PyQuante can only handle Cartesian functions, but we should extract this information in any case. We will need to extend the PyQuante basis set format to include this.
