| name | vasp |
| description | Expert assistant for VASP (Vienna Ab initio Simulation Package) calculations - input file generation, parameter selection, workflow setup, and best practices for accurate DFT calculations |
| allowed-tools | * |
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 CHGCAR
POSCAR: 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.50
Key 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 # Shift
Monkhorst-Pack:
Automatic mesh
0
Monkhorst-Pack
8 8 8
0 0 0
Band 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 !W
POTCAR: 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 > POTCAR
Choosing 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.2
Convergence 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.05
3. Band Structure
Step 1: Self-consistent calculation
ICHARG = 2 # From atoms
LCHARG = .TRUE. # Write CHGCAR
Step 2: Non-self-consistent band structure
ICHARG = 11 # Read CHGCAR, no update
LORBIT = 11 # Write PROCAR
# Use line-mode KPOINTS
4. Density of States (DOS)
INCAR:
ISMEAR = -5 # Tetrahedron method
LORBIT = 11 # Projected DOS
NEDOS = 3000 # DOS resolution
# Use dense k-point mesh
5. 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-Hoover
6. 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 constants
Advanced 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 convergence
GW Calculations
Step 1: DFT (PBE)
ALGO = Exact
NBANDS = 200 # Many empty bands
LOPTICS = .TRUE.
Step 2: GW
ALGO = GW0 # Or EVGW
NOMEGA = 50
DFT+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 value
van der Waals Corrections
DFT-D3:
IVDW = 11 # DFT-D3 (Grimme)
vdW-DF:
GGA = MK # optPBE-vdW
LUSE_VDW = .TRUE.
AGGAC = 0.0000
Convergence Testing Strategy
1. k-Point Convergence
# Test sequence
KPOINTS: 4x4x4, 6x6x6, 8x8x8, 10x10x10, 12x12x12
# Converged when ΔE < 1 meV/atom between successive grids
2. Energy Cutoff Convergence
# Test ENCUT
ENCUT: 400, 450, 500, 550, 600 eV
# Converged when ΔE < 1 meV/atom
# Forces may need higher cutoff
3. 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 0
High-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 0
Fast 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 0
Performance 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 distribution
Guidelines:
- 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 core
Error 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-8
SCF 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