What problem does it solve?
It computes adsorption energies for adsorbate–surface combinations so you can predict binding stability without running full DFT for every configuration.
Core Features & Use Cases
- Adsorption energy calculation: Evaluates (E_{ads}=E_{adsorbate+slab}-E_{slab}-E_{adsorbate}) from relaxed MLIP energies.
- Automated surface workflow: Relaxes bulk (optional), generates a slab from Miller indices, relaxes the clean slab, places the adsorbate at candidate sites, and relaxes each adsorbate–slab geometry.
- Site enumeration and ranking: Identifies multiple adsorption sites (e.g., ontop/bridge/hollow) and reports the most stable site plus per-site energies.
- Common use cases: Screening adsorbates on catalytic surfaces, comparing facets, and benchmarking model-driven adsorption energetics with reusable inputs.
Quick Start
Use the following command to calculate adsorption energies for an adsorbate on a specified surface facet with an MLIP model:
python .agents/skills/mat-surface-adsorption/scripts/calculate_adsorption.py --bulk path/to/bulk_structure.cif --adsorbate path/to/adsorbate.xyz --miller_index '[1,1,1]' --model_type fairchem --model_name EquiformerV2-31M-S2EF-OC20-All+MD --output_dir research/adsorption_run