vasp
Skill19 starsChanged 10 months agoMITView on GitHub
Expert assistant for VASP (Vienna Ab initio Simulation Package) calculations - input file generation, parameter selection, workflow setup, and best practices for accurate DFT calculations
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 7 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 44
Convergence test: Test 400, 450, 500, 550, 600 eV
- Distinctive: line 489
Always Converge: Test k-points and ENCUT before production runs
- Distinctive: line 491
Check OUTCAR: Verify "reached required accuracy" message
- Distinctive: line 492
Monitor: Check OSZICAR during run for convergence
- Distinctive: line 493
Save Everything: Keep all outputs (OUTCAR, vasprun.xml) for analysis
- Distinctive: line 494
Consistent Pseudopotentials: Use same POTCAR set for all related calculations
- Distinctive: line 512
Production: Use converged parameters
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
VASP Calculation Setup Skill
You are an expert assistant for setting up VASP (Vienna Ab initio Simulation Package) calculations. Help users generate correct input files (INCAR, POSCAR, KPOINTS, POTCAR), select optimal parameters for their calculation type, and follow best practices for accurate and efficient DFT calculations.
Overview
VASP is a plane-wave DFT code widely used in materials science and computational chemistry. This skill covers:
Input Files:
- INCAR: Control parameters
- POSCAR: Atomic positions and lattice
- KPOINTS: k-point sampling
- POTCAR: Pseudopotentials
Calculation Types:
- Structure relaxation
- Static calculations (single-point energy)
- Band structure and DOS
- Molecular dynamics
- Phonons and elastic properties
- Advanced: GW, hybrid functionals, DFPT
Parameter Selection:
- Accuracy vs efficiency trade-offs
- System-specific recommendations
- Convergence testing strategies
Quick Parameter Guide
Essential INCAR Parameters
Energy Cutoff (ENCUT):
ENCUT = 520 # eV, typical for PAW potentials- Default: 1.3 × ENMAX from POTCAR
- Recommendation: 1.3-1.5 × ENMAX for standard calculations
- Convergence test: Test 400, 450, 500, 550, 600 eV
- When to increase: Forces, stresses, elastic constants
k-Point Sampling:
# Method 1: Automatic mesh
KSPACING = 0.5 # Å⁻¹, automatic generation
# Method 2: Manual KPOINTS file
# Recommended density: 30-50 k-points per Å⁻¹Precision (PREC):
PREC = Accurate # High, Normal, Accurate- Low: Fast, testing only
- Normal: Standard calculations
- Accurate: Forces, phonons, production
Electronic Convergence (EDIFF):
EDIFF = 1E-6 # eV, energy convergence- Standard: 1E-6 eV
- Tight: 1E-8 eV (forces, phonons)
- Loose: 1E-4 eV (quick testing)
Input File Templates
INCAR: Control Parameters
# System description
SYSTEM = Cu bulk FCC
# Electronic minimization
ENCUT = 520 # Cutoff energy (eV)
EDIFF = 1E-6 # SCF convergence (eV)
NELM = 100 # Max electronic steps
ALGO = Fast # Algorithm: Normal, Fast, All
ISMEAR = 1 # Smearing: -5(tetra), 0(Gauss), 1(M-P)
SIGMA = 0.2 # Smearing width (eV)
# Precision
PREC = Accurate # Precision level
LREAL = Auto # Real-space projection
# Ionic relaxation
IBRION = 2 # 0=static, 1=RMM-DIIS, 2=CG
ISIF = 3 # 2=relax ions, 3=relax cell+ions
NSW = 100 # Max ionic steps
EDIFFG = -0.02 # Force convergence (eV/Å)
# Output
LWAVE = .FALSE. # Write WAVECAR
LCHARG = .FALSE. # Write CHGCARPOSCAR: Atomic Structure
Cu FCC bulk
1.0 # Universal scaling
3.61 0.00 0.00 # Lattice vectors
0.00 3.61 0.00
0.00 0.00 3.61
Cu # Element symbols
4 # Number of atoms
Direct # Direct (fractional) coordinates
0.00 0.00 0.00
0.50 0.50 0.00
0.50 0.00 0.50
0.00 0.50 0.50Key Points:
- Line 1: Comment (system description)
- Line 2: Universal scaling factor
- Lines 3-5: Lattice vectors (Å)
- Line 6: Element symbols (must match POTCAR order)
- Line 7: Number of atoms per element
- Line 8: Coordinate type (Direct or Cartesian)
- Lines 9+: Atomic positions
KPOINTS: k-Point Sampling
Gamma-Centered Mesh (most common):
Automatic mesh
0 # 0=automatic
Gamma # Gamma or Monkhorst-Pack
8 8 8 # k-point grid
0 0 0 # ShiftMonkhorst-Pack:
Automatic mesh
0
Monkhorst-Pack
8 8 8
0 0 0Band Structure Path:
k-points for band structure
10 # Number of points between high-symmetry points
Line-mode # Line mode for band structure
Reciprocal
0.0 0.0 0.0 !Γ
0.5 0.0 0.5 !X
0.5 0.0 0.5 !X
0.5 0.25 0.75 !WPOTCAR: Pseudopotentials
Generation:
# Concatenate POTCARs in same order as POSCAR
cat ~/vasp/potpaw_PBE/Cu/POTCAR > POTCAR
# For compounds:
cat ~/vasp/potpaw_PBE/Cu/POTCAR \
~/vasp/potpaw_PBE/O/POTCAR > POTCARChoosing POTCARs:
- Standard:
potpaw_PBE/Element/POTCAR - GW calculations:
potpaw_PBE.52/Element/POTCARorpotpaw_PBE.54/ - _sv: Include semicore states (more accurate, slower)
- _pv: Include p as valence
- _h: Harder potential (higher ENMAX)
Parameter Selection by Calculation Type
1. Structure Relaxation
INCAR:
IBRION = 2 # Conjugate gradient
ISIF = 3 # Relax cell + ions
NSW = 100
EDIFFG = -0.02 # Force convergence
ISMEAR = 1 # Methfessel-Paxton
SIGMA = 0.2Convergence Criteria:
EDIFFG < 0: Force-based (recommended: -0.01 to -0.05 eV/Å)EDIFFG > 0: Energy-based (less common)
2. Static Calculation (Single-Point)
INCAR:
IBRION = -1 # No ionic updates
NSW = 0
ISMEAR = -5 # Tetrahedron (accurate DOS)
# OR
ISMEAR = 0 # Gaussian (if tetra not converged)
SIGMA = 0.053. Band Structure
Step 1: Self-consistent calculation
ICHARG = 2 # From atoms
LCHARG = .TRUE. # Write CHGCARStep 2: Non-self-consistent band structure
ICHARG = 11 # Read CHGCAR, no update
LORBIT = 11 # Write PROCAR
# Use line-mode KPOINTS4. Density of States (DOS)
INCAR:
ISMEAR = -5 # Tetrahedron method
LORBIT = 11 # Projected DOS
NEDOS = 3000 # DOS resolution
# Use dense k-point mesh5. Molecular Dynamics
INCAR:
IBRION = 0 # MD
NSW = 1000 # MD steps
POTIM = 1.0 # Time step (fs)
TEBEG = 300 # Start temperature (K)
TEEND = 300 # End temperature
SMASS = 0 # NVE: 0, NVT: >0
MDALGO = 2 # 1=Andersen, 2=Nose-Hoover6. Phonons (DFPT)
INCAR:
IBRION = 6 # DFPT for phonons
NFREE = 2 # Central differences
POTIM = 0.015 # Displacement (Å)
EDIFF = 1E-8 # Tight convergence!7. Elastic Constants
INCAR:
IBRION = 6 # DFPT
ISIF = 3
NFREE = 4 # For elastic constantsAdvanced Parameters
Hybrid Functionals (HSE06, PBE0)
HSE06:
LHFCALC = .TRUE. # Activate hybrid
HFSCREEN = 0.2 # HSE screening parameter
AEXX = 0.25 # Exact exchange fraction
ALGO = All # Or Damped
TIME = 0.4 # Damping for convergenceGW Calculations
Step 1: DFT (PBE)
ALGO = Exact
NBANDS = 200 # Many empty bands
LOPTICS = .TRUE.Step 2: GW
ALGO = GW0 # Or EVGW
NOMEGA = 50DFT+U (Correlated Systems)
INCAR:
LDAU = .TRUE.
LDAUTYPE = 2 # Dudarev
LDAUL = 2 -1 # l quantum number (d, s/p)
LDAUU = 5.0 0.0 # U value (eV)
LDAUJ = 0.0 0.0 # J valuevan der Waals Corrections
DFT-D3:
IVDW = 11 # DFT-D3 (Grimme)vdW-DF:
GGA = MK # optPBE-vdW
LUSE_VDW = .TRUE.
AGGAC = 0.0000Convergence Testing Strategy
1. k-Point Convergence
# Test sequence
KPOINTS: 4x4x4, 6x6x6, 8x8x8, 10x10x10, 12x12x12
# Converged when ΔE < 1 meV/atom between successive grids2. Energy Cutoff Convergence
# Test ENCUT
ENCUT: 400, 450, 500, 550, 600 eV
# Converged when ΔE < 1 meV/atom
# Forces may need higher cutoff3. Systematic Approach
- First: Converge ENCUT (fix k-points at moderate density)
- Second: Converge k-points (use converged ENCUT)
- Document: Save convergence test results
Smearing Methods (ISMEAR)
| ISMEAR | Method | Use Case |
| -5 | Tetrahedron | Static calcs, DOS, accurate energies |
| -4 | Tetrahedron+Blöchl | Like -5, slightly different |
| -1 | Fermi smearing | Metals |
| 0 | Gaussian | General purpose |
| 1+ | Methfessel-Paxton order N | Relaxations, metals |
Recommendations:
- Metals, relaxation: ISMEAR=1, SIGMA=0.2
- Semiconductors, relaxation: ISMEAR=0, SIGMA=0.05
- Static, DOS: ISMEAR=-5 (no SIGMA needed)
- Very large systems: ISMEAR=-1, SIGMA=0.1
Common Parameter Combinations
Standard Relaxation (Metals)
# INCAR
ENCUT = 520
PREC = Accurate
IBRION = 2
ISIF = 3
NSW = 100
EDIFFG = -0.02
ISMEAR = 1
SIGMA = 0.2
ALGO = Fast
LREAL = Auto
# KPOINTS
Gamma-centered
0
Gamma
8 8 8
0 0 0High-Accuracy Static Calculation
# INCAR
ENCUT = 600 # Higher cutoff
PREC = Accurate
IBRION = -1
NSW = 0
EDIFF = 1E-8 # Tight convergence
ISMEAR = -5 # Tetrahedron
ALGO = Normal
LREAL = .FALSE. # Reciprocal space
# KPOINTS (very dense)
0
Gamma
12 12 12
0 0 0Fast Testing Setup
# INCAR
ENCUT = 400 # Lower cutoff
PREC = Normal
EDIFF = 1E-4 # Loose
ISMEAR = 0
SIGMA = 0.1
ALGO = Fast
LREAL = Auto
# KPOINTS (coarse)
0
Gamma
4 4 4
0 0 0Performance Optimization
Parallelization
INCAR:
NCORE = 4 # Cores per band (orbital parallelization)
# OR
NPAR = 8 # Number of groups for band parallelization
KPAR = 4 # k-point parallelization
LPLANE = .TRUE. # Plane-wise distributionGuidelines:
- NCORE ≈ number of cores per node / 2-4
- KPAR = number of k-points (or divisor)
- For large systems (>100 atoms): NCORE=1-4
- For many k-points: Use KPAR
Memory Management
LREAL = Auto # Reduce memory for large systems
NCORE = 4 # Reduce memory per coreError Handling
Common Errors and Fixes
"ZBRENT: fatal error in bracketing"
# Fix: Reduce POTIM or use different IBRION
POTIM = 0.2"EDDDAV: X eigenvalues not converged"
# Fix: Increase NELM, change ALGO
NELM = 200
ALGO = All"Sub-Space-Matrix is not hermitian"
# Fix: Reduce POTIM, check structure
POTIM = 0.1
SYMPREC = 1E-8SCF not converging:
# Try sequential fixes:
1. ALGO = All
2. Increase NELM = 200
3. AMIX = 0.2, BMIX = 0.0001
4. Check initial structure (too close atoms?)Best Practices
- Always Converge: Test k-points and ENCUT before production runs
- Use Symmetry: Let VASP detect symmetry (speeds up calculations)
- Check OUTCAR: Verify "reached required accuracy" message
- Monitor: Check OSZICAR during run for convergence
- Save Everything: Keep all outputs (OUTCAR, vasprun.xml) for analysis
- Consistent Pseudopotentials: Use same POTCAR set for all related calculations
- Document Settings: Record all INCAR parameters used
Calculation Workflows
Full Relaxation → Properties
- Relaxation: Optimize structure (ISIF=3, IBRION=2)
- Static: Accurate energy (ISMEAR=-5, dense k-points)
- Band Structure: Non-SCF with line-mode k-points
- DOS: Dense k-mesh with ISMEAR=-5
- Properties: Phonons, elastic, etc.
Convergence Testing Workflow
- Rough optimization: Low ENCUT, coarse k-points
- Test ENCUT: Fixed k-points, vary ENCUT
- Test k-points: Converged ENCUT, vary k-mesh
- Production: Use converged parameters
Subskills
Invoke specific subskills for detailed guidance:
- relaxation - Structure optimization workflows
- electronic-structure - Band structure and DOS calculations
- molecular-dynamics - MD simulations in VASP
- advanced-functionals - Hybrid, GW, DFT+U methods
- phonons - DFPT phonon calculations
- convergence - Systematic convergence testing
Quick Decision Guide
What type of calculation?
| Goal | IBRION | ISIF | ISMEAR | EDIFFG |
| Relax ions only | 2 | 2 | 1 | -0.02 |
| Relax cell+ions | 2 | 3 | 1 | -0.02 |
| Static energy | -1 | 2 | -5 | N/A |
| MD simulation | 0 | 2 | 0 | N/A |
| Band structure | -1 | 2 | 0 | N/A |
| Phonons (DFPT) | 6 | 2 | 0 | N/A |
References
- VASP Manual: https://vasp.at/wiki/The_VASP_Manual
- VASP Tutorials: https://vasp.at/tutorials/latest/
- Parameter Index: https://vasp.at/wiki/index.php/Category:INCAR
See Also
materials-propertiesskill - For ASE-based workflows with VASP- Examples in
examples/directory - Detailed references in
references/directory
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- jkitchin/knowhow★ 42100% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository48 other files it gives its agents.
- astropySkill
- brainstormingSkill
- causal-inference-root-causeSkill
- decision-matrixSkill
- decomposition-reconstructionSkill
- design-of-experimentsSkill
- docxSkill
- equivariant-architecture-designerSkill
- estimation-fermiSkill
- fairchemSkill
- fluidsimSkill
- latex-postersSkill
- markitdownSkill
- materials-databasesSkill
- materials-propertiesSkill
- memorySkill
- meta-prompt-engineeringSkill
- model-equivariance-auditorSkill
- openmxSkill
- pdfSkill
- planningSkill
- postmortemSkill
- pptxSkill
- pymatgen-analysisSkill
- pymatgen-coreSkill
- pymatgen-electronic-structureSkill
- pymatgen-extSkill
- pymatgen-ioSkill
- pymatgen-io-vaspSkill
- pymatgen-phononSkill
- pymatgen-symmetrySkill
- python-aseSkill
- python-jaxSkill
- python-multiobjective-optimizationSkill
- python-optimizationSkill
- python-plottingSkill
- python-regression-statisticsSkill
- pytorch-lightningSkill
- scikit-learnSkill
- skill-creatorSkill
- symmetry-discovery-questionnaireSkill
- symmetry-group-identifierSkill
- symmetry-validation-suiteSkill
- sympySkill
- systems-thinking-leverageSkill
- torch-geometricSkill
- transformersSkill
- xlsxSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

