I am using Avogadro with the ORCA extension to prepare input files for ORCA calculations.
I would like to perform a Boys–Bernardi counterpoise calculation alongside the main calculation to estimate the interaction energy between two molecular fragments and account for Basis Set Superposition Error (BSSE).
I know that ORCA supports counterpoise calculations, but I would like to know if this calculation can be configured directly through the ORCA input generation interface/extension in Avogadro, rather than manually editing the .inp file afterwards.
For example, is there an option in the Avogadro ORCA extension to specify something equivalent to:
Counterpoise 2
or to define the two molecular fragments required for a two-fragment counterpoise calculation?
If there is no dedicated option in the interface, is there a field in the ORCA extension where I can add the appropriate ORCA keywords or fragment definitions so that Avogadro automatically generates the correct input?
I am currently working with a dimer composed of two fragments (M1 and M2) and would like the generated input file to perform the appropriate Boys–Bernardi/BSSE correction.
I would greatly appreciate any guidance on whether this is supported by the Avogadro ORCA extension and, if so, how it should be configured.
At the moment, the ORCA generator doesn’t track layers or selections, but this seems like a good time to add it - for example assigning atoms in particular layers to each fragment for BSSE.
Shouldn’t take more than a day or two to implement.
(I’ve been meaning to add layer support for doing calculations like this for a while.)
Okay, it definitely needs review and testing, but I have an initial version linked below. It adds a “Counterpoise” calculation type which then grabs monomers from different layers, sets up the multiple %new_job sections and copies keywords.
I asked @brockdyer03 to review, but I’m open to input and suggestions
I didn’t run the calculation.
But I did create a Python GUI.
One that generates dimers from monomers within a supramolecular cluster.
M1-Mn…
Then I used your code to try and build a Python GUI to initiate the BSSE correction as well.
The goal is to create a more user-friendly interface. I haven’t tested if it works, and now I’m going to try to get some sleep. I used Claude and made some implementations.
The dimer script could likely be turned into a plugin directly - I’ll look at the GUI more carefully this afternoon, but it looks pretty straight-forward to migrate.
The draft BSSE script I wrote basically did the same thing - select some atoms or move them to a new layer and you have your two monomers. It looks like ORCA has a nice BSSE compound script, but I’ll need to think about how to integrate that. (ORCA’s compound script itself is easy - you just need to mark some of the atoms with : to indicate the two monomers and it goes from there.)
Today’s the first day of classes, so I have a bunch of things to sort through - but we can get this working soon.