MolSSI / QCEngine

Quantum chemistry program executor and IO standardizer (QCSchema).
https://molssi.github.io/QCEngine/
BSD 3-Clause "New" or "Revised" License
163 stars 79 forks source link

Get compute program from InputSpecification instead of keywords for b… #303

Open coltonbh opened 3 years ago

coltonbh commented 3 years ago

…erny optimizer

Description

Closes #302

Changelog description

Get qc program from QCInputSpecification keywords (contains keywords for the compute engine) instead of OptimizationInput keywords (keywords specific to the berny optimizer).

Note:

From the tests here it looks like the idea to include the "program" with the keywords for the optimizer may have come from Geometric where this is more common given that the optimizer itself looks up the qc program it will use to drive the gradient computations. I'd still suggest changing the way parameters are passed to separate the qc computation from the keywords for the optimizer as I think this provides a cleaner separation at the QCElemental level for procedure input specification. However, consider this PR just a suggestion--no right answers here--though I feel my suggestion is cleaner. I did find myself confused when building an implementation of compute_procedure into my own application due to what appeared to me to be mixing of keywords families.

Status

codecov[bot] commented 3 years ago

Codecov Report

Merging #303 (c48d205) into master (cf5fdc5) will not change coverage. The diff coverage is 100.00%.

coltonbh commented 2 years ago

Updating the qcel/qcshema design more fully as proposed in something like this PR will likely address this issue better. Leaving open for now as a reminder; values passed to qcengine (like program) should likely not be mingled with keywords passed the either the optimizer or the qc program.