Welcome! This program helps scientists calculate and "fit" (match) theoretical models to experimental data from Resonance Raman Spectroscopy.
It implements the Independent Mode Displaced Harmonic Oscillator (IMDHO) formalism and Brownian oscillator theory to benchmark DFT functionals against experimental Femtosecond Stimulated Raman Spectroscopy (FSRS) data.
The easiest way to use ResRAM is through the interactive graphical interface.
If you have uv installed, simply run:
uv run resram-guiThe ResRAM GUI is optimized for a smooth, responsive experience:
- Real-time Visualization: See Absorption, Fluorescence, and Raman Excitation Profiles update as you change parameters.
- Background Calculations: Heavy spectroscopic simulations run in a separate thread, keeping the interface snappy.
- Debounced Updates: Table edits are debounced (300ms) to prevent lag while typing.
- Interactive Control:
- Toggle individual vibrational modes to include/exclude them from plots.
- Select which parameters (deltas, gamma, E0, etc.) should be varied during the automated fitting process.
- Integrated Fitting: Run the
lmfitoptimizer directly from the GUI and see the "best fit" results in real-time.
If you want to use the core library in your own scripts or notebooks:
uv pip install -e .pip install -e .If not using uv, manual installation:
pip install numpy matplotlib scipy lmfit PyQt6 pyqtgraphThis project includes an optional Rust backend (src/resram_rust) that provides up to ~4x performance speedup.
- Install Rust: rustup.rs
- Install Maturin
uv pip install '.[rust]' - Build wheel:
uv run resram-rust-build
- Install wheel:
uv run resram-rust-install
Alternative one-step local development install:
uv run resram-rust-developIf rustc is not installed, Rust compile commands are skipped and the Python implementation is used.
The program (GUI and Notebook) expects specific .dat files in the working directory:
inp.txt: Global settings (Temperature, Refractive Index, etc.).freqs.dat: Vibrational frequencies (cm⁻¹).deltas.dat: Initial dimensionless displacements.abs_exp.dat: Experimental absorption spectrum.fl_exp.dat: Experimental fluorescence spectrum.profs_exp.dat: Experimental Raman excitation profiles.rpumps.dat: Experimental laser excitation wavenumbers.
Developed by Likun Cai, based on theoretical frameworks and research from:
- Dr. Zachary Piontkowski, Dr. Juan S. Sandoval & Prof. David W. McCamant (University of Rochester)
- Mukamel et al. - Brownian oscillator models for solvation.
Happy scientific computing!