ORCA Geometry Optimization Skill

SkillAI & models

ORCA geometry optimization. Handles method/basis selection, dispersion corrections, solvent models, and convergence settings.

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 ORCA Geometry Optimization Skill skill

What this skill tells your AI

The instructions your AI receives, as published by hello-qm/catgo-lrg in server/catgo/workflow/skills/orca/opt/SKILL.md and read by ahel’s review.

When to Use

Use this skill when the user wants to:

  • Optimize a molecular geometry with ORCA
  • Find the minimum energy structure of a molecule
  • Relax a molecular cluster or complex

Do NOT use for periodic systems (use VASP or CP2K instead).

Default Parameters

ParameterDefaultDescription
orca_methodB3LYPDFT functional
orca_basisdef2-SVPBasis set
charge0Total charge
multiplicity1Spin multiplicity (2S+1)
orca_extra_keywords""Additional ORCA keywords

MCP Tool Examples

Basic optimization

First, confirm the structure is loaded:

catgo_view(action: "get_state")

Create workflow and add optimization task:

catgo_workflow_engine(action: "create", params: {
  name: "Benzene optimization"
})
catgo_workflow_engine(action: "add_task", params: {
  workflow_id: "<wf_id>",
  task_type: "geo_opt",
  params: {
    software: "orca",
    orca_method: "B3LYP",
    orca_basis: "def2-SVP",
    charge: 0,
    multiplicity: 1
  }
})

With dispersion correction (D3BJ)

For systems with non-covalent interactions (dimers, host-guest, protein-ligand):

catgo_workflow_engine(action: "add_task", params: {
  workflow_id: "<wf_id>",
  task_type: "geo_opt",
  params: {
    software: "orca",
    orca_method: "B3LYP",
    orca_basis: "def2-TZVP",
    orca_extra_keywords: "D3BJ",
    charge: 0,
    multiplicity: 1
  }
})

With solvent (CPCM)

For solution-phase chemistry:

catgo_workflow_engine(action: "add_task", params: {
  workflow_id: "<wf_id>",
  task_type: "geo_opt",
  params: {
    software: "orca",
    orca_method: "B3LYP",
    orca_basis: "def2-SVP",
    orca_extra_keywords: "CPCM(Water)",
    charge: 0,
    multiplicity: 1
  }
})

Tight optimization convergence

For publication-quality geometries or pre-frequency calculations:

catgo_workflow_engine(action: "add_task", params: {
  workflow_id: "<wf_id>",
  task_type: "geo_opt",
  params: {
    software: "orca",
    orca_method: "B3LYP",
    orca_basis: "def2-TZVP",
    orca_extra_keywords: "TightOpt D3BJ",
    charge: 0,
    multiplicity: 1
  }
})

Open-shell system (radical)

For a doublet radical like NO2:

catgo_workflow_engine(action: "add_task", params: {
  workflow_id: "<wf_id>",
  task_type: "geo_opt",
  params: {
    software: "orca",
    orca_method: "UB3LYP",
    orca_basis: "def2-SVP",
    charge: 0,
    multiplicity: 2
  }
})

Submit the workflow

catgo_workflow_engine(action: "submit", params: {
  workflow_id: "<wf_id>"
})

Check status

catgo_workflow_engine(action: "status", params: {
  workflow_id: "<wf_id>"
})

Get results

catgo_workflow_engine(action: "get_result", params: {
  workflow_id: "<wf_id>",
  task_id: "<task_id>"
})

Dispersion Corrections

KeywordMethodWhen to use
D3BJGrimme D3 with Becke-Johnson dampingDefault choice for dispersion
D3Grimme D3 with zero dampingLegacy, use D3BJ instead
D4Grimme D4Newer, slightly better for metals

Always include dispersion for: molecular dimers, adsorption complexes, conformational searches, anything with pi-stacking or H-bonding.

Basis Set Ladder

BasisQualityCostUse
def2-SVPDouble-zetaLowScreening, initial opt
def2-TZVPTriple-zetaMediumProduction geometry
def2-TZVPPTriple-zeta+polHighAccurate energetics
def2-QZVPPQuadruple-zetaVery highBenchmark only

Strategy: optimize with def2-SVP, then single-point with def2-TZVP for energy.

SCF Convergence Issues

If ORCA SCF does not converge, try adding to orca_extra_keywords:

  • SlowConv -- dampened SCF for difficult cases
  • VerySlowConv -- even more conservative
  • SOSCF -- second-order SCF (helps for transition metals)
  • SmearTemp 5000 -- Fermi smearing for near-degenerate orbitals

Common Mistakes

  • Forgetting dispersion for non-covalent systems (huge geometry errors)
  • Using restricted (R) method for open-shell (use UB3LYP, not B3LYP)
  • Basis set too large for optimization (optimize with SVP, refine energy with TZVP)
  • Not checking for imaginary frequencies after optimization

Signals

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