skills/ase/SKILL.md
Atomic Simulation Environment (ASE) for computational materials science. Perform DFT calculations, geometry optimization, band structure analysis, molecular property prediction, and periodic structure simulations. Supports VASP, MOPAC, Quantum ESPRESSO backends. For quick semi-empirical quantum chemistry, use mopac. For classical molecular dynamics, use openmm.
npx skillsauth add lamm-mit/scienceclaw aseInstall 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.
ASE is a Python library for working with atoms and atomic structures. This skill provides computational design capabilities for materials science, including DFT geometry optimization, electronic structure calculations, phonon analysis, and molecular dynamics with classical force fields. ASE interfaces with multiple computational backends (MOPAC, Quantum ESPRESSO, VASP) and is excellent for designing novel materials and predicting their properties computationally.
Geometry Optimization:
Optimize atomic structures to find stable configurations:
from ase import Atoms
from ase.optimize import BFGS
from ase.calculators.mopac import MOPAC
# Create structure
atoms = Atoms('H2O', positions=[[0, 0, 0], [1, 0, 0], [0, 1, 0]])
# Set calculator (semi-empirical quantum chemistry)
atoms.calc = MOPAC(method='PM6')
# Optimize geometry
dyn = BFGS(atoms)
dyn.run(fmax=0.01)
# Get optimized coordinates and energy
energy = atoms.get_potential_energy()
forces = atoms.get_forces()
Key Parameters:
fmax: Force convergence criterion (eV/Å)steps: Maximum optimization stepstrajectory: File to save optimization trajectoryBand Structure:
Compute electronic band structures for periodic systems:
from ase.build import bulk
from ase.calculators.mopac import MOPAC
# Create periodic structure (bulk silicon)
atoms = bulk('Si', 'diamond', a=5.4)
# Calculate band structure at high-symmetry k-points
atoms.calc = MOPAC(method='PM6-D3H4X')
Density of States:
Compute electronic density of states:
# Get DOS at different energy levels
from ase.dft.band_structure import calculate_band_structure
Predict from Structure:
Calculate molecular properties computationally:
# Geometry-optimized properties
- Dipole moment
- Polarizability
- Band gap (for semiconductors)
- Formation energy (for compounds)
- Cohesive energy (for crystals)
Vibrational Properties:
Compute phonon frequencies for material stability:
from ase.phonons import Phonons
# Create phonon object
phonons = Phonons(atoms, MOPAC_calc, supercell=(2, 2, 2))
phonons.run()
# Get phonon frequencies and DOS
phonon_frequencies = phonons.get_frequencies()
NVT/NPT Ensemble Simulation:
Run classical MD with force fields (using EMT or custom potentials):
from ase.md.verlet import VelocityVerlet
from ase.md.langevin import Langevin
from ase import units
# NVT ensemble (constant T)
dyn = Langevin(atoms, timestep=1*units.fs, temperature_K=300, friction=0.02)
# Run for specified timesteps
for i in range(1000):
dyn.run(1)
Computational Design:
Property Prediction:
Screening:
Input:
pdb skill (extract coordinates)pubchem (generate 3D structures)materials skillOutput:
mopac (faster reoptimization)rdkit (compare with ML models)materials (cross-validate)# 1. Optimize molecular structure
python ase_optimize.py --smiles "CCO" --method PM6
# 2. Calculate properties
python ase_properties.py --structure optimized.xyz
# 3. Run MD simulation
python ase_md.py --structure optimized.xyz --temperature 300 --timesteps 10000
# 4. Analyze phonons (materials)
python ase_phonons.py --structure crystal.xyz --supercell "2 2 2"
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.