YAML 設定リファレンス¶
Tip
all 一気通貫コマンドを探している場合: all コマンドはこのページに記載のすべてのセクションを読み取り、適切なサブコマンドへ転送します。どのセクションがどのステージで読み取られるかは all(特に “サブコマンド → YAML セクション” マッピング)を参照してください。
設定の優先順位¶
設定は以下の順序で解決されます(後のものが前のものを上書き):
組み込みデフォルト < --config (YAML) < CLI フラグ
組み込みデフォルト —
pdb2reaction/core/defaults.pyに定義されたハードコード値。--config— デフォルトを上書きする YAML ファイル(例:--config my_settings.yaml)。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 キー |
セクション |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(YAML のみ) |
|
|
|
|
|
|
|
コマンド別: |
|
|
|
|
|
|
|
|
|
|
|
コマンド別の optimizer/path owner( |
|
(CLI のみ) |
— |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 のデフォルトはサブコマンドごとに異なります。
サブコマンド |
デフォルト |
由来となるデフォルト辞書 |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
受け付ける値: gau_loose, gau, gau_tight, gau_vtight, baker, never。実行ごとに --thresh <preset> または YAML の opt.thresh で上書きできます。
Note
--thresh を持たないサブコマンド。 irc、freq、dft には --thresh がありません:
irc— 収束はirc.rms_grad_thresh、irc.energy_thresh、irc.max_cyclesで制御されます(ircセクション を参照)。IRC は予測子–修正子積分器に従うため、力ベース極小化用のプリセット群は適用されません。freq— 最適化ステップが無いため--threshは存在しません。数値精度は--hessian-calc-modeと MLIP 自体の精度で決まります。dft— SCF 収束はdft.conv_tol(デフォルト1e-9Hartree)とdft.max_cycleで制御されます。gau/bakerプリセットファミリは使用しません。dftセクション を参照してください。
概要¶
セクション |
説明 |
使用されるコマンド |
|---|---|---|
ジオメトリと座標設定 |
all, opt, scan, scan2d, scan3d, tsopt, freq, irc, path-opt, path-search, dft |
|
MLIP バックエンドの設定 |
all, opt, scan, scan2d, scan3d, tsopt, freq, irc, path-opt, path-search |
|
最適化の共通設定 |
opt, scan, scan2d, scan3d, tsopt, path-opt, path-search |
|
L-BFGS の設定 |
opt, scan, scan2d, scan3d, path-search, path-opt |
|
RFO の設定 |
opt, scan, scan2d, scan3d, path-search, path-opt |
|
GSM(Growing String Method)設定 |
path-opt, path-search |
|
DMF(Direct Max Flux)設定 |
path-opt, path-search |
|
StringOptimizer 設定 |
path-opt, path-search |
|
IRC 積分設定 |
irc |
|
振動解析設定 |
freq |
|
熱化学設定 |
freq |
|
DFT 計算設定 |
dft |
|
調和バイアス設定 |
scan, scan2d, scan3d |
|
結合変化検出設定 |
scan, path-search |
|
再帰的経路探索設定 |
path-search |
|
Hessian Guided Dimer TS 最適化 |
tsopt |
|
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を明示するとBackendError(RuntimeErrorのサブクラス)で停止します。解析 Hessian にはworkers = 1、並列実行にはFiniteDifferenceを指定してください。詳細は MLIP Calculator のHessian評価モード を参照してください。電荷/スピンは
.gjfテンプレートがあればそれを継承します。freqは YAML の指定によらずcalc.return_partial_hessian = true(PHVA)を強制します。IRC は
geom.coord_type = cartとcalc.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)オプティマイザ(stopt、gs、DMF など)は単一のスカラー
エネルギー履歴ではなくイメージごとのエネルギー配列を保持するため、このフォールバックは
スキップされます。
収束プリセット:
Preset |
Max Force |
RMS Force |
Max Step |
RMS Step |
|---|---|---|---|---|
|
2.5e-3 |
1.7e-3 |
1.0e-2 |
6.7e-3 |
|
4.5e-4 |
3.0e-4 |
1.8e-3 |
1.2e-3 |
|
1.5e-5 |
1.0e-5 |
6.0e-5 |
4.0e-5 |
|
2.0e-6 |
1.0e-6 |
6.0e-6 |
4.0e-6 |
|
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-nodes は GSM と DMF のどちらでも可動内部画像数です。両エンジンとも端点2つを保持するため、総パス長は max_nodes + 2 です。詳細は path-opt を参照してください。
gs.param は equi または energy を受け付けます。energy weighting はGSMストリングの完全成長後にのみ適用され、高エネルギー領域へノード密度を寄せます。
dmf¶
Direct Max Flux(DMF)による MEP 最適化。
Note
DMF では --max-nodes を DirectMaxFlux(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 の担当です。
search¶
再帰的経路探索(path-search のみ)。
search:
max_depth: 10 # Recursion depth limit
stitch_rmsd_thresh: 0.0001 # RMSD threshold for stitching segments
bridge_rmsd_thresh: 0.0001 # RMSD threshold for bridging nodes
max_nodes_segment: 20 # Max nodes per segment
max_nodes_bridge: 5 # Max nodes per bridge
kink_max_nodes: 3 # Max nodes for kink optimizations
max_seq_kink: 2 # Max sequential kinks
refine_mode: null # Refinement strategy: peak, minima, or null (auto)
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-mode で2 つのアルゴリズムを切り替えます:
--opt-mode dimer(またはgrad)→hessian_dimerセクション--opt-mode rsprfo(またはhess、デフォルト)、rsirfo、trim→rsirfoセクション
同じ設定を 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_every と
energy_plateau* は上記の競合規則に従います。line_search は false
固定です。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 rsirfo、rsprfo(hess デフォルト)、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_search と max_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 freq、opt flatten、Dimer、
Hessian系TS最適化が共有する唯一のcutoffです。旧
hessian_dimer.neg_freq_thresh_cm と
rsirfo.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 フラグ |
|---|---|---|
|
|
|
|
|
—(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