-
Notifications
You must be signed in to change notification settings - Fork 208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Driver-refactoring Design #147
Comments
This comment has been minimized.
This comment has been minimized.
With the updated description of this issue above, I propose to convert this issue into an Epic after everyone had time to review it. I will create separate implementation-oriented issues for all subtasks which can then be assigned to sprints in order to gradually close this (then) Epic. Here are the proposed implementation subtasks:
I would also like to suggest to relocate the entire contents of A final note on the Embedding: for the time being, the Embedding will ship with specific driver subclasses to handle the embedding. In the future, this may be streamlined further (if possible). The details of this implementation will be tackled once we integrate the Embedding itself. |
The drivers have remained mostly unchanged during the past releases and require some updates before more complex workflows (such as those proposed by #26) can be implemented.
We have defined a few tasks which should be tackled as part of this refactoring.
Extraction of a
MoleculeDriver
The introduction of the
Molecule
object introduced a concept of a parameterized-input for those drivers, which couple to a classical code to compute the one- and two-electron integrals at runtme. We have come to the conclusion, that the design of this structure can be improved by following an approach as shown below:A pseudo-code of the
MoleculeDriver
could look similar to this:This will allow us to remove the
molecule
keyword-arguments from all drivers in favor of afrom_molecule
classmethod-initializer.General improvements
The following general improvements are planned for the drivers:
integrals.py
utility methods into the driver classesPySCFDriver
currently does the following:run -> compute_integrals -> _calculate_integrals
_calculate_integrals
actually contains the logic for: integral calculation, result parsing/conversion and theQMolecule
constructionThe text was updated successfully, but these errors were encountered: