evaleev / libint

Libint: high-performance library for computing Gaussian integrals in quantum mechanics
Other
218 stars 96 forks source link

What is Shell.contr used for? #266

Closed FreemanTheMaverick closed 6 months ago

FreemanTheMaverick commented 11 months ago

Hello. I have used libint2 for some years, but one question is always confusing me.

It seems to me that each shell has only one Contraction. Then why is there a std::vector<Contraction> in each shell. And further, why is Contraction designed in the first place? If there had been no Contraction, to find the angular momentum I would have just called someshell.l, which is more convenient and direct, instead of someshell.contr[0].l.

evaleev commented 6 months ago

support for generally contracted shell may be included in the future ... though not sure if that's a good idea