hello-qm/catgo-lrg/dos-analysis

Claude Code and agent skill by hello-qm/catgo-lrg

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when the user asks about density of states (DOS), projected DOS (PDOS), d-band center, spin-resolved DOS, or electronic structure analysis from completed DFT calculations.

Install

npx vskill@latest install hello-qm/catgo-lrg/dos-analysis

SKILL.md

DOS and Electronic Structure Analysis

Overview

Density of states (DOS) analysis extracts electronic structure information from completed DFT calculations. Key quantities:

  • Total DOS: overall electronic structure, band gap identification
  • PDOS: orbital-resolved contributions from specific atoms
  • d-band center: catalytic activity descriptor (higher = stronger binding)
  • Spin-resolved DOS: magnetic ordering, spin polarization

MCP Tool: catgo_analyze

Total DOS
json
{"tool": "catgo_analyze", "arguments": {
"action": "dos",
"workflow_id": "wf_abc",
"task_id": "task_sp",
"dos_type": "total"
}}
Projected DOS (PDOS)
json
{"tool": "catgo_analyze", "arguments": {
"action": "dos",
"workflow_id": "wf_abc",
"task_id": "task_sp",
"dos_type": "projected",
"atom_indices": [0, 1, 2, 3],
"orbitals": ["d"]
}}
d-Band Center
json
{"tool": "catgo_analyze", "arguments": {
"action": "dos",
"workflow_id": "wf_abc",
"task_id": "task_sp",
"dos_type": "dband",
"atom_indices": [0, 1, 2, 3]
}}

Returns:

  • d_band_center: energy relative to Fermi level (eV)
  • d_band_width: standard deviation of d-band (eV)
  • d_band_filling: fraction of d-band occupied (0-1)

Workflow for DOS Analysis

DOS requires a completed single_point or geo_opt calculation with appropriate VASP settings.

VASP Settings for DOS
json
{"tool": "catgo_workflow_engine", "arguments": {
"action": "add_task", "workflow_id": "wf_dos",
"task_type": "single_point",
"params": {
"software": "vasp",
"ENCUT": 520,
"ISMEAR": -5,
"NEDOS": 3001,
"LORBIT": 11,
"system_name": "DOS calculation"
}
}}

Key VASP parameters:

  • ISMEAR = -5: tetrahedron method with Blochl corrections (accurate DOS)
  • NEDOS = 3001: number of DOS grid points (default 301 is too coarse)
  • LORBIT = 11: write projected DOS (DOSCAR with atom/orbital decomposition)
Two-Step Pattern: Relax then DOS
json
{"tool": "catgo_workflow_engine", "arguments": {
"action": "add_task", "workflow_id": "wf_dos",
"task_type": "geo_opt",
"params": {"software": "vasp", "ENCUT": 520, "system_name": "relax"}
}}
json
{"tool": "catgo_workflow_engine", "arguments": {
"action": "add_task", "workflow_id": "wf_dos",
"task_type": "single_point",
"depends_on": "task_relax",
"params": {
"software": "vasp", "ENCUT": 520,
"ISMEAR": -5, "NEDOS": 3001, "LORBIT": 11,
"system_name": "DOS"
}
}}

Python API

python
from catgo.workflow import Workflow
wf = Workflow("DOS analysis - Pt(111)")
inp = wf.add_task("structure_input", structure=pt_slab_json)
# Step 1: Geometry optimization
opt = wf.add_task("geo_opt",
structure=inp.output.structure,
software="vasp", ENCUT=520)
# Step 2: DOS single-point on relaxed structure
dos_sp = wf.add_task("single_point",
structure=opt.output.structure,
software="vasp", ENCUT=520,
ISMEAR=-5, NEDOS=3001, LORBIT=11)
# Step 3: Post-process DOS
dos = wf.add_task("dos_analysis",
doscar=dos_sp.output.doscar,
atom_indices=[0, 1, 2, 3],
orbitals=["d"],
compute_dband=True)
wf.submit()

d-Band Center Theory

The d-band model (Hammer-Norskov) relates catalytic activity to the d-band center position relative to the Fermi level:

epsilon_d = integral(E * rho_d(E) dE) / integral(rho_d(E) dE)

Integrated over occupied states (up to Fermi level).

d-band centerAdsorbate bindingCatalytic implication
Higher (closer to E_F)StrongerMore reactive, may over-bind
Lower (further from E_F)WeakerLess reactive, may under-bind
Surface vs Bulk d-Band

Surface atoms have narrower d-bands (fewer neighbors) and higher d-band centers than bulk atoms. Always select surface atom indices for catalysis analysis.

Spin-Resolved DOS

For magnetic systems (Fe, Co, Ni, oxides), enable spin polarization:

json
{"tool": "catgo_workflow_engine", "arguments": {
"action": "add_task", "workflow_id": "wf_dos",
"task_type": "single_point",
"params": {
"software": "vasp", "ENCUT": 520,
"ISPIN": 2, "ISMEAR": -5, "NEDOS": 3001, "LORBIT": 11,
"system_name": "spin-DOS"
}
}}

Spin-resolved DOS returns separate up/down channels. The magnetic moment per atom equals the integral of (rho_up - rho_down) up to E_F.

Orbital Channels

Available orbital projections for PDOS:

ChannelOrbitalsUse Case
"s"sMain group elements
"p"px, py, pzO, N, C, S
"d"dxy, dyz, dxz, dz2, dx2-y2Transition metals
"f"7 f-orbitalsLanthanides, actinides

Specific sub-orbitals: "dz2", "dx2-y2", "dxy", "dxz", "dyz"

Common Pitfalls

  1. Never use ISMEAR=1 (Methfessel-Paxton) for DOS -- it produces negative

DOS artifacts. Use ISMEAR=-5 (tetrahedron) for static DOS calculations.

  1. NEDOS=301 (VASP default) gives very coarse DOS. Use at least 2001-3001.
  2. LORBIT=11 is required for PDOS. Without it, only total DOS is available.
  3. Always do DOS as a separate single_point after geo_opt. The DOS from

a relaxation run uses the smearing from NSW>0 and is unreliable.

  1. For d-band center, select only surface layer atoms. Including bulk atoms

averages out the surface electronic signature.

  1. Band gap from DOS can be noisy -- compare with the band structure if

precise gap values are needed.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
183
Repository forks
21
7-day trend score
26

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 13 Aug 2026, 2 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/hello-qm/catgo-lrg/dos-analysis/badge)](https://verified-skill.com/skills/hello-qm/catgo-lrg/dos-analysis)

Something wrong with this skill or its page? Tell us.