You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit a8226e0
Browse filesBrowse the repository at this point in the historyBrowse files
MOPAC: re-enable IR intensities, with an End that cannot starve (#103)
The parser was already written and verified. It was disabled on
2026-09-22 because its End anchor, "SYMMETRY NUMBER FOR POINT-GROUP",
is not printed for every molecule or runtype, and eccejobmonitor treats
reaching EOF inside an open block as fatal:
FATAL ERROR: JobOutputGet: end of file encountered while reading
parse type VIBIR
Two traps stood between that and a working End, and both were hit here
rather than reasoned about:
"FORCE CONSTANT" appears INSIDE every VIBRATION stanza, so ending on
it closes the block after the first mode and reports one mode's
intensity as though it were all of them. The withdrawal note
predicted exactly this for a blank line; the stanza field has the
same shape.
"SYMBOL FORCE CONSTANT" -- the header of the table that follows --
cannot match a stanza line and is present exactly once in every
fixture that has a vibrations block. But with THERMO that table is a
long way past the stanzas (438 to 647 in ch4_geovib) and the
thermochemistry table sits between them at 492, so ending there
swallowed [ENTHALPY]...'s Begin and stopped MOPAC thermochemistry
being extracted at all. The suite caught it immediately: "expected
parse type [ENTHALPY]... never delivered a block".
The End is therefore an alternation. "SYSTEM IS A GROUND STATE" is
printed straight after the stanzas whenever THERMO is on, closing the
block before the thermochemistry; the table header closes it otherwise.
Units say "arb. units" and mean it. MOPAC prints a transition dipole
in Debye -- confirmed against its own manual, which gives the formula
and explicitly offers no conversion -- and IR intensity goes as the
square. The stored value is that square on a relative scale, so peak
positions and relative heights are right and the y-axis is not
comparable with another code's km/mol.
The geovib case now pins VIBIR at length 9 alongside the
thermochemistry, so the two cannot silently trade places again.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EFMUNbw2UpRPmgsqviAowb
0 commit comments