Skip to content
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

Missing TOTAL ENERGY, ELECTRONIC ENERGY, and CORE-CORE REPULSION #66

Open
godotalgorithm opened this issue Jun 21, 2022 · 1 comment
Open
Labels
wontfix This will not be worked on

Comments

@godotalgorithm
Copy link
Collaborator

godotalgorithm commented Jun 21, 2022

Short Version: Versions of MOPAC prior to 2022 reported a TOTAL ENERGY, ELECTRONIC ENERGY, and CORE-CORE REPULSION in the output file. These outputs are now suppressed by default, but they are still accessible by using the DISP keyword. It is also important to note that the geometric derivatives (e.g. forces & vibrations) computed by MOPAC are with respect to the heat of formation, not this TOTAL ENERGY.

Medium Version: These outputs have been suppressed because they were observed to be a common source of confusion among MOPAC users. MOPAC's semiempirical models are designed to reproduce heats of formation, and their primary energetic output is a predicted heat of formation. The additional outputs of TOTAL ENERGY, ELECTRONIC ENERGY, and CORE-CORE REPULSION represent an arbitrary decomposition of the heat of formation that do not have any independent physical meaning and notably lack any dispersion corrections that have been introduced in recent models. The DISP keyword clearly reports the decomposition of the heat of formation into these terms and a dispersion correction, when applicable. This is in contrast with conventional quantum chemistry calculations that typically report a physically meaningful "total energy" and "total electronic energy".

Long Version: Semiempirical thermochemistry and its implementation in MOPAC have long focused on directly modeling molecular heats of formation, rather than modeling the total energy of a molecule and relying on more expensive vibrational calculations to produce the vibrational and entropic contributions to a predicted heat of formation. This decision was highly beneficial at a time when computational resources were limited, as it enabled a direct connection to available reference data (i.e. experimental heats of formation) for fitting models and avoided the need to perform expensive vibrational calculations in the process of predicting heats of formation, which were of direct interest to experimentalists using MOPAC. The downside of this decision was that a minimal-basis Hartree-Fock model doesn't contain any terms that looked like a non-trivial vibrational contribution (a model limitation) and formal access to a purely electronic energy requires a cumbersome and expensive removal of an explicit vibrational contribution (a computational limitation). In practice, these downsides are not very relevant because the vibrational/entropic contributions that differentiate a heat of formation from a formation energy can be approximated as conformation-independent atomic corrections. This approximation is roughly comparable to the underlying accuracy of MOPAC's models, and it is a sensible, practical way to repurpose MOPAC's outputs as pure energies rather than heats (e.g. if MOPAC is used to drive molecular dynamics). As the accuracy of semiempirical models continues to improve, it will eventually be important to be more mindful and careful about the distinction between modeling formation energies and heats of formation.

@godotalgorithm godotalgorithm pinned this issue Jun 21, 2022
@godotalgorithm godotalgorithm unpinned this issue Jun 21, 2022
@godotalgorithm godotalgorithm added the wontfix This will not be worked on label Jun 21, 2022
@ajjackson
Copy link

ajjackson commented Jul 30, 2022

Hi,

thanks for explaining this change clearly. One side-effect is that it causes a few issues when using a recent Conda build with the ASE MOPAC interface https://wiki.fysik.dtu.dk/ase/ase/calculators/mopac.html#module-ase.calculators.mopac

  • The TOTAL ENERGY value was used as the calculated potential energy value for the purposes of ASE optimisers etc. So now a default (actually 1SCF GRADIENTS) calculation returns forces but no potential energy. This is surprising to e.g. optimisers and dynamics routines that expect to track the energy.
  • Adding the DISP keyword restores this energy, but a new occurrence of 'FINAL HEAT OF FORMATION' trips up the text parser. We can fix that easily enough with a more specific regex.
  • I note that MOPAC doesn't seem to mind if DISP is specified more than once, so the simplest approach from ASE's end may be to always append DISP to the keyword set.

So it looks like the ASE parser can be updated in a backward-compatible way. But I would like to ask if it seems reasonable from MOPAC's perspective for ASE to keep using the TOTAL ENERGY value. This will be used within optimisers, dynamics routines etc. Would you recommend, for example, that the dispersion energy is added to the total for this purpose? Is it likely to make any practical difference if these methods switch to using the FINAL HEAT OF FORMATION as the reported "potential energy"? Is there a structure-dependent component of ENERGY OF ATOMS or are they unchanging free-atom values?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants