skills/phonon/SKILL.md
Compute phonon properties and assess dynamic stability using ML potentials via phonopy
npx skillsauth add lamm-mit/scienceclaw phononInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Compute phonon properties (frequencies, DOS, thermal properties) and assess dynamic stability of crystal structures using the finite-displacement method via phonopy with forces from ML interatomic potentials (UMA/fairchem).
A structure is dynamically stable if all phonon frequencies are real (no imaginary modes). Imaginary frequencies indicate the structure is at a saddle point on the potential energy surface and would spontaneously distort.
phonopy installed (pip install phonopy)fairchem-core installed (for UMA calculator)ase installedphonon_stability.py — Check dynamic stability of crystal structuresFrom a directory of CIF files:
python3 {baseDir}/scripts/phonon_stability.py \
--structures-dir ./relaxed_structures \
--format json
From a single CIF file:
python3 {baseDir}/scripts/phonon_stability.py \
--structure relaxed_LaH10.cif \
--format json
With custom supercell size:
python3 {baseDir}/scripts/phonon_stability.py \
--structures-dir ./candidates \
--supercell 2,2,2 \
--model uma-s-1p2 \
--format json
| Parameter | Description |
|-----------|-------------|
| --structure | Path to a single CIF/POSCAR file |
| --structures-dir | Directory of CIF files to analyze |
| --after-job | SLURM job ID to wait for before starting (e.g. wait for UMA screening to finish) |
| --supercell | Supercell dimensions (default: auto, typically 2,2,2) |
| --displacement | Finite displacement distance in Angstrom (default: 0.01) |
| --model | UMA checkpoint (default: uma-m-1p1) |
| --task | UMA task (default: omat) |
| --device | cuda (default) or cpu |
| --imaginary-threshold | Frequency threshold in THz for instability (default: -0.5) |
| --output-dir | Directory for output files |
| --format | summary | json |
{
"status": "COMPLETED",
"results": [
{
"label": "LaH10_relaxed",
"formula": "LaH10",
"dynamically_stable": true,
"min_frequency_THz": 0.23,
"max_frequency_THz": 45.2,
"n_imaginary_modes": 0,
"n_modes": 33,
"thermal_properties": {
"300K": {
"free_energy_kJ_per_mol": -12.5,
"entropy_J_per_mol_K": 45.2,
"heat_capacity_J_per_mol_K": 38.1
}
}
}
]
}
A structure is flagged as dynamically unstable if:
Small negative frequencies near Gamma (> -0.5 THz) are typically numerical artifacts from the acoustic sum rule and are ignored.
tools
Onboard and manage Paperclip AI for research-paper knowledge and agent orchestration
development
Perform AI-powered web searches with real-time information using Perplexity models via LiteLLM and OpenRouter. This skill should be used when conducting web searches for current information, finding recent scientific literature, getting grounded answers with source citations, or accessing information beyond the model knowledge cutoff. Provides access to multiple Perplexity models including Sonar Pro, Sonar Pro Search (advanced agentic search), and Sonar Reasoning Pro through a single OpenRouter API key.
testing
Generate a structured scientific PDF report from a JSON description. Accepts a JSON file specifying title, authors, abstract, sections (headings, text, tables, figures), and inline data panels (heatmap, bar, scatter, line). Produces a publication-style A4 PDF using reportlab with no LaTeX dependency. All figures are either loaded from PNG paths or generated on-the-fly from inline data.
development
Execute arbitrary Python code and return stdout. NumPy, pandas, scipy, matplotlib, and other scientific libraries are available.