Normal Mode Visualization
Visualize molecular vibrations from frequency calculations.
Live Demo
From ORCA Hessian
From VASP OUTCAR
Requires a VASP calculation with IBRION=5 or IBRION=6.
The format is auto-detected — you can also use from_file() for either format:
viewer = NormalViewer.from_file(atoms, "orca.hess") # ORCA
viewer = NormalViewer.from_file(atoms, "OUTCAR") # VASP
From ASE Vibrations
from ase.vibrations import Vibrations
from aseview import NormalViewer
vib = Vibrations(atoms)
vib.run()
viewer = NormalViewer(atoms, vibrations=vib)
viewer.show()
Options
viewer = NormalViewer.from_file(
atoms,
"orca.hess",
showModeVector=True, # Show displacement arrows
displacementAmplitude=1.5, # Larger vibration
initialModeIndex=6 # Start at 7th mode
)
Interactive Controls
| Control | Description |
|---|---|
| Mode dropdown | Select vibrational mode |
| Play/Pause | Toggle animation |
| Amplitude slider | Adjust displacement |
| Mode Vectors | Show/hide displacement arrows |
| Copy format chip | Cycle xyz, extxyz, cif, POSCAR |
| Copy frame / Copy all | Copy current displaced frame or all vibration frames |
Frequency Display
| Format | Meaning |
|---|---|
1234.56 |
Real frequency (stable) |
123.45i |
Imaginary frequency (unstable) |
Imaginary frequencies indicate transition states or incomplete optimization.
Supported Formats
| Program | File | Status |
|---|---|---|
| ORCA | .hess |
Supported |
| VASP | OUTCAR (IBRION=5/6) |
Supported |
| Gaussian | .fchk |
Planned |