DFTB+
SkillDev toolsGenerate and manage DFTB+ calculations. Use when the user requests DFTB+, tight-binding DFT, SCC-DFTB, or needs fast approximate DFT for large systems or MD.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the DFTB+ skill
What this skill tells your AI
The instructions your AI receives, as published by hello-qm/catgo-lrg in .claude/skills/dftbplus/SKILL.md and read by ahel’s review.
When to Use
- User explicitly requests DFTB+ or tight-binding DFT
- User needs fast DFT-level calculations for large systems (1000-10000 atoms)
- User wants SCC-DFTB molecular dynamics at DFT accuracy
- User needs a quick pre-screening before expensive DFT
- User has Slater-Koster parameters available for the elements of interest
Prerequisites
- DFTB+ binary accessible on HPC (
dftb+ --version) - Slater-Koster files available (3ob for organic/bio, matsci for inorganic, mio for general)
- Structure loaded in viewer — verify with
catgo_view(action="get_state") - Confirm SK parameter coverage for all elements in the structure
Workflow Steps
1. Verify structure
catgo_view(action="get_state")
2. Create workflow
catgo_workflow_engine(action="create", params={"name": "DFTB+ optimization"})
3. Add DFTB+ task via shell
CatGo does not yet have a native DFTB+ engine. Use task_type: "shell".
catgo_workflow_engine(action="add_task", params={
"workflow_id": "wf_xxx",
"task_type": "shell",
"name": "dftb_relax",
"command": "dftb+ > dftb.out 2>&1",
"input_files": {
"dftb_in.hsd": "<HSD input content>",
"geo.gen": "<geometry in GEN format>"
},
"system_name": "MoS2_relax"
})
When a @register_engine("dftbplus") is added, use task_type: "geo_opt" with software: "dftbplus".
Input File Template — SCC-DFTB SCF
Geometry = GenFormat {
<<< geo.gen
}
Driver = {}
Hamiltonian = DFTB {
Scc = Yes
SccTolerance = 1e-5
MaxSccIterations = 200
SlaterKosterFiles = Type2FileNames {
Prefix = "/path/to/skfiles/3ob-3-1/"
Separator = "-"
Suffix = ".skf"
}
MaxAngularMomentum {
Ti = "d"
O = "p"
}
KPointsAndWeights = SupercellFolding {
<k1> 0 0
0 <k2> 0
0 0 <k3>
0.0 0.0 0.0
}
Filling = Fermi {
Temperature [K] = 300
}
}
Options {
WriteDetailedOut = Yes
}
Analysis {
CalculateForces = Yes
}
Relaxation Input
Replace Driver = {} with:
Driver = ConjugateGradient {
MaxForceComponent = 1e-3 # Ha/Bohr (~0.05 eV/Ang)
MaxSteps = 500
LatticeOpt = No # Yes for bulk cell optimization
}
GEN Format (Geometry File)
<natoms> S # S=supercell (periodic), C=cluster
Ti O # Element labels
1 1 0.000 0.000 0.000 # index, type, x, y, z (Angstrom or Bohr)
2 2 1.479 1.479 0.000
0.0 0.0 0.0 # Origin
<a1x> <a1y> <a1z> # Lattice vectors (only for S type)
<a2x> <a2y> <a2z>
<a3x> <a3y> <a3z>
Parameter Guidance
| Parameter | Typical value | Notes |
|---|---|---|
| SccTolerance | 1e-5 | SCC charge convergence; tighten for forces |
| MaxAngularMomentum | Per element | Must match SK files (s/p/d/f) |
| SlaterKosterFiles | 3ob / matsci / mio | Check element coverage at dftb.org |
| MaxForceComponent | 1e-3 Ha/Bohr | ~0.05 eV/Ang; 1e-4 for high accuracy |
| Filling Temperature | 300 K | Electronic smearing; increase for metals |
Slater-Koster Parameter Sets
| Set | Elements | Best for |
|---|---|---|
| 3ob-3-1 | H, C, N, O, S, P, Zn, ... | Organic, biochemistry |
| matsci-0-3 | Si, Ge, C, ... | Semiconductors, materials |
| mio-1-1 | H, C, N, O, S, P | General organic |
| tiorg-0-1 | Ti, C, H, N, O, S | TiO2 + organics |
Common Pitfalls
- Missing SK files — DFTB+ silently produces wrong results if SK files are incomplete. Verify all element pairs exist.
- MaxAngularMomentum mismatch — must exactly match what the SK file provides (check SK file header)
- No SK files for element pair — DFTB+ cannot treat arbitrary element combinations. Check dftb.org/parameters.
- Units — DFTB+ uses atomic units internally (Bohr, Hartree). GEN files use Angstrom by default.
- Dispersion missing — add
Dispersion = DftD3 {}for van der Waals systems - Spin polarization — add
SpinPolarisation = Colinear { ... }for magnetic systems; not all SK sets support it
Signals
- GitHub stars
- 196
- Forks
- 23
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
dftbplus- Source
- github.com/hello-qm/catgo-lrg