YAML 設定リファレンス

Tip

all 一気通貫コマンドを探している場合: all コマンドはこのページに記載のすべてのセクションを読み取り、適切なサブコマンドへ転送します。どのセクションがどのステージで読み取られるかは all(特に “サブコマンド → YAML セクション” マッピング)を参照してください。

設定の優先順位

設定は以下の順序で解決されます(後のものが前のものを上書き):

組み込みデフォルト  <  --config (YAML)  <  CLI フラグ
  1. 組み込みデフォルトpdb2reaction/core/defaults.py に定義されたハードコード値。

  2. --config — デフォルトを上書きする YAML ファイル(例: --config my_settings.yaml)。

  3. CLI フラグ — コマンドラインで明示的に指定したオプション(例: -q -1, --thresh gau_loose)。明示的に指定された値のみが YAML を上書きし、CLI デフォルトのままのオプションは YAML の値を上書きしません(YAML の値が有効なまま)。

公開 CLI が提供する設定レイヤはこの 3 つです。組み込み Python 呼び出しとの 互換性のために内部で保持している引数は、追加の公開 CLI 設定レイヤではありません。

例: YAML で charge: 0 を設定し、CLI で -q -1 を渡した場合、電荷は -1 になります。

この優先順位は all, opt, tsopt, freq, irc, scan, scan2d, scan3d, path-opt, path-search, dft に共通です。あわせて CLI 規約: 設定の優先順位 を参照してください。

主要な CLI→YAML マッピング

CLI フラグ

YAML キー

セクション

-q / --charge

charge

calc

-m / --multiplicity

spin

calc

-b / --backend

backend

calc

--backend-model

model

calc

--solvent

solvent

calc

(YAML のみ)

device

calc

--thresh

thresh

opt

--max-cycles

max_cycles

コマンド別: opt/tsoptoptircirc

--max-cycles-gsm

max_cycles

stoptstopt.stop_in_when_full も設定)

--max-cycles-dmf

max_cycles

dmf

--gsm-param

param

gs

--dump

dump

コマンド別の optimizer/path owner(optstopt、または選択された子設定)

--opt-mode

(CLI のみ)

--freeze-atoms

freeze_atoms

geom

--coord-type

coord_type

geom

--temperature(freq、all --freq-temperature

temperature

thermo

--pressure(freq、all --freq-pressure

pressure_atm

thermo

--enginedft サブコマンド) / --dft-engineall ラッパー)

engine

dft

Note

名前不一致 — --pressure vs pressure_atm. CLI フラグは --pressure(単位は暗黙的に atm)、thermo: 配下の対応 YAML キーは pressure_atm(単位接尾辞付き)です。いずれも atm で扱い、内部で Pa に変換されます。

Note

名前不一致 — --engine vs --dft-engine. 単体の dft サブコマンドでは --engine(gpu / cpu)です。pdb2reaction all では他の engine 系オプションと衝突を避けるため、同じフラグが --dft-engine にリネームされます — CLI 規約の –engine vs –dft-engine 節 を参照してください。

サブコマンド別の --thresh デフォルト

TS 最適化はより厳しい “baker” プリセットを、通常の極小化は “gau” プリセットを使うため、--thresh のデフォルトはサブコマンドごとに異なります。

サブコマンド

デフォルト --thresh

由来となるデフォルト辞書

opt

gau

OPT_BASE_KW(→ lbfgs / rfo

tsopt(Hessian Dimer)

baker

HESSIAN_DIMER_KW、内側の LBFGS_TS_KW

tsopt(RS-P-RFO / RS-I-RFO)

baker

RSIRFO_KW

scan

gau

OPT_BASE_KW

scan2d, scan3d

baker

scan_common.py (thresh_default="baker")

path-search(各ステップの opt)

gau

OPT_BASE_KW

path-opt / StringOptimizer

gau_loose

STOPT_KW

all(pre-opt、post-opt 極小化)

gau

OPT_BASE_KW

all(post-opt TS 段階)

baker

HESSIAN_DIMER_KW / RSIRFO_KW

受け付ける値: gau_loose, gau, gau_tight, gau_vtight, baker, never。実行ごとに --thresh <preset> または YAML の opt.thresh で上書きできます。

Note

--thresh を持たないサブコマンド。 ircfreqdft には --threshありません:

  • irc — 収束は irc.rms_grad_threshirc.energy_threshirc.max_cycles で制御されます(irc セクション を参照)。IRC は予測子–修正子積分器に従うため、力ベース極小化用のプリセット群は適用されません。

  • freq — 最適化ステップが無いため --thresh は存在しません。数値精度は --hessian-calc-mode と MLIP 自体の精度で決まります。

  • dft — SCF 収束は dft.conv_tol(デフォルト 1e-9 Hartree)と dft.max_cycle で制御されます。gau/baker プリセットファミリは使用しません。dft セクション を参照してください。

概要

セクション

説明

使用されるコマンド

geom

ジオメトリと座標設定

all, opt, scan, scan2d, scan3d, tsopt, freq, irc, path-opt, path-search, dft

calc

MLIP バックエンドの設定

all, opt, scan, scan2d, scan3d, tsopt, freq, irc, path-opt, path-search

opt

最適化の共通設定

opt, scan, scan2d, scan3d, tsopt, path-opt, path-search

lbfgs

L-BFGS の設定

opt, scan, scan2d, scan3d, path-search, path-opt

rfo

RFO の設定

opt, scan, scan2d, scan3d, path-search, path-opt

gs

GSM(Growing String Method)設定

path-opt, path-search

dmf

DMF(Direct Max Flux)設定

path-opt, path-search

stopt

StringOptimizer 設定

path-opt, path-search

irc

IRC 積分設定

irc

freq

振動解析設定

freq

thermo

熱化学設定

freq

dft

DFT 計算設定

dft

bias

調和バイアス設定

scan, scan2d, scan3d

bond

結合変化検出設定

scan, path-search

search

再帰的経路探索設定

path-search

hessian_dimer

Hessian Guided Dimer TS 最適化

tsopt

rsirfo

RS-P-RFO / RS-I-RFO TS 最適化

tsopt, all

共通セクション

geom

ジオメトリ読み込みと座標系の設定。

geom:
 coord_type: cart # Coordinate type: "cart" (Cartesian) or "dlc" (delocalized internals)
 freeze_atoms: [] # 1-based indices of atoms to freeze; merged with CLI --freeze-links detection

注記:

  • freeze_atoms は PDB/mmCIF トポロジー入力時の --freeze-links 検出原子とマージされます。

  • 凍結原子の力はゼロ化されます。デフォルトの return_partial_hessian: true では active-DOF block の Hessian だけを返します。false にすると、凍結行・列をゼロ化した full matrix を返します。

  • Cartesian PHVA の剛体モード処理は constrained に固定され、凍結anchorを動かさない全系剛体運動だけを除去します。詳細は凍結原子を参照してください。

  • irc では geom.coord_type が YAML/CLI マージ後に cart へ強制されます。


calc

MLIP バックエンドの設定。

calc:
 backend: uma           # MLIP backend: "uma", "orb", "mace", or "aimnet2"
 precision: auto # auto (uma/aimnet2 fp32、orb/mace fp64) | fp32 | fp64; aimnet2 は auto/fp32 のみ受理し fp64 を拒否
 charge: 0 # Total system charge (overridden by CLI -q)
 spin: 1 # Spin multiplicity 2S+1 (overridden by CLI -m)
 model: uma-s-1p2 # uma-s-1p2 | uma-m-1p1
 task_name: omol # Task tag recorded in UMA batches
 device: auto # Device: "cuda", "cpu", or "auto"
 max_neigh: null # Maximum neighbors for graph construction
 radius: null # Cutoff radius for neighbor search
 r_edges: false # Store radial edges
 workers: 1 # UMA inference workers (workers>1 + explicit Analytical is an error)
 workers_per_node: 1 # Workers per node for parallel predictor
 out_hess_torch: true # Return Hessian as torch.Tensor
 hessian_double: true # Assemble/return Hessian in float64
 # freeze_atoms: null # geom.freeze_atoms から継承されるため直接指定しない
 hessian_calc_mode: FiniteDifference # Hessian mode: "Analytical" or "FiniteDifference"
 return_partial_hessian: true  # active-DOF ブロックのHessianを返す
 print_timing: true # Hessian計算のタイミング内訳を表示
 print_vram: true # Hessian計算中の CUDA VRAM 使用量を表示 (UMA バックエンドのみ)
 # 実験的な xTB 溶媒補正(計算コスト大)
 solvent: none           # none, water, methanol, acetonitrile, dmso, thf, toluene
 solvent_model: alpb     # xTB solvent model: "alpb" or "cpcmx"
 xtb_cmd: xtb            # solvent が none 以外の場合に必要な xTB 実行コマンド
 xtb_acc: 0.2            # xTB accuracy parameter

注記:

  • backend で MLIP エンジンを選択。すべてのバックエンド(UMA, ORB, MACE, AIMNet2)が解析 Hessian(hessian_calc_mode: Analytical)と有限差分 Hessian の両方に対応。マルチワーカー推論は UMA バックエンド限定。

  • workers / workers_per_node は UMA バックエンドでのみ有効。

  • 移植性のあるデフォルトは FiniteDifference です。Analytical は有限変位誤差を避けられますが、速度・メモリ量は backend/model/系に依存するため、対象環境で検証してから選択してください。

  • UMA の workers > 1 では解析 Hessian が無効になります。hessian_calc_mode: Analytical を明示すると BackendErrorRuntimeError のサブクラス)で停止します。解析 Hessian には workers = 1、並列実行には FiniteDifference を指定してください。詳細は MLIP Calculator のHessian評価モード を参照してください。

  • 電荷/スピンは .gjf テンプレートがあればそれを継承します。

  • freq は YAML の指定によらず calc.return_partial_hessian = true(PHVA)を強制します。

  • IRC は geom.coord_type = cartcalc.return_partial_hessian = true を常に強制します(YAML より優先、partial Hessian で active-DOF 処理)。


opt

L-BFGS/RFO で共通の単一構造最適化設定。

opt:
 thresh: gau # Convergence preset: gau_loose, gau, gau_tight, gau_vtight, baker, never
 max_cycles: 100000 # Maximum optimizer iterations
 print_every: 100 # Logging stride
 min_step_norm: 1.0e-08 # Minimum step norm for acceptance
 assert_min_step: true # Stop if steps fall below threshold
 rms_force: null # Explicit RMS force target
 rms_force_only: false # Rely only on RMS force convergence
 max_force_only: false # Rely only on max force convergence
 force_only: false # Skip displacement checks
 converge_to_geom_rms_thresh: 0.05 # RMS threshold when converging to reference geometry
 overachieve_factor: 0.0 # Factor to tighten thresholds
 check_eigval_structure: false # Validate Hessian eigenstructure
 line_search: true # Enable line search
 energy_plateau: false # opt-in: エネルギー地形が平坦になった場合に stalled として停止(下記注記を参照)
 energy_plateau_thresh: 1.0e-04 # au (~0.06 kcal/mol); 平坦判定のレンジ閾値
 energy_plateau_window: 50 # 平坦判定に用いる直近ステップ数
 dump: false # Dump trajectory/restart data
 dump_restart: false # Dump restart checkpoints
 prefix: "" # Filename prefix
 out_dir: ./result_opt/ # Output directory

平坦なエネルギー地形による停止(opt-in、デフォルト無効): energy_plateau のデフォルトは false です。opt / tsopt / all--stop-plateau で有効化し、--stop-plateau-thresh / --stop-plateau-window が 下記の 2 つの値を設定します。有効時、直近 energy_plateau_window ステップのエネルギーレンジ (max − min)が energy_plateau_thresh(デフォルト 1×10⁻⁴ au 0.06 kcal/mol、50 ステップ) を下回ると、optimizerは収束扱いにせず stalled として停止します。これにより、backend/model/system依存の force noise/flatnessが選択したforce閾値への到達を妨げる場合でも、energy landscapeが 明らかに平坦化していれば無駄なcycleを消費せずに 停止できます。収束扱いになることは決してなく、max_cycles が常に実質的な上限です。 ただし chain-of-states(COS)オプティマイザ(stoptgs、DMF など)は単一のスカラー エネルギー履歴ではなくイメージごとのエネルギー配列を保持するため、このフォールバックは スキップされます。

収束プリセット:

Preset

Max Force

RMS Force

Max Step

RMS Step

gau_loose

2.5e-3

1.7e-3

1.0e-2

6.7e-3

gau

4.5e-4

3.0e-4

1.8e-3

1.2e-3

gau_tight

1.5e-5

1.0e-5

6.0e-5

4.0e-5

gau_vtight

2.0e-6

1.0e-6

6.0e-6

4.0e-6

baker

3.0e-4

2.0e-4

3.0e-4

2.0e-4

baker は4列に加えて第5の基準(前サイクルとの |delta E| < 1e-6 hartree)を 要求し、5つすべてを満たしたときだけ収束します。したがって文献の Baker 基準 (Bakken and Helgaker, J. Chem. Phys. 117, 9160 (2002): max(|force|) <= 3e-4 かつ|delta E| < 1e-6 または max(|step|) <= 3e-4))より厳しい設定です。文献形は RMS force が残っていても 収束と判定しうるため、機械学習ポテンシャル上では高次の鞍点で停止します。 step 長がゼロの場合、構造が動かないのでエネルギー基準は構造的に満たされます。


lbfgs

L-BFGS の設定(opt を拡張)。

lbfgs:
  # Inherits all opt settings, plus:
 keep_last: 7 # History size for L-BFGS buffers
 beta: 1.0 # Initial damping beta
 gamma_mult: false # Multiplicative gamma update toggle
 max_step: 0.3 # Maximum step length
 control_step: true # Control step length adaptively
 double_damp: true # Double damping safeguard
 mu_reg: null # Regularization strength
 max_mu_reg_adaptions: 10 # Cap on mu adaptations
 reject_uphill: false # 許容値を超えるenergy上昇の拒否を明示的に有効化
 uphill_tolerance: 0.0001 # energy上昇許容値(Hartree)
 rejection_step_floor: 1.0e-07 # retry stepの下限
 max_rejections_at_floor: 3 # 下限での連続拒否後に停止

rfo

RFO(Rational Function Optimizer)の設定(opt を拡張)。

rfo:
  # Inherits all opt settings, plus:
 trust_radius: 0.10 # Trust-region radius
 trust_update: true # Enable trust-region updates
 trust_min: 0.0001 # Minimum trust radius
 trust_max: 0.10 # Maximum trust radius (bohr)
 max_energy_incr: null # Allowed energy increase per step
 reject_uphill: false # 許容値を超えるenergy上昇の拒否を明示的に有効化
 uphill_tolerance: 0.0001 # energy上昇許容値(Hartree)
 rejection_trust_floor: 1.0e-07 # retry trust radiusの下限
 max_rejections_at_floor: 3 # 下限での連続拒否後に停止
 hessian_update: bfgs # Hessian update scheme: bfgs, bofill, etc.
 hessian_init: calc # Hessian initialization: calc, unit, etc.
 hessian_recalc: 500 # Rebuild Hessian every N steps
 hessian_recalc_adapt: null # Adaptive Hessian rebuild factor
 small_eigval_thresh: 1.0e-08 # Eigenvalue threshold for stability
 alpha0: 1.0 # Initial micro step
 max_micro_cycles: 50 # Micro-iteration limit
 rfo_overlaps: false # Enable RFO overlaps
 gediis: false # Enable GEDIIS
 gdiis: true # Enable GDIIS
 gdiis_thresh: 0.0025 # GDIIS acceptance threshold
 gediis_thresh: 0.01 # GEDIIS acceptance threshold
 gdiis_test_direction: true # Test descent direction before DIIS
 adapt_step_func: true # Adaptive step scaling

経路最適化セクション

gs

Growing String Method(GSM)の設定。

gs:
 fix_first: true # Keep first endpoint fixed
 fix_last: true # Keep last endpoint fixed
 max_nodes: 20 # Maximum string nodes (internal images); GSM ではエンドポイント2点を加えた合計が総画像数
 perp_thresh: 0.005 # Perpendicular displacement threshold
 reparam_check: rms # Reparameterization check metric
 reparam_every: 1 # Reparameterization stride
 reparam_every_full: 1 # Full reparameterization stride
 param: equi # Parameterization scheme
 max_micro_cycles: 10 # Micro-iteration limit
 reset_dlc: true # Rebuild delocalized coordinates each step
 climb: true # Enable climbing image
 climb_rms: 0.0005 # Climbing RMS threshold
 climb_lanczos: true # Lanczos refinement for climbing
 climb_lanczos_rms: 0.0005 # Lanczos RMS threshold
 climb_fixed: false # Keep climbing image fixed
 scheduler: null # Optional scheduler backend

Note

gs.max_nodes / --max-nodesGSMDMF のどちらでも可動内部画像数です。両エンジンとも端点2つを保持するため、総パス長は max_nodes + 2 です。詳細は path-opt を参照してください。

gs.paramequi または energy を受け付けます。energy weighting はGSMストリングの完全成長後にのみ適用され、高エネルギー領域へノード密度を寄せます。


dmf

Direct Max Flux(DMF)による MEP 最適化。

Note

DMF では --max-nodesDirectMaxFlux(nmove=...) に渡します。DMF API の nmove は可動内部評価点を指し、端点を含む総画像数は nmove + 2 です。

dmf:
 backend: gpu # gpu (dmf.torch / CUDA、default) | cpu (dmf / NumPy)
 max_cycles: 300 # DMF/IPOPT の最大反復数(--max-cycles-dmf で上書き)
 tol: tight # IPOPT dual_inf_tol: tight(0.04) | middle(0.10) | loose(0.20) または正の float(--thresh-dmf で上書き)
 correlated: true # Correlated DMF propagation
 sequential: true # Sequential DMF execution
 fbenm_only_endpoints: false # Run FB-ENM beyond endpoints
 fbenm_options:
   delta_scale: 0.2 # FB-ENM displacement scaling
   bond_scale: 1.25 # Bond cutoff scaling
   fix_planes: true # Enforce planar constraints
 cfbenm_options:
   bond_scale: 1.25 # CFB-ENM bond cutoff scaling
   corr0_scale: 1.1 # Correlation scale for corr0
   corr1_scale: 1.5 # Correlation scale for corr1
   corr2_scale: 1.6 # Correlation scale for corr2
   eps: 0.05 # Correlation epsilon
   pivotal: true # Pivotal residue handling
   single: true # Single-atom pivots
   remove_fourmembered: true # Prune four-membered rings
 dmf_options:
   remove_rotation_and_translation: false # Keep rigid-body motions
   mass_weighted: false # Toggle mass weighting
   parallel: false # Enable parallel DMF
   eps_vel: 0.01 # Velocity tolerance
   eps_rot: 0.01 # Rotational tolerance
   beta: 10.0 # Beta parameter for DMF
   update_teval: false # Update transition evaluation
 ipopt_options: {} # 生の IPOPT option(例: {dual_inf_tol: 0.04})
 k_fix: 300.0 # Harmonic constant for restraints (dmf 直下、dmf_options 配下ではない)

dmf.tol は DMF ソルブが最後に適用する許容値なので、同じファイル内の ipopt_options.dual_inf_tol より優先されます。生の IPOPT オプションを固定したい場合は dmf.tol を書かず ipopt_options.dual_inf_tol のみを指定してください。gau_tight などの Gaussian プリセットはここでは拒否され、--thresh / --thresh-gsm の担当です。



stopt

chain-of-states 経路最適化(path-opt, path-search)向けの StringOptimizer 設定。

stopt:
 type: string # Optimizer type label
 thresh: gau_loose # StringOptimizer convergence preset
 stop_in_when_full: 300 # Early stop threshold when the string is full
 align: false # Alignment toggle (forced to False in path-opt/path-search; external Kabsch alignment is used instead)
 scale_step: global # Step scaling mode
 max_cycles: 300 # Maximum StringOptimizer iterations
 dump: false # Dump trajectory/restart data
 dump_restart: false # Dump restart checkpoints
 reparam_thresh: 0.0 # Reparameterization threshold
 coord_diff_thresh: 0.0 # Coordinate-difference threshold
 out_dir: ./result_path_opt/ # Output directory
 print_every: 10 # Logging stride

TS 最適化セクション

TS 最適化は --opt-mode2 つのアルゴリズムを切り替えます:

  • --opt-mode dimer(または grad)→ hessian_dimer セクション

  • --opt-mode rsprfo(または hess、デフォルト)、rsirfotrimrsirfo セクション

同じ設定を opt と使用中のアルゴリズムセクションの両方へ明示し、値が異なる場合はエラーになります。片方だけを明示した場合は両方でその値を使い、無指定ならアルゴリズム固有のデフォルトを使います。

hessian_dimer

Hessian Guided Dimer TS 最適化(tsopt –opt-mode grad)。

hessian_dimer:
 thresh_loose: gau_loose # Loose convergence preset
 thresh: baker # Main convergence preset
 update_interval_hessian: 500 # Hessian rebuild cadence
 flatten_amp_ang: 0.1 # Flattening amplitude (Å)
 flatten_max_iter: 50 # Flattening iteration cap (下記注記を参照)
 flatten_sep_cutoff: 0.0 # Minimum distance between representative atoms
 flatten_k: 10 # Representative atoms sampled per mode
 flatten_loop_bofill: false # Bofill update for flatten displacements
 mem: 100000 # Memory limit for solver
 device: auto # Device selection for eigensolver
 root: 0 # Targeted TS root index
 dimer:
   length: 0.0189 # Dimer separation (Bohr)
   rotation_max_cycles: 15 # Max rotation iterations
   rotation_method: fourier # Rotation optimizer method
   rotation_thresh: 0.0001 # Rotation convergence threshold
   rotation_tol: 1 # Rotation tolerance factor
   rotation_max_element: 0.001 # Max rotation matrix element
   rotation_interpolate: true # Interpolate rotation steps
   rotation_disable: false # Disable rotations entirely
   rotation_disable_pos_curv: true # Disable when positive curvature detected
   rotation_remove_trans: true # 選択した剛体null成分を除去
   trans_force_f_perp: true # Project forces perpendicular to translation
   bonds: null # Bond list for constraints
   N_hessian: null # Hessian size override
   bias_rotation: false # Bias rotational search
   bias_translation: false # Bias translational search
   bias_gaussian_dot: 0.1 # Gaussian bias dot product
   seed: null # RNG seed for rotations
   write_orientations: false # 方向を出力(明示的な true も可)
   forward_hessian: true # Propagate Hessian forward
 lbfgs:                    # `hessian_dimer` 内で `dimer` と同階層
   # Same keys as lbfgs section
   thresh: baker
   line_search: false # 必須: Dimer の有効力は物理エネルギーと共役でない

内側の L-BFGS 固有設定は、最上位の lbfgs ではなく hessian_dimer.lbfgs に置きます。共通の print_everyenergy_plateau* は上記の競合規則に従います。line_searchfalse 固定です。Dimer の射影・反転した有効力は表示する物理エネルギーの勾配では ないため、true は拒否されます。 max_cycles は設定できず、各 segment には opt.max_cycles の残り cycle 数が渡されます。

Note

flatten_max_iter のデフォルト例外。 CLI は YAML 適用前に hessian_dimer.flatten_max_iter = 0 を初期値とします。このため toggle 未指定時は明示した YAML 値を保持し、YAML に値が無ければ flatten は無効です。 --flatten は YAML 値(無ければ組み込み値 50)を有効化し、 --no-flatten は 0 を強制します。rsirfo に独立した flatten counter はありません。 完全な動作表は --flatten 優先順位の注意 を参照してください。


rsirfo

RS-I-RFO / RS-P-RFO TS 最適化(tsopt --opt-mode rsirforsprfohess デフォルト)、trim が使用)。

rsirfo:
 thresh: baker # RS-IRFO convergence preset
 max_cycles: 100000 # opt.max_cycles と共有。異なる明示値はエラー
 print_every: 100 # Logging stride
 min_step_norm: 1.0e-08 # Minimum accepted step norm
 assert_min_step: true # Assert when steps stagnate
 roots: [0] # 対象root indexを1個だけ指定(一次鞍点のみ)
 hessian_ref: null # Reference Hessian
 rx_modes: null # Reaction-mode definitions
 prim_coord: null # Primary coordinates to monitor
 rx_coords: null # Reaction coordinates to monitor
 hessian_update: bofill # Hessian update scheme
 hessian_recalc: 500 # Rebuild exact Hessian every N macro steps (rfo から継承)
 hessian_recalc_reset: true # Reset recalc counter after exact Hessian
 max_micro_cycles: 50 # Micro-iterations per macro cycle
 augment_bonds: false # Augment reaction path based on bond analysis
 min_line_search: false # RS-P-RFO のみ: 最小化部分空間で補間
 max_line_search: false # RS-P-RFO のみ: 最大化部分空間で補間
 assert_neg_eigval: false # Require negative eigenvalue at convergence
 track_mode_by_overlap: false # 前回の Hessian との重なりで追跡対象 TS モードを選ぶ
 reject_mode_loss: false # 確立済みの負曲率を失うtrial棄却はデフォルト無効
 mode_loss_trust_floor: 1.0e-05 # mode-loss retry 用の正の緊急 trust-radius 下限
 max_mode_loss_rejections: 5 # 下限到達後に許す棄却回数
 verify_saddle: true # exact Hessian + 射影振動解析で一次鞍点を検証
 saddle_recovery_step: 0.01 # optimizer 座標での正の上り方向回復変位上限
 saddle_recovery_check_interval: 50 # n_imag=0 回復中の exact PHVA 間隔
 saddle_recovery_max_cycles: 0 # n_imag=0 自動回復はデフォルト無効
 out_dir: ./result_tsopt/ # 出力ディレクトリ
 # Also inherits rfo-like settings: trust_radius, trust_update, etc.

min_line_searchmax_line_search を使用するのは --opt-mode rsprfo です。デフォルトは false ですが、YAML で明示した値は保持されます。 RS-I-RFO と TRIM はこの部分空間 line search を実装していません。Dimer では、上記の独立した hessian_dimer.lbfgs.line_search を使用します。

Note

--flatten の優先順位。 Hessian-Dimer と RFO TS 経路の flatten ループは hessian_dimer.flatten_max_iter で設定し、rsirfo に独立した counter はありません。toggle 未指定なら明示した YAML 値を保持し、 --flatten はその値(無ければ組み込み値 50)、--no-flatten は 0 を使います。 --flatten 優先順位の注意 を参照してください。

IRC セクション

irc (section)

IRC 積分設定。

irc:
 step_length: 0.1 # Integration step length (Bohr)
 never_stop: false # 物理的な端点判定を無視してmax_cyclesまで追跡
 max_cycles: 125 # Maximum steps along IRC
 forward: true # Propagate in forward direction
 backward: true # Propagate in backward direction
 root: 0 # Normal-mode root index
 hessian_init: calc # Hessian initialization source
 hessian_update: bofill # Hessian update scheme
 hessian_recalc: null # Hessian rebuild cadence
 energy_increase_thresh: 0.0   # 通常modeでは1 stepでもenergyが上昇すれば停止
 dump_every: null # デフォルト無効。正の間隔では座標・energy・gradientのみをcheckpoint保存(Hessianなし)
 dump_fn: irc_data.h5 # dump_every指定時のcheckpointファイル名
 displ: energy # Displacement construction method
 displ_energy: 0.001 # Energy-based displacement scaling
 displ_length: 0.1 # Length-based displacement fallback
 rms_grad_thresh: 0.001 # RMS gradient convergence threshold
 hard_rms_grad_thresh: null # Hard RMS gradient stop
 energy_thresh: 0.000001 # Energy change threshold
 imag_below: 0.0 # Imaginary frequency cutoff
 force_inflection: true # Enforce inflection detection
 check_bonds: false # Check bonds during propagation
 out_dir: ./result_irc/ # Output directory
 prefix: "" # Filename prefix
 max_pred_steps: 500 # Predictor-corrector max steps
 loose_cycles: 3 # Loose cycles before tightening
 corr_func: mbs # EulerPC コレクタ関数(現在登録されているのは "mbs" のみ)

corr_func は、予測子–修正子法ベースの IRC 積分器(EulerPC)が使う修正子ステップを選択します。現在登録されているのは "mbs"(pysisyphus 組み込みの Modified Bulirsch–Stoer 実装、デフォルト)のみで、それ以外の値は構築時にエラーになります。

振動解析セクション

freq (section)

振動解析設定。

freq:
 zero_cutoff_cm: 5.0 # |振動数| がこの値以下のモードを除外(cm^-1)
 amplitude_ang: 0.8 # Displacement amplitude for modes (Å)
 n_frames: 20 # モードtrajectoryのフレーム数
 max_write: 10 # Maximum number of modes to write
 sort: value # Sort order: "value" or "abs"
 out_dir: ./result_freq/ # Output directory

freq.zero_cutoff_cm は standalone freqopt flatten、Dimer、 Hessian系TS最適化が共有する唯一のcutoffです。旧 hessian_dimer.neg_freq_thresh_cmrsirfo.saddle_imaginary_threshold_cm は互換aliasとして受理しますが、 競合する値はエラーになります。


thermo

熱化学設定。

thermo:
 temperature: 298.15 # Thermochemistry temperature (K)
 pressure_atm: 1.0 # Thermochemistry pressure (atm)
 symmetry_number: null # 自動判定。正整数は高度な上書き指定
 dump: false # Write thermoanalysis.yaml

DFT セクション

dft (section)

DFT 計算設定。

dft:
 func: wb97m-v # Exchange-correlation functional
 basis: def2-tzvpd # Basis set name
 func_basis: null # Combined "FUNC/BASIS" string (overrides func/basis)
 conv_tol: 1.0e-09 # SCF convergence tolerance (hartree)
 max_cycle: 100 # Maximum SCF iterations
 grid_level: 3 # PySCF grid level
 engine: gpu # SCF backend: "gpu" (GPU4PySCF) or "cpu" (PySCF)
 lowmem: true # closed-shell GPU で gpu4pyscf rks_lowmem.RKS を使用
 verbose: 0 # PySCF verbosity (0-9); CLI -v 2/3 では実行時 PySCF verbosity が >=4
 out_dir: ./result_dft/ # Output directory root

スキャン関連セクション

スキャン座標は -s/--scan-lists(インラインまたは YAML ファイル)で指定します(メイン YAML 設定ではありません)。 構文の詳細は クイックスタート: スキャン を参照してください。

bias

スキャン・拘束付き最適化で使用する調和バイアス設定。

bias:
 k: 300 # Harmonic bias strength (eV·Å⁻²)

サブコマンド間で共有されるばね定数。 同じ物理的な調和ペナルティ(k、単位 eV·Å⁻²)が以下の箇所にデフォルト値 300.0 で現れます:

YAML キー

使用元

CLI フラグ

bias.k

scan, scan2d, scan3d

--bias-k

dmf.k_fix

path-opt / path-searchmep_mode: dmf を使用する場合

—(YAML 専用)

opt--bias-k--dist-freeze 原子ペアに適用)を受け付けますが、これは CLI フラグからのみ読み取られ、同じ 300.0 をデフォルト値とします。bias: YAML セクションは参照しません。

調和拘束の強さを調整したい場合はこれらのいずれかを上書きしてください。値を小さく(例: 20.0)すると、柔らかい誘導項としてジオメトリが緩和しやすくなります。デフォルトの 300.0 はほぼ剛体的に固定する値です。


bond

MLIP ベースの結合変化検出。

bond:
 device: auto # MLIP device for bond analysis
 bond_factor: 1.2 # Covalent-radius scaling for cutoff
 margin_fraction: 0.05 # Fractional tolerance for comparisons
 delta_fraction: 0.05 # Minimum relative change to flag bond formation/breaking

例: 設定ファイルの全体例

# pdb2reaction configuration example

geom:
 coord_type: cart
 freeze_atoms: []

calc:
 backend: uma
 charge: 0
 spin: 1
 model: uma-s-1p2 # uma-s-1p2 | uma-m-1p1
 device: auto
 hessian_calc_mode: FiniteDifference # 移植性のあるデフォルト値。Analytical は事前検証して選択

gs:
 max_nodes: 12
 climb: true
 climb_lanczos: true

stopt:
 thresh: gau_loose
 max_cycles: 300
 dump: false
 out_dir: ./result_all/

opt:
 thresh: gau

lbfgs:
 max_cycles: 100000

rfo:
 max_cycles: 100000

bond:
 bond_factor: 1.2
 delta_fraction: 0.05

search:
 max_depth: 10
 max_nodes_segment: 20

freq:
 max_write: 10
 amplitude_ang: 0.8

thermo:
 temperature: 298.15
 pressure_atm: 1.0
 symmetry_number: null

dft:
 func: wb97m-v
 basis: def2-tzvpd
 grid_level: 3

参照

  • all - 一気通貫ワークフロー

  • opt - 単一構造最適化

  • tsopt - 遷移状態最適化

  • path-search - 再帰的 MEP 探索

  • freq - 振動解析

  • dft - DFT 計算

  • uma-pysis - MLIP バックエンドの詳細