freq¶
MLIP バックエンド(デフォルト: UMA、-b/--backend で ORB ・ MACE ・ AIMNet2 も選択可能)を用いて振動数と熱化学量(ZPE、ギブズ自由エネルギーなど)を計算します。完全な振動解析(極小点に虚振動数がないこと、TS にちょうど 1 つあること等の確認)が必要な場合や、これらの熱化学補正が必要な場合に使用します。VRAM に余裕がある場合、--hessian-calc-mode Analytical によりHessian計算を高速化できます。虚振動数は負の値で表示されます。
実行例¶
明示的な電荷とスピンでの最小実行:
# 明示的な電荷とスピンでの最小実行
pdb2reaction freq -i ts_or_min.pdb -q 0 -m 1 --out-dir ./result_freq
freeze-links + 熱化学ダンプを有効化して実行する:
# freeze-links + 熱化学ダンプを有効化して実行する
pdb2reaction freq -i ts_or_min.pdb -q 0 -m 1 --freeze-links --dump --out-dir ./result_freq_phva
VRAM に余裕があるノードで解析的Hessianを使う:
# VRAM に余裕があるノードで解析的Hessianを使う
pdb2reaction freq -i ts_or_min.pdb -q 0 -m 1 \
--hessian-calc-mode Analytical --out-dir ./result_freq_analytical
処理の流れ¶
構造の読み込みと凍結処理: 構造は
pysisyphus.helpers.geom_loaderで読み込まれます。PDB 入力では--freeze-linksによりキャップ水素を検出して親原子を凍結し、その結果をgeom.freeze_atomsにマージします。マージされたインデックスはログに表示され、MLIP バックエンドと PHVA に伝播されます。MLIP バックエンド:
--hessian-calc-modeで解析的または有限差分Hessianを選択します。MLIP バックエンドは原子が凍結されている場合、部分(活性)Hessianブロックを返すことがあります。Hessian評価モードの詳細は Hessian評価モード を参照してください。PHVA と並進・回転射影: 凍結原子がある場合、固有値解析は活性部分空間内で行われ、並進・回転モードはその空間内で射影されます。3N×3N Hessianと活性ブロックHessianの両方に対応し、振動数は cm⁻¹ で出力されます(負の値は虚振動数)。
モードのエクスポート:
--max-writeでアニメーション化するモード数を制限できます。モードは値順 (value) でソートされ、--sort absを指定すると絶対値順になります。正弦波アニメーションの振幅(--amplitude-ang)とフレーム数(--n-frames)は YAML のデフォルトに従います。すべての入力に対して_trj.xyzが出力され、PDB テンプレートが存在し--convert-filesが有効な場合のみ.pdbも出力されます(ASE 変換がフォールバックとして使用されます)。熱化学:
thermoanalysisがインストールされている場合、QRRHO に準じたサマリー(EE、ZPE、E/H/G 補正、熱容量、エントロピー)が PHVA 振動数に基づいて出力されます。CLI の圧力(atm)は内部で Pa に変換されます。--dumpを指定するとthermoanalysis.yamlも書き込まれます。性能: GPU メモリ使用量を抑えるため、Hessianは 1 つだけ保持します。
出力¶
out_dir/ (デフォルト:./result_freq/)
├─ mode_XXXX_±freqcm-1_trj.xyz # モードごとのアニメーション
├─ mode_XXXX_±freqcm-1.pdb # PDB テンプレートが存在し変換が有効な場合のみ
├─ frequencies_cm-1.txt # 選択したソート順での全振動数リスト
└─ thermoanalysis.yaml # thermoanalysisがインポート可能で--dumpがTrueの場合
コンソールには
geom/calc/freq/熱化学の設定要約ブロックが出力されます。
出力の確認ポイント:
result_freq/frequencies_cm-1.txtresult_freq/mode_*_trj.xyzresult_freq/mode_*.pdb(PDB 入力かつ変換有効時)
終了コード¶
終了コードは CLI 規約の 終了コード を参照。
CLI オプション¶
以下の表は説明が必要なオプションを扱います。全フラグの一覧は生成された コマンドリファレンス にあります(ここで手作業で複製しないでください)。
オプション |
説明 |
デフォルト |
|---|---|---|
|
|
必須 |
|
総電荷。省略時は |
|
|
単一の整数(例: |
None |
|
MLIP 予測器の並列度(workers > 1 で解析Hessian無効)。診断上の注意は workers > 1 は解析Hessianを無効化する(UMA バックエンド) を参照 |
|
|
ノードあたりのワーカー数。並列予測器に渡されます |
|
|
スピン多重度(2S+1) |
|
|
PDB 入力(または |
|
|
凍結する原子の 1 始まりインデックスをカンマ区切りで明示的に指定(例: |
None |
|
エクスポートするモード数 |
|
|
モードアニメーション振幅(Å) |
|
|
モードアニメーションのフレーム数 |
|
|
モード順序: |
|
|
出力ディレクトリ |
|
|
熱化学計算の温度(K) |
|
|
熱化学計算の圧力(atm)。CLI では |
|
|
|
|
|
MLIP Hessianモード( |
|
|
PDB テンプレートが利用可能な場合に XYZ/TRJ に対応する PDB を出力するかどうか(GJF は出力しない) |
|
|
入力が XYZ/GJF の場合に使用する参照 PDB トポロジー(XYZ 座標は保持) |
None |
|
明示 CLI 適用前に読み込むベース YAML |
None |
|
解決済み YAML レイヤー/設定を表示して続行 |
|
|
|
|
|
MLIP バックエンド |
|
|
xTB 暗黙溶媒(例: |
|
|
xTB 溶媒モデル |
|
|
実行せずに検証と実行計画のみ表示 |
|
YAML 設定¶
geom、calc、freq、thermo の各セクションは YAML リファレンス の正規定義から変更ありません: geom、calc、freq、thermo を参照してください。freq ではデフォルトで calc.return_partial_hessian = true(PHVA)が自動設定されます(YAML で上書き可)。
freq 固有のデフォルトとして異なるのは出力ディレクトリのみです:
freq:
out_dir: ./result_freq/ # freq のデフォルト
注記¶
tsoptには虚振動数チェックが内蔵されているため、別途freqを実行するのは主に熱化学量の取得や振動モードの詳細検討のためです。収束した一次の鞍点(TS)では虚振動数が ちょうど 1 つ(検出カットオフは
hessian_dimer.neg_freq_thresh_cm、デフォルト 5 cm⁻¹)になることが期待されます。虚振動数モードは負の振動数として報告されます。
freqは検出された虚振動数の個数を表示し、--dumpで詳細を出力します。--hessian-calc-modeは デフォルト < config < 明示 CLI の優先順位で解決されます。CLI で明示的に指定した値は config YAML のcalc.hessian_calc_modeより優先されます。症状起点で切り分ける場合は 典型エラー別レシピ を先に参照し、詳細は トラブルシューティング を確認してください。
関連項目¶
tsopt — 遷移状態の最適化(内部で虚振動数チェック済み)。続けて IRC で端点の接続性を確認
irc — TS からの IRC(端点での freq と組み合わせることが多い)
dft — より高精度なエネルギー評価のための DFT 一点計算
all —
--thermoを含む一気通貫ワークフローYAML リファレンス —
freqとthermoの設定オプション一覧用語集 — ZPE、ギブズ自由エネルギー、エンタルピー、エントロピーの定義
典型エラー別レシピ – 症状起点の切り分け
トラブルシューティング — 典型的な失敗モードの詳細な修正方法