Skip to content

ShunKonno/orca_sindo_interface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SINDO_ORCA_PROJECT README

開発環境

  • Python 3.10.12
  • ORCA 6.0
  • SINDO 4.0

必要モジュール

以下のモジュールを使用します。(標準ライブラリは省略)

import numpy as np
import itertools
from concurrent.futures import ThreadPoolExecutor, as_completed

実行方法

  1. ORCA で分子の構造最適化を行う。
  2. orca_minfo/main.py を実行する。
    • ORCA のアウトプットファイルのディレクトリと、ファイル名(拡張子なし)を入力する。
    • output/ ディレクトリに .minfo ファイルが生成される。
  3. minfo_QFF/main.py を実行する。
    • 振動モードの次数 (MR) を入力する。
    • output/ ディレクトリに makePES を実行するためのファイル run_qff.sh が生成される。
    • これを実行する。
  4. QFF_xyz/main.py を実行する。
    • output/ ディレクトリに makeGRID を実行するためのファイル run_grid.sh が生成される。
    • これを実行する。
  5. grid/main.py を実行する。
    • 初期設定では、Free の CPU コアを全て使用して並列処理するので注意。
  6. 以上の手順で、output/ ディレクトリ内に SINDO に必要なファイル が出力される。
    • .minfo
    • /pot/ ディレクトリに .pot.dipole

.minfo の仕様

.minfo ファイルには以下の情報が記述される。

[ Atomic Data ]

以下のような形式で記述される:

4
 N, 7, 14.00700, -0.00000979766170, 0.00000001023639, 0.15618266605276
 H, 1, 1.00800, 0.93780599077684, -0.00000002171415, -0.25206416695381
 ...
  • 最初の数値: 原子の数
  • 各行のデータ:
    • 元素記号
    • 原子番号
    • 原子量
    • 座標 (X, Y, Z)

[ Electronic Data ]

  • Energy(エネルギー)
  • Charge(電荷)
  • Multiplicity (多重度)
  • Gradient(勾配)
  • Hessian(ヘシアン行列)
  • Dipole Moment(双極子モーメント)
  • Polarizability(分極率)
  • Dipole Derivative(双極子微分係数)

[ Vibrational Data ]

Normal modes (ORCAで最適化する際に必ず、PROJECTTR false のオプションをつける)

  • Translational Frequency(並進モード)
  • Rotational Frequency(回転モード)
  • Vibrational Frequency(振動モード)

振動モードの分類ロジック

振動モードは次の手順で分類される:

  1. 全振動モード数

    • 直線分子: 3N - 5
    • 非直線分子: 3N - 6

    (ただし、直線分子かどうかの判定は外積を用いて自動的に判別するので、意図しない判定になっていないか要確認)

  2. 基準振動数の選択

    • 計算された振動モードの中から、最も基準振動数の高いものから 3N - 5 (または 3N - 6) 個を選択。
  3. Rotational および Translational の分類

    • 残った正の振動モードのうち、大きいものから順に Rotational Frequency に分類。
    • さらに残ったものを Translational Frequency に分類。

この方法により、正しいモードの割り当てが行われる(例外もあるため、実行前に要確認)

.pot と .dipole の仕様

振動モードが 1 つの場合

B3LYP/cc-pVDZ (11)
# Number of grids and data
    11      1 
#   q1              Energy
   -27.68533983     1.4771550955e-01
   -21.00502784     7.7402241929e-02
   -15.28949299     3.8599008997e-02
  • 基底関数: 計算に用いた基底関数。
  • グリッド数: 解析対象の振動座標の点数。
  • 座標部分: 振動座標と平衡座標の変位ベクトルに原子の重み付けをし、それに対応する基準振動ベクトルの内積を 50 倍したもの。
  • エネルギー: ORCA でエネルギー計算を行い、平衡座標でのエネルギーとの差分を記録。

振動モードが複数のカップリングの場合

B3LYP/cc-pVDZ (11)
# Number of grids and data
    11     11     11      1 
#   q1              q2              q3              Energy
   -42.18928897    -28.05499848    -27.68533983     4.4534309389e-02
   -32.00925814    -28.05499848    -27.68533983     2.3767882545e-02
  • 座標部分: makeGrid.xyz で生成されたカップリング振動状態の座標を、単体の振動モード座標を用いて重み付けの内積の50倍を計算。
  • エネルギー: カップリング状態の座標でエネルギーを求め、各振動モード単体のエネルギーの合計を引いたもの。

.dipole も双極子モーメントに対して同様の処理が適用される。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages