mopac icon indicating copy to clipboard operation
mopac copied to clipboard

Diskless/stateless MOPAC API

Open godotalgorithm opened this issue 8 months ago • 2 comments

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

  • [ ] Ready for merge

godotalgorithm avatar May 29 '24 19:05 godotalgorithm