Electronic Structure Analysis
This page documents scripts for analyzing electronic structure properties from Gaussian and ORCA output files.
FMO Analysis Script
The fmo.py script performs Frontier Molecular Orbital (FMO) analysis, extracting and calculating:
HOMO and LUMO energies
HOMO-LUMO energy gap
Chemical potential
Chemical hardness
Electrophilicity index
The script supports both closed-shell (restricted) and open-shell (unrestricted) calculations. For open-shell systems, it additionally provides:
Alpha and beta spin channels (α-HOMO, α-LUMO, β-HOMO, β-LUMO)
Singly Occupied Molecular Orbitals (SOMOs)
Spin-specific reactivity descriptors
Overall FMO gap (highest SOMO to lowest LUMO)
Usage
fmo.py [-f filename] [-u eV|kcal/mol]
Options
Option |
Type |
Description |
|---|---|---|
|
string |
Output file to analyze (required) |
|
string |
Energy units: eV or kcal/mol (default: eV) |
Examples
Closed-Shell System
fmo.py -f fe2_singlet.out -u kcal/mol
System multiplicity: 1
============================================================
CLOSED-SHELL SYSTEM FMO ANALYSIS
============================================================
HOMO energy: -463.5399 kcal/mol
LUMO energy: -253.2063 kcal/mol
HOMO-LUMO gap: 210.3336 kcal/mol
Chemical potential, μ: -358.3731 kcal/mol
Chemical hardness, η: 105.1668 kcal/mol
Electrophilicity index, ω: 610.6075 kcal/mol
Open-Shell System
fmo.py -f fe2_triplet.out
System multiplicity: 3
============================================================
OPEN-SHELL SYSTEM FMO ANALYSIS
============================================================
--- Alpha Spin Channel ---
α-HOMO energy: -20.7301 eV
α-LUMO energy: -9.4291 eV
α-HOMO-LUMO gap: 11.3010 eV
Chemical potential, μ_α: -15.0796 eV
Chemical hardness, η_α: 5.6505 eV
Electrophilicity index, ω_α: 20.1216 eV
--- Beta Spin Channel ---
β-HOMO energy: -19.6200 eV
β-LUMO energy: -10.3698 eV
β-HOMO-LUMO gap: 9.2502 eV
Chemical potential, μ_β: -14.9949 eV
Chemical hardness, η_β: 4.6251 eV
Electrophilicity index, ω_β: 24.3072 eV
--- Singly Occupied Molecular Orbitals (SOMOs) ---
Number of unpaired electrons: 2
SOMO-1 energy: -20.8980 eV
SOMO-2 energy: -20.7301 eV
Lowest SOMO energy: -20.8980 eV
Highest SOMO energy: -20.7301 eV
--- Overall FMO Gap ---
FMO gap (highest SOMO to lowest LUMO): 10.3603 eV
Mulliken Population Analysis Script
The mulliken.py script extracts Mulliken atomic charges and spin densities. Supports Gaussian and ORCA output files.
Usage
mulliken.py [-f filename] [-n atom_number]
Options
Option |
Type |
Description |
|---|---|---|
|
string |
Output file to analyze (required) |
|
int |
Atom number(s) to report (1-indexed) |
Examples
mulliken.py -f molecule.log
Mulliken Charges:
C1 : 0.062
C2 : -0.008
...
mulliken.py -f triplet.log -n 3
Mulliken Charges:
...
Mulliken Spin densities:
...
Mulliken Charge at P3 is 0.481.
Mulliken Spin density at P3 is -0.058.
Hirshfeld Population Analysis Script
The hirshfeld.py script extracts Hirshfeld charges and spin densities.
Usage
hirshfeld.py [-f filename] [-n atom_number]
Options
Option |
Type |
Description |
|---|---|---|
|
string |
Output file with Hirshfeld analysis (required) |
|
int |
Atom number(s) to report (1-indexed) |
Example
hirshfeld.py -f calculation_hirshfeld.out
Hirshfeld Charges:
O1 : -0.177
O2 : -0.319
...
Hirshfeld Spins:
O1 : 0.000
...
Wiberg Bond Index Analysis Script
The wbi_analysis.py script extracts Natural Population Analysis (NPA) data from Wiberg Bond Index calculations. See
WBI Jobs for running WBI calculations.
Usage
wbi_analysis.py [-f filename] [-n atom_number]
Options
Option |
Type |
Description |
|---|---|---|
|
string |
WBI output file (required) |
|
int |
Atom number(s) to report (1-indexed) |
Example
wbi_analysis.py -f ts_wbi.log -n 2 -n 5
Natural Charges:
Ni1 : 0.528
P2 : 0.930
...
Natural Charge at atom 2 is 0.930.
Natural Charge at atom 5 is -0.562.