mat-dft-vasp

Prepare VASP input files and parse vasprun.xml outputs into JSON.

144|21|Updated Jan 8, 2026
One-click install
npx skills add https://github.com/learningmatter-mit/AtomisticSkills --skill mat-dft-vasp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mat-dft-vasp
Source: https://github.com/learningmatter-mit/AtomisticSkills/tree/main/.agents/skills/mat-dft-vasp
Command: npx skills add https://github.com/learningmatter-mit/AtomisticSkills --skill mat-dft-vasp

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires ase, pymatgen, and includes scripts (resource) and references (resource) components.

What problem does it solve?

It streamlines density functional theory (DFT) work by preparing consistent VASP input sets from structures and then extracting standardized physical outputs from completed VASP runs.

Core Features & Use Cases

  • VASP Input Generation: Creates INCAR, KPOINTS, POSCAR, and POTCAR files from a single structure file or from directories of structures using selectable VASP presets and calculation types.
  • Result Parsing to Structured Data: Parses vasprun.xml (and supplements with OUTCAR) to extract final energies, forces, stress, and geometries, producing JSON-ready output suitable for downstream automation.
  • Use Case: Generate relaxation inputs for a batch of CIF/XYZ/POSCAR structures, run VASP externally (local or HPC), and then convert all resulting directories into a unified parsed JSON dataset for analysis or ML model training pipelines.

Quick Start

Use the VASP input generator to create inputs for a structure by running the prepare_vasp_inputs.py script in the base-agent environment with your structure path, an output directory, and a preset/calculation type.

Frequently Asked Questions about mat-dft-vasp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate VASP input files from CIF or XYZ structures?

VASP input generation uses pymatgen and ase to create INCAR, KPOINTS, POSCAR, and POTCAR files from CIF, XYZ, or POSCAR structures. You simply run the provided preparation script with your structure path, output directory, and chosen preset or calculation type.

How do I parse vasprun.xml to extract energies, forces, and stress?

Parsing vasprun.xml extracts final energies, forces, stress, and geometries into a standardized JSON-ready output. The script supplements vasprun.xml data with OUTCAR results, making it suitable for downstream automated research and machine learning pipelines.

Can I batch process VASP relaxation results into a unified JSON dataset?

Batch processing VASP relaxation results converts directories of completed runs into a unified parsed JSON dataset. The script uses vasprun.xml as the minimum required artifact and supplements with OUTCAR data for comprehensive energies, forces, and stress extraction.

Do I need pymatgen and ase installed to prepare and parse VASP calculations?

You must have pymatgen and ase installed in the base-agent conda environment to run the VASP preparation and parsing scripts. These libraries handle structure manipulation and the generation of standardized VASP input sets.

What is the minimum required VASP output file for parsing DFT results?

The minimum required artifact for parsing VASP DFT results is vasprun.xml. The parser extracts standardized energies, forces, stress, and geometries from it, and supplements the extraction with OUTCAR data when available.

What's the best way to automate DFT workflows for multiple structures using pymatgen?

Automating DFT workflows for multiple structures is achieved by generating relaxation inputs for a batch of structures, running VASP externally, and then converting all resulting output directories into a unified parsed JSON dataset for downstream analysis.