psi-rking / optking

optking: A molecular geometry optimization program
BSD 3-Clause "New" or "Revised" License
20 stars 14 forks source link

Allow in-memory JSON #26

Closed dgasmith closed 5 years ago

dgasmith commented 5 years ago

Currently the JSON driver run_json expects a JSON serialized file, it would be great if this natively accepted a dictionary and then a wrapper which would optionally read a file off disk. This would be more canonical with other programs in the QCArchive ecosystem.

loriab commented 5 years ago

Good idea. I did the opposite, making a file-less wrapper around the file-full one, but it’d be good to be able to avoid disk entirely.

AlexHeide commented 5 years ago

Sounds good to me

AlexHeide commented 5 years ago

Apparently I did this last November and forgot to close this.

Slight renaming will occur in future pull request from my fork to run_qcschema and run_json_file from run_json_dict and run_json

dgasmith commented 5 years ago

Great! Is this ready to hook up to QCEngine?

psi-rking commented 5 years ago

I think it is, and psi4 too - at least as far as the optimizer functionality goes. I just haven't gotten around to investigating these next steps.

loriab commented 5 years ago

Great! I think optking+qcengine first by duplicating the geomeTRIC tests and making sure optking can run them will nail down and translations between summer2018 json and qcschema json. Then psi4-ddd+qcengine will add both optimizers to psi and we can skip psi4/psi4#1335

AlexHeide commented 5 years ago

Still need to adjust our qcschema class to match the official optimizer format. I will hopefully have that done this week. I have a few bug fixes on my fork to merge. That should be it AFAIK.

loriab commented 5 years ago

once upon a time, I added some return info to geometric (unofficially) https://github.com/loriab/geomeTRIC/commit/b9b0a9e2f008417c2ebffb5ee67de542de3851f3#diff-2af7dd72b77dac63cea64c052a549fe0R1043-R1049 . may lobby to get that back. but that's more of a schema discussion than an optking one.

psi-rking commented 5 years ago

You wanted to return the convergence criteria? Of all things, that seems strange. BTW, we do have the optimization trajectory (or IRC path) in the json output.

On Mon, Aug 5, 2019 at 5:36 PM Lori A. Burns notifications@github.com wrote:

once upon a time, I added some return info to geometric (unofficially) loriab/geomeTRIC@b9b0a9e#diff-2af7dd72b77dac63cea64c052a549fe0R1043-R1049 https://github.com/loriab/geomeTRIC/commit/b9b0a9e2f008417c2ebffb5ee67de542de3851f3#diff-2af7dd72b77dac63cea64c052a549fe0R1043-R1049 . may lobby to get that back. but that's more of a schema discussion than an optking one.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/psi-rking/optking/issues/26?email_source=notifications&email_token=AA4C4TEZEBNMAIDQPEMNWKLQDCTOPA5CNFSM4GDAYTTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3TJDXQ#issuecomment-518427102, or mute the thread https://github.com/notifications/unsubscribe-auth/AA4C4TC4TEPZKZHSA74RIYLQDCTOPANCNFSM4GDAYTTA .

dgasmith commented 5 years ago

You can consider grabbing the QCSchema objects directly from QCElemental: https://github.com/MolSSI/QCElemental/blob/master/qcelemental/models/procedures.py#L24

As a note, we do not yet have an "official" geometry optimization schema yet.

loriab commented 5 years ago

The current state of the opt and what the optimizer program thinks the criteria are, yes. Though it seems strange to you and me, you can't set these in geometric or otherwise know their values.

No IRC yet https://github.com/MolSSI/QCElemental/blob/master/qcelemental/models/procedures.py#L40 . An IRC would probably be a different class derived from ProtoModel. Then could use trajectory like for ordinary opt.