evaleev / libint

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

BasisSet's `max_l` and `max_nprims` #154

Closed javierelpianista closed 4 years ago

javierelpianista commented 4 years ago

How are these variables set? Shouldn't they be set when the BasisSet object is constructed? In the examples from the Wiki engines are created by using the following code:

Engine s_engine(Operator::overlap,  // will compute overlap ints
                obs.max_nprim(),    // max # of primitives in shells this engine will accept
                obs.max_l()         // max angular momentum of shells this engine will accept
               );

But when constructing a BasisSet from the included files these variables are not set, i.e., the following code:

libint2::BasisSet obs("aug-cc-pVDZ", atoms);
std::cout << obs.max_nprim() << " " << obs.max_l() << std::endl;

returns 0 0.

javierelpianista commented 4 years ago

I found the problem. I had exported the variable LIBINT_DATA_PATH wrongly and the constructor wasn't able to read the basis set. It threw me off because it didn't give any errors.