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.
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.
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:
.dmgcontaining the.app - macOS Intel x86_64:
.dmgcontaining the.app
In the graphical launcher:
- Select the central ORCA
.hessfile. - Optionally select a completed VPT2/GVPT2
.outfile. - Choose the output directory if desired.
- 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.
- 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.
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.
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.txtBasic usage:
python3 orca_ped_analyzer.py molecule.hessWith an explicitly selected VPT2/GVPT2 output:
python3 orca_ped_analyzer.py molecule.hess \
--vpt2-out molecule_restart.outFor all available command-line options:
python3 orca_ped_analyzer.py --helpORCA 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.
Detailed methodological and user documentation is available in:
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.
Current public version: 2.9.4
python3 orca_ped_analyzer.py --versionIf 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.4) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.21935626
Previous releases remain archived separately on Zenodo.
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.
MIT License. See LICENSE.
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.