Claude Code Integration#
❌ ✅ Claude Code Generated
This guide was generated by Claude Code and has not yet been human-verified. Remove the ❌ after review.
The vasp-ase package includes deep integration with Claude Code, Anthropic’s AI coding assistant.
Installation#
After installing vasp-ase, install the Claude Code skills globally:
vasp-claude install
This makes Claude aware of VASP-ASE in any project you work on.
What Gets Installed#
Skills (~/.claude/skills/):
vasp.md- Main VASP knowledge and code patternsjob-watcher.md- Job monitoring and troubleshootingtroubleshoot.md- Common error diagnosis
Commands (~/.claude/commands/):
/vasp-help <topic>- Parameter reference/vasp-watch-job <dir>- Monitor running job/vasp-fix-job <dir>- Diagnose and fix failed job/vasp-examples- List tutorials/vasp-tutorial <n>- View specific tutorial/vasp-docs- Documentation access
Check Status#
vasp-claude status
Uninstall#
vasp-claude uninstall
Using Claude for VASP#
Once installed, Claude automatically helps with VASP when you ask. Examples:
Ask About Parameters#
User: What's the difference between ISMEAR 0 and -5?
Claude: ISMEAR controls the smearing method:
- ISMEAR=0: Gaussian smearing, good for molecules and insulators
- ISMEAR=-5: Tetrahedron method, most accurate for DOS but requires ≥4 k-points
...
Get Code Help#
User: How do I run a DOS calculation?
Claude: Here's how to calculate DOS with vasp-ase:
from ase.build import bulk
from vasp import Vasp
# Step 1: SCF calculation
atoms = bulk('Si')
calc_scf = Vasp(
atoms=atoms,
xc='PBE',
encut=400,
kpts=(8, 8, 8),
lcharg=True,
)
...
Troubleshooting#
User: My VASP job shows ZBRENT error
Claude: ZBRENT indicates electronic convergence failure. Try:
1. Increase NELM: nelm=200
2. Use different algorithm: algo='VeryFast'
3. Adjust mixing: amix=0.1, bmix=0.01
...
Job Monitoring#
Watch a Running Job#
User: /vasp-watch-job /scratch/my_calc
Claude: Checking job in /scratch/my_calc...
Status: RUNNING
Current step: Ionic step 15 of 100
Last energy: -245.3421 eV
Time per step: ~45 seconds
Estimated completion: ~1 hour
Fix a Failed Job#
User: /vasp-fix-job /scratch/failed_calc
Claude: Analyzing failed job...
Diagnosis: Electronic convergence failed (ZBRENT error)
- NELM reached maximum (60 steps)
- Energy oscillating, not converging
Suggested fixes:
ALGO: Normal → VeryFast
NELM: 60 → 200
AMIX: 0.2 → 0.1
BMIX: 0.1 → 0.01
CONTCAR found - will restart from last geometry.
Apply fixes and restart? [y/n]
Project-Specific Setup#
When working in the vasp-ase repository, additional commands are available:
Command |
Description |
|---|---|
|
Open documentation |
|
List all examples |
|
View tutorial n |
|
Run tests |
|
Create new example |
|
Review codebase |
|
Run code quality checks |
|
Build Jupyter Book |
Skills Reference#
VASP Calculation Skill#
Claude knows how to:
Create structures with ASE
Set up VASP calculators
Use parameter presets (VdW, DFT+U, HSE06)
Run calculations with different runners
Parse results
Troubleshooting Skill#
Claude can diagnose:
Electronic convergence issues
Ionic convergence problems
Memory errors
Magnetic convergence
K-point and smearing issues
Job Watcher Skill#
Claude can:
Check job status (running/completed/failed)
Analyze OUTCAR for errors
Suggest parameter fixes
Restart from CONTCAR
Set up continuous monitoring
Best Practices#
Be specific: “Calculate the band gap of Si with HSE06” is better than “run a calculation”
Provide context: Share error messages, OUTCAR snippets, or current parameters
Use commands:
/vasp-help encutis faster than asking “what is ENCUT?”Let Claude watch jobs: Ask Claude to monitor long-running calculations
Review fixes: Always review Claude’s suggested fixes before applying
Extending#
You can add custom skills and commands in your project’s .claude/ directory:
my_project/.claude/
├── commands/
│ └── my-workflow.md
└── skills/
└── my-material.md
See the Claude Code documentation for details.