CP2K Single Point Energy Skill

SkillDev tools

CP2K single point energy calculation. Uses GTH pseudopotentials, Gaussian-plane-wave (GPW) method, and DZVP basis sets for periodic DFT.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the CP2K Single Point Energy Skill skill

What this skill tells your AI

The instructions your AI receives, as published by hello-qm/catgo-lrg in .claude/skills/cp2k-static/SKILL.md and read by ahel’s review.

When to Use

Use this skill when the user wants to:

  • Calculate the total energy of a periodic system using CP2K
  • Compute electronic density of states with CP2K
  • Get forces on atoms without relaxation
  • Benchmark different functionals or cutoffs for a crystal structure

CP2K uses the Gaussian and Plane Waves (GPW) method, which is efficient for large periodic systems (100+ atoms). For molecular systems, prefer ORCA.

Default Parameters

ParameterDefaultDescription
software"cp2k"Must be set to "cp2k"
cp2k_functional"PBE"XC functional
cp2k_basis"DZVP-MOLOPT-SR-GTH"Gaussian basis set
cp2k_pseudo"GTH-PBE"Pseudopotential family
cp2k_cutoff400Plane-wave cutoff in Ry
cp2k_rel_cutoff60Relative cutoff in Ry
kpoints[1, 1, 1]Gamma-point by default

MCP Tool Examples

Basic single point energy

First, check the loaded structure:

catgo_view(action: "get_state")

Create workflow and add single point task:

catgo_workflow_v2(action: "create", params: {
  name: "TiO2 rutile single point"
})
catgo_workflow_v2(action: "add_task", params: {
  workflow_id: "<wf_id>",
  task_type: "single_point",
  params: {
    software: "cp2k",
    cp2k_functional: "PBE",
    cp2k_basis: "DZVP-MOLOPT-SR-GTH",
    cp2k_pseudo: "GTH-PBE",
    cp2k_cutoff: 400
  }
})

With k-points for metals or small cells

catgo_workflow_v2(action: "add_task", params: {
  workflow_id: "<wf_id>",
  task_type: "single_point",
  params: {
    software: "cp2k",
    cp2k_functional: "PBE",
    cp2k_basis: "DZVP-MOLOPT-SR-GTH",
    cp2k_pseudo: "GTH-PBE",
    cp2k_cutoff: 500,
    kpoints: [4, 4, 4]
  }
})

With DFT+U for transition metal oxides

For systems where standard DFT fails (e.g., NiO, FeO, MnO):

catgo_workflow_v2(action: "add_task", params: {
  workflow_id: "<wf_id>",
  task_type: "single_point",
  params: {
    software: "cp2k",
    cp2k_functional: "PBE",
    cp2k_basis: "DZVP-MOLOPT-SR-GTH",
    cp2k_pseudo: "GTH-PBE",
    cp2k_cutoff: 500,
    cp2k_dft_plus_u: true,
    cp2k_u_values: {"Ni": 6.4, "Fe": 4.0}
  }
})

Hybrid functional (HSE06)

More accurate but significantly more expensive:

catgo_workflow_v2(action: "add_task", params: {
  workflow_id: "<wf_id>",
  task_type: "single_point",
  params: {
    software: "cp2k",
    cp2k_functional: "HSE06",
    cp2k_basis: "DZVP-MOLOPT-SR-GTH",
    cp2k_pseudo: "GTH-PBE",
    cp2k_cutoff: 500,
    cp2k_hfx_cutoff_radius: 6.0
  }
})

Submit and get results

catgo_workflow_v2(action: "submit", params: { workflow_id: "<wf_id>" })
catgo_workflow_v2(action: "status", params: { workflow_id: "<wf_id>" })
catgo_workflow_v2(action: "get_result", params: {
  workflow_id: "<wf_id>",
  task_id: "<task_id>"
})

GTH Pseudopotentials

CP2K uses Goedecker-Teter-Hutter (GTH) pseudopotentials. The pseudopotential family MUST match the functional:

FunctionalPseudopotential
PBEGTH-PBE
BLYPGTH-BLYP
PBE0, HSE06GTH-PBE (same PP for hybrids)
SCANGTH-SCAN (if available, else GTH-PBE)

Basis set options

BasisQualityAtomsUse
SZV-MOLOPT-SR-GTHSingle-zetaAllQuick test only
DZVP-MOLOPT-SR-GTHDouble-zetaAllProduction default
TZVP-MOLOPT-SR-GTHTriple-zetaMostAccurate energetics
TZV2P-MOLOPT-SR-GTHTriple-zeta+2polMain groupBenchmark

The -SR- (short range) variants are optimized for condensed phase and are preferred for periodic calculations. -GTH suffix means they match GTH pseudopotentials.

Cutoff Convergence

The plane-wave cutoff (cp2k_cutoff) controls the electron density grid. Test convergence by running multiple single points:

catgo_workflow_v2(action: "add_task", params: {
  workflow_id: "<wf_id>",
  task_type: "single_point",
  task_id: "cut300",
  params: { software: "cp2k", cp2k_cutoff: 300 }
})

Repeat for 400, 500, 600 Ry. Energy should converge to within 1 meV/atom.

Typical converged values:

  • Light elements (C, N, O): 400 Ry
  • Transition metals: 500 Ry
  • Hard pseudopotentials (F, O with certain PPs): 600 Ry

Common Mistakes

  • Mismatched basis/pseudopotential families (GTH-PBE basis with BLYP functional)
  • Cutoff too low (unconverged energy, meaningless forces)
  • Gamma-point k-mesh for a metal (need denser k-points)
  • Using molecular basis sets (no -GTH suffix) with GTH pseudopotentials
  • Forgetting spin polarization for magnetic systems (set cp2k_spin_polarized: true)

Signals

GitHub stars
196
Forks
23
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
single-point
Source
github.com/hello-qm/catgo-lrg