一键导入
gibbs-free-energy
Use when the user asks for Gibbs free energy, zero-point energy (ZPE), thermal corrections, or thermodynamic properties from DFT + frequency data.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when the user asks for Gibbs free energy, zero-point energy (ZPE), thermal corrections, or thermodynamic properties from DFT + frequency data.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create and manage computational chemistry workflows with CatGo. Supports VASP, CP2K, ORCA, MLP, LAMMPS. Build OER/HER/CO2RR workflows, geometry optimization, frequency analysis, Gibbs energy calculations.
Run and resume the CatGo md-orchestration poll loop — delegate each poll to a subagent (keep main context lean), verify convergence by force, auto-advance each converged species per-species (pipeline, not barrier), and resume a campaign from disk after context compaction / new session. Use when driving or resuming a campaign's job-watch loop. Pairs with catgo-campaign.
Run a CatGo file-first md-orchestration "campaign" — a multi-step / high-throughput computational-materials study (e.g. SAA HER screening) driven from a human-readable folder + markdown tree, not the DB workflow engine. Use when the user says "跑一个 campaign", "md 模式跑", "high-throughput screening", or wants an agent-in-the-loop study with stages/funnel/analysis/report. Requires `catgo` on PATH.
Route computational chemistry requests to the correct software and task skill. Entry point for all CatGo agent interactions.
Drive a file-first, agent-in-the-loop computational campaign via a folder + markdown tree (no DB). Use when the user opts out of the visual workflow engine.
Authoring conventions for CatGo md-orchestration campaigns — progressive markdown, README+INDEX pairs and keeping them current, logging interventions to LESSONS, human-readable (never-hash) names, and the progressive (top→stage→calc) plan. Use when creating/editing any campaign markdown (plan/README/INDEX/STATUS/LESSONS) so the file tree stays navigable and resumable. Pairs with catgo-campaign.
| name | gibbs-free-energy |
| description | Use when the user asks for Gibbs free energy, zero-point energy (ZPE), thermal corrections, or thermodynamic properties from DFT + frequency data. |
G = E_DFT + ZPE - TS
Where:
E_DFT = electronic energy from geometry optimization (eV)ZPE = zero-point energy = (1/2) * sum(h * nu_i) for all real frequenciesTS = entropic contribution at temperature T| Phase | Treatment | When to Use |
|---|---|---|
adsorbed | Harmonic approximation: all 3N modes treated as vibrations. No translational/rotational entropy. | Adsorbate on surface slab |
gas | Ideal gas: translational + rotational + vibrational partition functions (Shomate/statistical mechanics). | Free molecule in gas phase (H2, H2O, O2, etc.) |
Low-frequency modes (< 50 cm-1) in adsorbed species are often numerical noise
from frustrated translations/rotations. These are replaced with freq_cutoff
(default 50 cm-1) to avoid divergent entropy contributions.
🔴 Must discuss with user:
🟡 Recommend confirming:
🟢 Safe defaults:
{"tool": "catgo_workflow_engine", "arguments": {
"action": "create", "name": "Gibbs energy - OH on Pt(111)"
}}
{"tool": "catgo_workflow_engine", "arguments": {
"action": "add_task",
"workflow_id": "wf_abc123",
"task_type": "geo_opt",
"params": {"software": "vasp", "ENCUT": 520, "EDIFFG": -0.02}
}}
{"tool": "catgo_workflow_engine", "arguments": {
"action": "add_task",
"workflow_id": "wf_abc123",
"task_type": "freq",
"depends_on": "task_opt",
"params": {
"software": "vasp",
"freeze_mode": "layers",
"freeze_layers": 4
}
}}
{"tool": "catgo_workflow_engine", "arguments": {
"action": "add_task",
"workflow_id": "wf_abc123",
"task_type": "gibbs_energy",
"depends_on": ["task_opt", "task_freq"],
"params": {
"phase": "adsorbed",
"temperature": 298.15,
"freq_cutoff": 50
}
}}
{"tool": "catgo_workflow_engine", "arguments": {
"action": "submit", "workflow_id": "wf_abc123"
}}
from catgo.workflow import Workflow
wf = Workflow("Gibbs energy - OH on Pt(111)")
inp = wf.add_task("structure_input", structure=slab_oh_json)
opt = wf.add_task("geo_opt",
structure=inp.output.structure,
software="vasp", ENCUT=520, EDIFFG=-0.02)
frq = wf.add_task("freq",
structure=opt.output.structure,
software="vasp",
freeze_mode="layers", freeze_layers=4)
gib = wf.add_task("gibbs_energy",
energy=opt.output.energy,
frequencies=frq.output.frequencies,
phase="adsorbed",
temperature=298.15,
freq_cutoff=50)
wf.submit()
gib.output.gibbs # G in eV
gib.output.zpe # ZPE in eV
gib.output.entropy # TS in eV
gib.output.enthalpy # H in eV
{"tool": "catgo_workflow_engine", "arguments": {
"action": "get_result", "workflow_id": "wf_abc123", "task_id": "task_gibbs"
}}
| Parameter | Default | Description |
|---|---|---|
phase | "adsorbed" | "adsorbed" (harmonic) or "gas" (ideal gas) |
temperature | 298.15 | Temperature in Kelvin |
freq_cutoff | 50 | Replace frequencies below this (cm-1) with this value. Adsorbed phase only. |
pressure | 101325 | Pressure in Pa. Gas phase only. |
For reaction energy diagrams (OER, HER, CO2RR, NRR), you must use Gibbs free energies, not raw DFT electronic energies. The difference matters:
| Contribution | Typical magnitude |
|---|---|
| ZPE (zero-point energy) | +0.05 to +0.5 eV |
| -TS (entropic correction) | -0.1 to -0.6 eV |
| Total correction (G - E_DFT) | -0.1 to +0.3 eV |
Gas-phase molecules (H2, H2O, CO2, N2) have large translational and rotational entropy contributions. Adsorbed species lose these degrees of freedom, so the correction differs significantly between gas and adsorbed phases. Omitting the gibbs_energy step introduces systematic errors of 0.2-0.5 eV per reaction step.
Every species in a reaction (intermediates AND gas-phase references) must go through: geo_opt --> freq --> gibbs_energy.
phase="gas" to
include translational and rotational entropy.energy input must come from geo_opt (relaxed), not single_point.freq_cutoff or verify the structure is properly relaxed.