abinit
無料Generate and manage ABINIT DFT calculations. Use when the user requests ABINIT, or needs DFPT phonons, GW calculations, or BSE optical spectra.
日本語の概要は準備中です。原文の説明を表示しています。
VASP geometry optimization (relaxation). Handles bulk, slab, and adsorbate-on-slab scenarios with correct ISIF, frozen layers, and convergence settings.
日本語の概要は準備中です。原文の説明を表示しています。
実行スコア 未検証
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Set up and submit VASP geometry optimizations. Three main scenarios with different parameter requirements.
🔴 Must discuss with user:
🟡 Recommend confirming:
🟢 Safe defaults:
Full cell + ionic relaxation. Use ISIF=3 to allow cell shape and volume to change.
from catgo.workflow import Workflow
from catgo.workflow.builtins import geo_opt
wf = Workflow("Bulk TiO2 relaxation")
struct = wf.add_task("structure_input", structure=bulk_json)
opt = wf.add_task(geo_opt, structure=struct.output.structure,
ISIF=3, # Relax cell shape + volume + ions
EDIFFG=-0.02, # Force convergence (eV/A)
system_name="bulk_TiO2")
wf.submit()
Key parameters:
ISIF=3 — relax ions + cell shape + cell volumeEDIFFG=-0.02 — converge when max force < 0.02 eV/A (negative = force criterion)NSW=200 — max ionic steps (default, usually converges in 50-100)MCP equivalent:
catgo_workflow_engine(action="create", params={"name": "Bulk TiO2"})
catgo_workflow_engine(action="add_task", params={
"workflow_id": "wf_xxx",
"task_type": "structure_input",
"name": "input",
"structure": "<bulk_json>"
})
catgo_workflow_engine(action="add_task", params={
"workflow_id": "wf_xxx",
"task_type": "geo_opt",
"software": "vasp",
"structure": "{{t_001.output.structure}}",
"ISIF": 3,
"system_name": "bulk_TiO2"
})
catgo_workflow_engine(action="submit", params={"workflow_id": "wf_xxx"})
Fixed cell, relax only ions. Bottom layers frozen to mimic bulk.
wf = Workflow("RuO2(110) slab")
struct = wf.add_task("structure_input", structure=slab_json)
opt = wf.add_task(geo_opt, structure=struct.output.structure,
ISIF=2, # Fix cell, relax ions only
selective_dynamics=True,
freeze_layers=2, # Freeze bottom 2 layers
system_name="clean_slab")
wf.submit()
Key parameters:
ISIF=2 — MANDATORY for slabs. Fixes cell shape and volumefreeze_layers=2 — freeze bottom N layers (sorted by z-coordinate)selective_dynamics=True — enable per-atom freeze in POSCARISIF reference:
| ISIF | Ions | Cell shape | Cell volume | Use case |
|---|---|---|---|---|
| 2 | Yes | No | No | Slabs, adsorbates |
| 3 | Yes | Yes | Yes | Bulk relaxation |
| 4 | Yes | Yes | No | Bulk at fixed volume |
Same as slab relaxation, but the structure has an adsorbate. Adsorbate atoms are always free.
wf = Workflow("OH on RuO2(110)")
struct = wf.add_task("structure_input", structure=adsorbate_slab_json)
opt = wf.add_task(geo_opt, structure=struct.output.structure,
ISIF=2,
selective_dynamics=True,
freeze_layers=2,
EDIFFG=-0.02,
system_name="*OH")
wf.submit()
Guidelines for adsorbates:
system_name="*OH" convention (asterisk = adsorbed species)IVDW=11 for DFT-D3By default, HPC tasks (including VASP relaxation) pause at PENDING_REVIEW after local preprocessing completes. This lets users verify the structure, frozen layers, and VASP parameters in the task detail panel before committing HPC resources. Click "Confirm & Submit" in the UI, or use wf.submit(auto_submit=True) to bypass the gate.
Before submitting, verify the structure in the viewer:
# Step 1: Check current structure in viewer
catgo_view(action="get_state")
# Verify: correct composition, reasonable cell parameters, vacuum > 15 A for slabs
# Step 2: For slabs, verify frozen atoms
catgo_view(action="get_state")
# Check that bottom-layer atoms will be frozen
# Step 3: After optimization completes, push result to viewer
catgo_workflow_engine(action="get_result", params={"task_id": "t_opt"})
catgo_view(action="push", params={"structure": "<optimized_structure_json>"})
# Check if optimization is converged
catgo_analyze(action="convergence", params={"task_id": "t_opt"})
# Returns: energy vs step, max force vs step, whether converged
# Check remaining forces
catgo_analyze(action="forces", params={"task_id": "t_opt"})
# Returns: per-atom forces, max force, force on each species
For thermodynamic properties (Gibbs energy, ZPE), chain relaxation with frequency:
from catgo.workflow.builtins import geo_opt, freq, gibbs_energy
wf = Workflow("OH adsorption thermodynamics")
struct = wf.add_task("structure_input", structure=slab_oh_json)
opt = wf.add_task(geo_opt, structure=struct.output.structure,
ISIF=2, freeze_layers=2, system_name="*OH")
frq = wf.add_task(freq, structure=opt.output.structure,
freeze_mode="layers", freeze_layers=4,
system_name="*OH")
gib = wf.add_task(gibbs_energy,
energy=opt.output.energy,
frequencies=frq.output.frequencies,
phase="adsorbed", system_name="*OH")
wf.submit()
| Problem | Fix |
|---|---|
| Forces not converging | Increase NSW (e.g., 400), or loosen EDIFFG to -0.03 |
| Atoms escaping into vacuum | Check initial adsorbate placement, reduce POTIM to 0.3 |
| SCF not converging | Switch ALGO=All, increase NELM=400, try AMIX=0.1 |
| Cell shape changing for slab | Ensure ISIF=2, not ISIF=3 |
| Wrong energy (magnetic system) | Set ISPIN=2, provide MAGMOM |
These are applied automatically unless overridden:
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
Generate and manage ABINIT DFT calculations. Use when the user requests ABINIT, or needs DFPT phonons, GW calculations, or BSE optical spectra.
日本語の概要は準備中です。原文の説明を表示しています。
Use when the user asks to place an adsorbate molecule on a surface, find adsorption sites, or set up a surface+adsorbate model for DFT.
日本語の概要は準備中です。原文の説明を表示しています。
Use when the user asks for adsorption energy, binding energy, or wants to compare how strongly a molecule binds to a surface.
日本語の概要は準備中です。原文の説明を表示しています。
Use when the user asks to analyze computational results: Gibbs free energy, OER/HER/CO2RR overpotentials, adsorption energy, convergence tests, DOS/d-band analysis, or Bader charge analysis.
日本語の概要は準備中です。原文の説明を表示しています。
Use AmberTools antechamber for molecular force field parameterization. Generates GAFF/GAFF2 parameters and AM1-BCC or RESP charges for use in AMBER or LAMMPS classical MD simulations.
日本語の概要は準備中です。原文の説明を表示しています。
One-shot recipes for adding, deleting, moving, and replacing individual atoms in the active CatGo viewer structure. Use whenever the user asks to "add an atom", "delete atoms", "remove this atom", "move atom N", "replace H with Li", or any single-atom edit — including "add a hydrogen on top of atom 12" / "delete atoms 5–9" / "swap the oxygen at site 3 for fluorine". Skips the discovery loop (no need to list structure tools or check adsorption sites first); goes straight to the matching `catgo_structure` action. Triggers in Chinese on 加原子, 删原子, 减原子, 移动原子, 替换原子, 增加氢, 删除氧, 把 ... 换成 ....
日本語の概要は準備中です。原文の説明を表示しています。