How lenhanpham/openthermo works
OpenThermo is a C++ command-line tool that turns quantum-chemistry outputs or native .otm files into molecular thermochemistry results. The main workflow configures options and masses, loads molecular data, analyzes inertia and symmetry, then computes and presents thermodynamic properties; batch ensembles and temperature/pressure scans are documented capabilities. The graph reflects the README and supplied excerpts; details of unsampled orchestration and output routines are represented only where the available evidence supports them.
Main entry points: calc.cpp Calculation workflow · main.cpp Workflow entry · loadfile.cpp Format loaders · chemsys.h Molecular data
Components 16
Command interface
- Workflow entry
src/main.cpp - Options and settings
src/util.cpp - Results output
src/main.cpp
Molecular inputs
- Format loaders
src/loadfile.cpp - Molecular data
src/chemsys.h - Isotope masses
src/atommass.cpp - Mass adjustments
src/util.cpp
Molecular analysis
- Calculation workflow
src/calc.cpp - Inertia analysis
src/calc.cpp - Point-group analysis
src/symmetry.cpp
Thermochemistry
- Thermo calculations
src/calc.cpp - Ensemble averaging
src/calc.cpp - Thermo results
src/calc.h
Other components
- CLI user
- QC output files
- Text and OTM output
Connections 19
- CLI user → Workflow entry: invokes
- Workflow entry → Options and settings: loads options
- Workflow entry → Isotope masses: initializes masses
- Workflow entry → Calculation workflow: starts calculations
- QC output files → Format loaders: provides input
- Calculation workflow → Format loaders: dispatches loading
- Format loaders → Molecular data: populates
- Isotope masses → Molecular data: supplies masses
- Options and settings → Mass adjustments: configures
- Mass adjustments → Molecular data: adjusts masses
- Calculation workflow → Inertia analysis: calculates
- Calculation workflow → Point-group analysis: detects symmetry
- Calculation workflow → Thermo calculations: computes properties
- Thermo calculations → Thermo results: returns
- Calculation workflow → Ensemble averaging: averages ensembles
- Ensemble averaging → Thermo calculations: evaluates members
- Workflow entry → Results output: reports results
- Results output → Thermo results: presents
- Results output → Text and OTM output: writes formats