-
Notifications
You must be signed in to change notification settings - Fork 31
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
Diskless/stateless MOPAC API #203
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #203 +/- ##
==========================================
+ Coverage 66.75% 67.22% +0.47%
==========================================
Files 332 336 +4
Lines 74082 75424 +1342
==========================================
+ Hits 49456 50707 +1251
- Misses 24626 24717 +91 ☔ View full report in Codecov by Sentry. |
This is a impressive stepm thanks for you effort. I guess when it will be ready we can move to python interaction more easily. |
The API is now passing a minimal set of tests for all of the basic functionality. I still need to test some periodic systems and cases with COSMO enabled, and I need to perform more error handling, especially for malformed inputs. FORCETS does not presently support periodic systems, and this support needs to be added for the API to function correctly for vibrational calculations of periodic systems. Overall, the API is in good enough shape now to add to the development version, although it still needs more testing and work before the next production release. |
This is an open PR for a new MOPAC API that is diskless and stateless. It exposes a limited set of core features: SCF calculations, geometry relaxation, and vibrational frequencies. Also, it gives access to the fast MOZYME solver for SCF calculations and geometry relaxation. Most inputs and outputs are collected and passed through Fortran types provided by the API, and the entire state of the calculation is described by that information. This API also completely avoids using the disk for input and output, which maybe be useful for high-throughput calculations on large, parallel computers with slow disks.
The intent of this API is to supersede #96, which was used as a starting point for the design of this API. All the features of that API are available in some form through this API.
The main features of the API are all implemented, but testing has just started. This open PR includes a simple unit testing system for the API, but there is only one test implemented so far and the testing criteria need to be expanded and refined to cover all the features and relevant data of the API. I expect bugs will be identified and fixed in the process of expanding the testing coverage of the API, and the PR won't be merged until all features are thoroughly tested by these unit tests.
Status