1---2name: ase3description: Use when working with ASE (Atomic Simulation Environment) for atomistic simulations. Covers structure building, geometry optimization, molecular dynamics, NEB/transition states, vibrational analysis, and calculator interfaces (ORCA, xTB, GPAW, LAMMPS).4---56# ASE — Atomic Simulation Environment78ASE 3.24.0 (December 2024). Central object: `Atoms`. Calculators are decoupled — swap between EMT, xTB, ORCA, GPAW without changing workflow.910## When to Use This Skill1112- Building and manipulating atomic structures (molecules, surfaces, bulk, slabs)13- Geometry optimization (DFT, semi-empirical, force fields)14- Molecular dynamics: NVE, NVT (Langevin, Berendsen), NPT15- Transition state search: NEB, climbing image, AutoNEB16- Vibrational analysis, IR spectra, zero-point energy, thermochemistry17- Interfacing with ORCA, GPAW, xTB, VASP, LAMMPS, Quantum ESPRESSO18- Reading/writing structure files: CIF, XYZ, TRAJ, SDF, PDB, VASP POSCAR1920## Quick Start2122```python23from ase import Atoms24from ase.build import molecule25from ase.calculators.emt import EMT26from ase.optimize import BFGS2728# Build water molecule29atoms = molecule('H2O')30atoms.calc = EMT() # fast toy calculator3132# Geometry optimization33opt = BFGS(atoms, trajectory='h2o.traj', logfile='opt.log')34opt.run(fmax=0.05) # eV/Å convergence criterion3536print(atoms.get_potential_energy()) # eV37print(atoms.get_forces()) # eV/Å38```3940## Router — What to Read4142| Task | Reference |43|------|-----------|44| Atoms object, cell, PBC, building molecules/surfaces/bulk | `references/atoms-structures.md` |45| Calculators: EMT, ORCA, xTB, GPAW, LAMMPS, config | `references/calculators.md` |46| Geometry optimization, constraints, filters, unit cells | `references/optimization.md` |47| Molecular dynamics: NVE/NVT/NPT, thermostats, trajectories | `references/molecular-dynamics.md` |48| NEB, climbing image, IDPP, AutoNEB, barrier extraction | `references/neb-transitions.md` |49| Vibrations, phonons, IR, ZPE, thermochemistry | `references/vibrations-analysis.md` |5051## Key Modules5253| Module | Import | Role |54|--------|--------|------|55| `Atoms` | `from ase import Atoms` | Core structure object |56| `units` | `from ase import units` | Unit conversions (eV, Å, fs…) |57| `io` | `from ase import io` | Read/write all formats |58| `build` | `from ase.build import …` | molecule, bulk, surface, slab |59| `optimize` | `from ase.optimize import BFGS, FIRE, LBFGS` | Geometry optimizers |60| `md` | `from ase.md.verlet import VelocityVerlet` | Molecular dynamics |61| `mep` | `from ase.mep import NEB, DyNEB` | Minimum energy paths |62| `vibrations` | `from ase.vibrations import Vibrations` | Normal modes |63| `phonons` | `from ase.phonons import Phonons` | Phonon dispersion |64| `constraints` | `from ase.constraints import FixAtoms, FixBondLength` | Constraints |65| `filters` | `from ase.filters import ExpCellFilter, FrechetCellFilter` | Cell optimization |66| `db` | `from ase.db import connect` | ASE database |6768## Installation6970```bash71pip install ase # latest (3.24.0+)72conda install -c conda-forge ase7374# Verify75python -c "import ase; print(ase.__version__)"76```7778## Unit Conversions7980```python81from ase import units8283units.eV # 1.0 (internal unit)84units.Hartree # 27.2114 eV85units.kcal / units.mol # 0.04336 eV86units.fs # femtosecond in ASE time units87units.bar # pressure88units.Bohr # 0.529177 Å89```9091## Related Skills9293- `ase` + `scientific-skills:rowan` — cloud QM (DFT, pKa) for heavy calculations94- `ase` + `scientific-skills:pymatgen` — materials/crystallography workflows95- scripts: `chem_qm.py` — ORCA/Gaussian input gen + output parsing96- `scientific-skills:biopython` — PDB structure loading for biomolecular systems