Right now (or maybe it's still a WIP?) MOCharges returns a number of centers by number of MOs matrix. The centers used are the ones in from space of the MOs. This could conceivably not be what the caller wants because: e.g., the same center was added to the AO basis set multiple times, there are ghost atoms, and/or there are mid-bond functions. My proposal is:
- we introduce a class
PointSet which is a container of Point objects (this would live in LibChemist)
- Refactor the
Atom class to inherit from PointCharge (related to this issue)
- Ensure
AOBasisSet and Molecule are implicitly convertible to PointSet
- Have
MOCharges take a PointSet instance and a DerivedSpace instance
This allows the caller of MOCharges to specify the centers they care about.
Thoughts? Takers?
Edit: Also I propose the name MOPopulations since AFAIK this is simply counting the number of electrons at a point (the electronic charge would -2 times the matrix returned by this PT for restricted spatial orbitals).
Right now (or maybe it's still a WIP?)
MOChargesreturns a number of centers by number of MOs matrix. The centers used are the ones in from space of the MOs. This could conceivably not be what the caller wants because: e.g., the same center was added to the AO basis set multiple times, there are ghost atoms, and/or there are mid-bond functions. My proposal is:PointSetwhich is a container ofPointobjects (this would live in LibChemist)Atomclass to inherit fromPointCharge(related to this issue)AOBasisSetandMoleculeare implicitly convertible toPointSetMOChargestake aPointSetinstance and aDerivedSpaceinstanceThis allows the caller of
MOChargesto specify the centers they care about.Thoughts? Takers?
Edit: Also I propose the name
MOPopulationssince AFAIK this is simply counting the number of electrons at a point (the electronic charge would -2 times the matrix returned by this PT for restricted spatial orbitals).