大規模系の振動解析を行う際のヒント

以下では、吸着系など、原子数が大きく、なおかつ全ての原子の変位を考慮しない場合の計算の進め方を紹介します。
方針としては

  • 変位させる原子を決めて、それらに対応するnfvibrate.dataを作成
  • 最適化した構造についてDavidson法で波動関数を作成
  • 準備した波動関数から始めて(restart)してRMM-DIIS+real space projectionで振動解析(の準備計算)を実行 となります。 ここでは例としてCO/Cu(110)を考え、CO原子のみを変位させるとします。

nfvibrate.dataの作成

util/Vibrationにあるgenfvibというプログラムを以下のように実行します。

genfvib -natm 2 > nfvibrate.data

ここで-natm 2というオプションは2つの原子を変位させることを意味しており、各原子について+x, -x, +y, -y, +z, -z方向への変位を指定するnfvibrate.dataを生成します。デフォルトの変位は0.01 Bohrです。変位の振幅を変えたいときは-dというオプションを使用します。
原子の指標は1から原子数まで連続的に生成されますので、原子のインデックスが連続しない場合には適宜nfvibrate.dataを変更して下さい。

初期波動関数の生成

まずは振動計算のオプションを指定せずに

WF_OPT DAV

を使用して通常のSCF計算を実行します。

RMMによる振動解析(の準備計算)

次に新しい入力ファイルを用意します。そこでは

RESTART WF
TASK    VIB
WF_OPT       RMM
NLPROJ       REAL

を指定します。
また大規模系の場合、考慮したい原子変位の計算が一度の計算ですべて終わることは無いでしょう。 その場合、上の

RESTART WF

RESTART

に変更して計算を継続すると良いでしょう。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS