A pseudopotential replaces the rapidly oscillating all-electron wavefunction near the nucleus with a smooth pseudo-wavefunction, which is what makes a plane-wave basis workable. Your choice of pseudopotential controls both the cutoffs you need and the accuracy you get.

The three families: NC, US, PAW

Family Character Cutoff demand ecutrho multiple
NC (norm-conserving) Simple and theoretically clean; plays well with GW and other advanced methods High The 4x default suffices
US (ultrasoft) Much lower cutoffs via augmentation charges Low 8–12x required
PAW (projector augmented wave) US-like cost, plus reconstruction of all-electron quantities Low 8–12x required

The examples in this guide use PSlibrary PAW files. For demanding elements like Fe, ecutrho is set to 10x ecutwfc.

Common mistake: the ecutrho trap

The default ecutrho = 4 × ecutwfc is a norm-conserving convention. Leaving that default with US/PAW potentials produces negative rho warnings or a charge is wrong error, or worse, a quietly wrong total energy with no error at all. Always set 8–12x explicitly for US/PAW.

Where to get them

  • SSSP (Standard Solid State Pseudopotentials): a curated, element-by-element verified library. The efficiency set keeps cutoffs low at reasonable accuracy, good for everyday work and screening; the precision set stays closest to all-electron results for high-accuracy work. For beginners the real treasure is the per-element recommended cutoff table: take your convergence-test starting points from it.
  • PSlibrary: the NC/US/PAW library by the QE developers, downloadable per element from the official site.
  • PseudoDojo: ONCVPSP norm-conserving potentials. Higher cutoffs, but very well validated.

Decoding the filename

Being able to read the PSlibrary naming convention makes choosing much easier.

Fe.pbe-spn-kjpaw_psl.1.0.0.UPF
│   │   │    │        └─ PSlibrary version
│   │   │    └─ kjpaw = Kresse-Joubert PAW (rrkjus = ultrasoft)
│   │   └─ s = semicore s included, p = semicore p, n = nonlinear core correction
│   └─ exchange-correlation functional (pbe / pbesol / pz ...)
└─ element

For transition metals, prefer files that include the semicore states (s, p) in the valence. DFT+U also needs the Hubbard manifold present in the pseudopotential; if it is missing you get set_hubbard_l: pseudopotential not yet inserted.

The ATOMIC_SPECIES card points at the file. If your filenames differ from this guide, this card is the only thing you need to change.

ATOMIC_SPECIES
  Si  28.0855  Si.pbe-n-kjpaw_psl.1.0.0.UPF

The functional lives inside the pseudopotential

The exchange-correlation functional is fixed when the pseudopotential is generated, and pw.x reads it from the file. You can override it with input_dft, but that contradicts the generation conditions of the potential, so avoid it. Use PBE potentials for PBE calculations; that is the rule.

Absolute total energies are not comparable

Every pseudopotential has its own energy zero, so comparing absolute total energies across different potentials (or different cutoffs) is meaningless. Only differences between energies computed under identical conditions carry physics. If your total energy differs from a paper's, that alone means nothing.