openmopac / mopac

Molecular Orbital PACkage
http://openmopac.net
GNU Lesser General Public License v3.0
122 stars 32 forks source link

interface integration #48

Open thegodone opened 2 years ago

thegodone commented 2 years ago

Would it be possible to make an interface integration layer on top of the code to be able to link MOPAC into python functions in a modern style without read/write files ?

godotalgorithm commented 2 years ago

We do plan to develop our own Python interface to MOPAC, but there are already two Python interfaces available that I am aware of: MOPAC can be used as a calculator in ASE and an engine in QCEngine. Both of these interfaces are presently limited in which outputs they can access from MOPAC (it might be only heats of formation, forces, and/or relaxed geometries), and our plan is to expand that access in our own interface (and perhaps contribute similar features to these other interfaces).

Do you need access to any MOPAC features or outputs that aren't presently accessible through either ASE or QCEngine?

Do you have a use case where you need to completely suppress file I/O for some reason, or would it be acceptable for inputs and outputs to be harvested from temporary files that are automatically deleted? MOPAC's I/O is rigidly tied to disk access right now. A somewhat short-term hack would be to use strings in place of files to avoid disk access. Ideally, it would be desirable to pass data into and out of MOPAC purely through data structures, but that is a much more substantial undertaking, and I'm not clear that there is yet a use case to justify the development effort.