Skip to content

Add real ORCA 6.1.0 test data: pentane conformer EQE and a deep-tunnelling HAT - #21

Merged
bobbypaton merged 1 commit into
masterfrom
claude/serene-wright-bcwkr5
Sep 29, 2026
Merged

bobbypaton merged 1 commit into
masterfrom
claude/serene-wright-bcwkr5

Conversation

@bobbypaton

@bobbypaton bobbypaton commented Sep 29, 2026 •

Copy link
Copy Markdown
Member

Summary

This keeps the ORCA outputs from the stale feat/goodvibes-integration branch before that branch is deleted.

That branch has 18 commits that were never merged. I compared them with master. Every feature on it has since been reimplemented on master, often more generally:

  • GoodVibes-based parsing and scaling factors;
  • ORCA support and ORCA mass normalization;
  • the Bell crossover guard and Skodje–Truhlar tunnelling;
  • packaging, the publish workflow and the module split.

Only three things are missing from master: these ORCA files, a Rich-table terminal output that master never adopted, and a warning for KIEs above 1.5 or below 0.67.

The files are also the real ORCA fixtures that tests/data/orca/README.md and the implementation plan (Phase 5) asked for. Until now the ORCA tests ran on Gaussian Hessians rewritten in ORCA's format.

The data (tests/data/orca/, ORCA 6.1.0)

  • pentane_TT / pentane_GG (.out, .hess): the anti,anti and gauche,gauche conformers of n-pentane, r2SCAN-3c optimization and frequencies.
  • hat_gs_freq / hat_ts_freq (.out, .hess, .inp): the reactant and transition structure of a hydrogen-atom transfer.
    • Level of theory: broken-symmetry M06-2X-D3(0)/6-31+G** with SMD(dichloromethane), a triplet guess flipped to M_S = 0.
    • H26 moves from C13 to C6 in the transition mode (1974.9i cm⁻¹). I checked this from the imaginary mode and the C–H distances: 1.106 Å in the reactant, 1.238 and 1.667 Å at the transition structure.
    • The parabolic-barrier crossover temperature is therefore 438 K, so 298 K is in the deep-tunnelling regime.

The .out files are kept whole, not trimmed to the sections Kinisot reads. The point is to keep the data, and the plan's "< 100 kB" guideline is the trade-off.

Tests (tests/test_orca.py)

  • test_real_orca_conformer_eqe:
    • The level of theory is detected as r2SCAN-3c/def2-mTZVPP; it has no scaling factor, so none is applied.
    • The EQE for ²H at atom 6 is 1.0077302, with no warnings.
    • Reading the .hess files directly gives the same number.
  • test_real_orca_deep_tunnelling_hat:
    • The scaling factor 0.968 is detected from ORCA's ! input line.
    • At 298 K the KIEs are: primary ²H 3.18884 (4.46248 with Wigner), ³H 5.11494, secondary ²H at H24 1.037178.
    • Kinisot refuses the Bell correction below the 437.8 K crossover temperature; the Skodje–Truhlar correction stays finite.
    • At 500 K, Bell gives 5.67082 and Skodje–Truhlar 4.85377, less tunnelling from the truncated parabola, as expected.

These values reproduce the ones first pinned on the old branch within 1.5 × 10⁻⁵ (relative). The pentane EQE differs by 7.5 × 10⁻⁸, which comes from slightly different isotope masses.

Docs

  • tests/data/orca/README.md describes the new files and their provenance. A linear molecule is still wanted.
  • The implementation plan (Phase 5 note) and CHANGELOG ("Unreleased") are updated.

Verification

  • ruff check . and ruff format --check . are clean.
  • pytest tests/: 255 passed, 1 skipped.
  • The wheel is unchanged (87 KB). The sdist grows from 1.05 to 1.36 MB, because MANIFEST.in ships tests/**/*.out; as for the existing ORCA fixtures, the .hess files aren't in it.

Once this merges, feat/goodvibes-integration holds nothing that isn't on master, and it can be deleted.

Summary by CodeRabbit

  • Tests
    • Added validation using real ORCA 6.1.0 calculations for pentane conformer equilibrium isotope effects and hydrogen-atom-transfer isotope effects.
    • Coverage checks isotope-specific results, automatic scaling, consistency between output and Hessian inputs, and tunneling corrections across temperatures.
  • Documentation
    • Updated fixture notes to describe the new ORCA calculation data and clarify the source and format of existing fixtures.

…lling HAT

The ORCA outputs from the feat/goodvibes-integration branch, the only
content of that branch that master does not already have:

- pentane_TT / pentane_GG: n-pentane conformers at r2SCAN-3c; the
  conformational EQE for 2H at atom 6 (unscaled).
- hat_gs_freq / hat_ts_freq (.out, .hess, .inp): a hydrogen-atom transfer
  at broken-symmetry M06-2X-D3(0)/6-31+G**, SMD(dichloromethane). H26 moves
  from C13 to C6 in the 1974.9i cm-1 transition mode, so the crossover
  temperature is 438 K.

tests/test_orca.py pins the EQE and the HAT KIEs (primary and secondary
2H, 3H, Wigner, Skodje-Truhlar, and Bell above the crossover temperature),
checks that Bell is refused below it, and checks the scaling factor
(0.968) detected from the ORCA input line. The values reproduce those
first pinned on the branch within 1.5e-5 (relative).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K49r16vaYeUsGCHD26vmM2
@coderabbitai

coderabbitai Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Essentials

Run ID: 5afc13e9-08ad-41d7-a0a2-af3e4c30dc6c

📥 Commits

Reviewing files that changed from the base of the PR and between d536cc8 and e5fdfb6.

⛔ Files ignored due to path filters (4)
  • tests/data/orca/hat_gs_freq.out is excluded by !**/*.out
  • tests/data/orca/hat_ts_freq.out is excluded by !**/*.out
  • tests/data/orca/pentane_GG.out is excluded by !**/*.out
  • tests/data/orca/pentane_TT.out is excluded by !**/*.out
📒 Files selected for processing (10)
  • CHANGELOG.md
  • IMPLEMENTATION_PLAN.md
  • tests/data/orca/README.md
  • tests/data/orca/hat_gs_freq.hess
  • tests/data/orca/hat_gs_freq.inp
  • tests/data/orca/hat_ts_freq.hess
  • tests/data/orca/hat_ts_freq.inp
  • tests/data/orca/pentane_GG.hess
  • tests/data/orca/pentane_TT.hess
  • tests/test_orca.py

Included review availability: This review used your included allowance. 1 included review remains after this review. Your included PR review attempts over the past 7 days set your current allowance at 2 reviews per hour.


📝 Walkthrough

Walkthrough

The change adds ORCA 6.1.0 hydrogen-atom-transfer frequency inputs, documents the pentane and hydrogen-atom-transfer fixtures, and adds tests for conformer equilibrium isotope effects, hydrogen-atom-transfer isotope effects, scaling, and tunneling behavior.

Changes

ORCA fixture tests

Layer / File(s) Summary
Frequency inputs and fixture documentation
tests/data/orca/hat_gs_freq.inp, tests/data/orca/hat_ts_freq.inp, tests/data/orca/README.md, IMPLEMENTATION_PLAN.md
Adds frequency calculation inputs for the hydrogen-atom-transfer reactant and transition state. Documents the pentane and hydrogen-atom-transfer fixtures and notes that a linear-molecule fixture is still wanted.
Isotope-effect and tunneling tests
tests/test_orca.py, CHANGELOG.md
Adds tests for pentane conformer equilibrium isotope effects and hydrogen-atom-transfer isotope effects, scaling, and tunneling behavior. The changelog records the test expectations.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~15 minutes

Change: Other

Suggested reviewers: claude

Merge Risk: ⚪ Minimal · up to e5fdf

The changes add ORCA fixtures, regression tests, and provenance documentation without an identified behavioral regression. Mergeable subject to normal test checks.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 1 files. (5 skipped: 5 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely identifies the main change: adding real ORCA 6.1.0 test data for pentane conformer EQE and deep-tunnelling HAT.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 1 files. (5 skipped: 5 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@bobbypaton
bobbypaton merged commit b1969d5 into master Sep 29, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants