Skip to content

Repository files navigation

ORCA PED Analyzer

Version DOI

ORCA PED Analyzer is a molecule-agnostic tool for assigning ORCA harmonic normal modes through potential-energy-distribution (PED) analysis, with optional VPT2/GVPT2 integration, IR-spectrum generation, CSV export, and Avogadro CJSON export.

Assignments are derived from the calculated atomic motion and an internal-coordinate energy decomposition, rather than from empirical frequency windows.

Download and run

For most users, the easiest way to use ORCA PED Analyzer is through the pre-built desktop application.

No Python installation, terminal, or separate NumPy installation is required when using the packaged applications.

Download the latest release

Looking for an older version? Browse all releases and previous versions.

Available builds:

  • Linux x86_64: AppImage
  • Windows x86_64: standalone .exe
  • macOS Apple Silicon: .dmg containing the .app
  • macOS Intel x86_64: .dmg containing the .app

In the graphical launcher:

  1. Select the central ORCA .hess file.
  2. Optionally select a completed VPT2/GVPT2 .out file.
  3. Choose the output directory if desired.
  4. Run the analysis.

The packaged applications use the same scientific analysis engine as the command-line version.

Note: the current desktop builds are unsigned. Windows SmartScreen or macOS Gatekeeper may therefore display a warning on first launch. On Linux, the AppImage may need to be marked as executable before running it.

Main features

  • Potential-energy-distribution analysis of ORCA harmonic normal modes.
  • Automatic molecule-agnostic internal-coordinate representation.
  • Conservative topology-aware vibrational assignments.
  • Detection and reporting of mixed modes.
  • Optional ORCA VPT2/GVPT2 integration.
  • Analysis of fundamentals, overtones, and combination bands.
  • Generation of broadened IR spectra.
  • CSV export of assignments and PED contributions.
  • Avogadro CJSON export for visualization of harmonic normal modes.

Input and output

The main input is always the central ORCA .hess file.

If a completed VPT2/GVPT2 calculation is available, its .out file can also be supplied. Displaced VPT2 Hessians such as molecule_D001.hess are not intended as input.

For a file named molecule.hess, the default output directory is:

molecule_analysis/

Depending on the available data, the analysis can produce PED and assignment tables, IR spectra, VPT2 band information, Fermi-resonance information, an Avogadro CJSON file, and a run manifest.

Command-line use

The Python command-line version remains available for advanced options, scripting, and reproducible automated workflows.

For the source version only, the requirements are:

  • Python >= 3.9
  • NumPy

Install the dependency with:

python3 -m pip install -r requirements.txt

Basic usage:

python3 orca_ped_analyzer.py molecule.hess

With an explicitly selected VPT2/GVPT2 output:

python3 orca_ped_analyzer.py molecule.hess \
    --vpt2-out molecule_restart.out

For all available command-line options:

python3 orca_ped_analyzer.py --help

Method and scientific interpretation

ORCA PED Analyzer performs a normalized diagonal internal-coordinate PED of the harmonic normal modes and uses this information to generate conservative vibrational assignments. The PED describes the mechanical/energetic character of the harmonic zero-order modes; it is not an IR-intensity decomposition and its percentages depend in part on the selected internal-coordinate representation.

When valid VPT2/GVPT2 results are supplied, anharmonic frequencies and intensities are associated with the corresponding harmonic zero-order modes. The PED and normal-mode vectors themselves remain harmonic.

The detailed methodology — including internal-coordinate construction, the Wilson matrix, PED definition, assignment hierarchy, VPT2 mapping, Avogadro numbering, validation, and scientific limitations — is described in the full manual rather than duplicated here.

Documentation

Detailed methodological and user documentation is available in:

Compatibility and future development

ORCA PED Analyzer has been tested with ORCA 6.1.1. It should also work with earlier and later ORCA versions provided that the relevant output formats remain compatible.

If you believe the software would benefit from supporting vibrational outputs generated by other computational chemistry packages, please open an issue and, if possible, provide a representative test case. Contributions toward broader interoperability are welcome.

Version

Current public version: 2.9.6

python3 orca_ped_analyzer.py --version

How to cite

If ORCA PED Analyzer contributes to published research, please acknowledge or cite the software. GitHub also provides a Cite this repository entry from CITATION.cff.

Romi, S. (2026). ORCA PED Analyzer (Version 2.9.6) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.21996264

DOI: 10.5281/zenodo.21996264

Previous releases remain archived separately on Zenodo.

Contributions

Testing on different molecular systems is especially valuable. Bug reports, validation results, suggestions, documentation improvements, and code contributions are very welcome.

If you observe unexpected behaviour, obtain an interesting validation case, or would like to improve the project, please open a GitHub issue or submit a pull request.

License

MIT License. See LICENSE.

Disclaimer

This is an independent analysis utility and is not an official ORCA/FACCTs or Avogadro project. ORCA and Avogadro remain subject to their respective licenses and terms.

I am primarily a user of computational chemistry software and an amateur programmer, rather than a professional software developer. The development of ORCA PED Analyzer made extensive use of AI-assisted programming. To reduce the risk of introducing unnoticed errors, I developed the program incrementally, testing individual components and successive versions against real computational outputs and checking the consistency of the results at each stage.

For the systems tested so far, the results and vibrational assignments produced by the program have been fully consistent with the expected behaviour. Nevertheless, users are strongly encouraged to validate the software on well-understood computational test cases before relying on it for new scientific problems. This is good practice for any scientific software, and is particularly valuable here because independent testing can reveal implementation bugs, problematic assignments, edge cases, or methodological mistakes that I may have overlooked.

If you find any such issue, please report it. Identifying and correcting errors will only make the software more reliable and useful to the wider community. Contributions, validation cases, criticism, and suggested improvements are therefore sincerely appreciated. Thank you for helping improve this open-source project.

Releases

Packages

Contributors

Languages