ABINIT
SkillDev toolsGenerate and manage ABINIT DFT calculations. Use when the user requests ABINIT, or needs DFPT phonons, GW calculations, or BSE optical spectra.
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 ABINIT skill
What this skill tells your AI
The instructions your AI receives, as published by hello-qm/catgo-lrg in .claude/skills/abinit/SKILL.md and read by ahel’s review.
When to Use
- User explicitly requests ABINIT
- User needs DFPT (density-functional perturbation theory) phonons natively
- User needs GW quasiparticle calculations or BSE optical spectra
- User wants multi-dataset calculations in a single input file
Prerequisites
- ABINIT binaries accessible on HPC (
abinit --version) - Pseudopotentials available (JTH PAW or PseudoDojo NC recommended)
- Structure loaded in viewer — verify with
catgo_view(action="get_state")
Workflow Steps
1. Verify structure
catgo_view(action="get_state")
2. Create workflow
catgo_workflow_engine(action="create", params={"name": "ABINIT GW band gap"})
3. Add ABINIT task via shell
CatGo does not yet have a native ABINIT engine. Use task_type: "shell".
catgo_workflow_engine(action="add_task", params={
"workflow_id": "wf_xxx",
"task_type": "shell",
"name": "abinit_scf",
"command": "abinit < abinit.files > abinit.log 2>&1",
"input_files": {
"abinit.in": "<input content>",
"abinit.files": "<files file content>"
},
"system_name": "Si_GW"
})
When a @register_engine("abinit") is added, use task_type: "geo_opt" with software: "abinit".
Input File Template — SCF
# SCF ground state
ndtset 1
# System
natom <natoms>
ntypat <ntypes>
typat <type_list>
znucl <Z_list>
acell 3*1.0
rprim
<a1x> <a1y> <a1z>
<a2x> <a2y> <a2z>
<a3x> <a3y> <a3z>
xred
<x1> <y1> <z1>
<x2> <y2> <z2>
# Plane-wave basis
ecut 40.0 # Ha (= 2x Ry)
pawecutdg 80.0 # PAW fine grid
# K-points
ngkpt <k1> <k2> <k3>
nshiftk 1
shiftk 0.0 0.0 0.0
# SCF
nstep 100
toldfe 1.0d-8 # Ha
# Smearing
occopt 3 # Fermi-Dirac
tsmear 0.002 # Ha (~0.05 eV)
# XC
ixc 11 # PBE
The .files File
ABINIT uses a .files file listing input/output/pseudo paths:
abinit.in
abinit.out
abiniti
abinito
abinit_tmp
pseudo/Si.paw
Lines: input, output, root_input, root_output, tmp_dir, then one pseudo per atom type.
Parameter Guidance
| Parameter | Typical value | Notes |
|---|---|---|
| ecut | 30-50 Ha | In Hartree (1 Ha = 27.2 eV); check pseudo recommendations |
| pawecutdg | 2x ecut | PAW augmentation grid; only for PAW pseudos |
| toldfe | 1.0d-8 | Energy convergence in Ha |
| toldff | 1.0d-5 | Force convergence in Ha/Bohr (for relaxation) |
| ngkpt | auto from cell | Monkhorst-Pack grid |
| occopt | 3 (FD) or 7 (Gaussian) | Smearing type |
| ionmov | 2 (BFGS) | Ion relaxation algorithm |
| optcell | 0 (ions) / 2 (full) | Cell optimization level |
Multi-Dataset Calculations
ABINIT supports chaining calculations in one input via ndtset:
ndtset 3
# Dataset 1: SCF
toldfe1 1.0d-8
# Dataset 2: NSCF for DOS
iscf2 -2
tolwfr2 1.0d-12
getden2 1
# Dataset 3: DFPT phonons
rfphon3 1
nqpt3 1
qpt3 0.0 0.0 0.0
toldfe3 1.0d-10
getden3 1
getwfk3 1
Common Pitfalls
- ecut in Hartree, not eV — ABINIT uses Hartree (1 Ha = 27.2 eV). A 40 Ha cutoff is ~1088 eV.
- Coordinates default to reduced (xred) — use
xred(fractional) orxcart(Bohr). Not Angstrom. - Missing .files file — ABINIT reads file paths from stdin or a .files file; forgetting it causes silent failure
- PAW augmentation grid — if using PAW pseudos,
pawecutdgmust be set (typically 2x ecut) - GW convergence — GW calculations need many empty bands (
nband) and carefulecutepsconvergence - Large tmp files — ABINIT writes wave functions to
_TMP; ensure sufficient disk space
Signals
- GitHub stars
- 196
- Forks
- 23
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
abinit- Source
- github.com/hello-qm/catgo-lrg