*Vibrational analysis [#ic53c960] -振動解析に先立ち十分に構造緩和を行い、緩和した原子位置を用いて新たに入力ファイルを作成する。 -入力ファイルでIMDALG=3とする。 -nfvibrate.dataを以下の形式で作成する。 --変位を与える原子数、因子、(インデックス(プログラムでは未使用)) --変位を与える原子数、因子 (fac)、インデックス(プログラムでは未使用) --変位を与える原子のインデックス、原子変位(dx,dy,dz)~ 例1 X方向に軸を持つ2原子分子の場合 --変位を与える原子のインデックス、原子変位 (dx,dy,dz) ~ X方向に分子軸を持つ2原子分子の場合 2 0.10d+1 1 1 0.010000000000 0.000000000000 0.000000000000 2 0.000000000000 0.000000000000 0.000000000000 2 -0.10d+1 2 1 0.010000000000 0.000000000000 0.000000000000 2 0.000000000000 0.000000000000 0.000000000000 2 0.10d+1 3 1 0.000000000000 0.000000000000 0.000000000000 2 0.010000000000 0.000000000000 0.000000000000 2 -0.10d+1 4 1 0.000000000000 0.000000000000 0.000000000000 2 0.010000000000 0.000000000000 0.000000000000 この場合、nfvibrate.dataは以下のように単純化できる。 1 0.10d+1 1 1 0.010000000000 0.000000000000 0.000000000000 1 -0.10d+1 2 1 0.010000000000 0.000000000000 0.000000000000 1 0.10d+1 3 2 0.010000000000 0.000000000000 0.000000000000 2 -0.10d+1 4 2 0.010000000000 0.000000000000 0.000000000000 fac * ( dx, dy, dz )が実際に各原子に与えられる変位ベクトルである。この例では原子1, 2をそれぞれ+0.01 (0.10d+1 * 0.01)、-0.01 (-0.10d+1*0.01)変位させている。 -出力ファイルから原子位置と原子にかかる力のデータを取り出す。次のようなファイルを作成する(例えばMD_1等と名付ける) 2 2 12 16 2 1 0.010000 0.000000 0.000000 -0.01444 0.00000 0.00000 2 2.200000 0.000000 0.000000 0.01444 0.00000 0.00000 3 1 -0.010000 0.000000 0.000000 0.00333 0.00000 0.00000 2 2.200000 0.000000 0.000000 -0.00330 0.00000 0.00000 4 1 0.000000 0.000000 0.000000 0.00331 0.00000 0.00000 2 2.210000 0.000000 0.000000 -0.00332 0.00000 0.00000 5 1 0.000000 0.000000 0.000000 -0.01443 0.00000 0.00000 2 2.190000 0.000000 0.000000 0.01444 0.00000 0.00000 --各数値の意味 原子数 振動モード数(与えた変位ベクトルの数の半分であることに注意) 各原子の質量 計算した構造の番号(実は任意) 変位(変位させた原子の数だけの行) 上記2つを、計算するモードの数の2倍だけ与える -GiF.fを使用して振動数の計算を行う。 gfortran GiF.f -o GiF.out -llapack -lblas ./GiF.out < MD_1 > GiF_1 -各振動モードの周波数と振幅ベクトルの出力をもとにして、新たにこの振幅ベクトルを変位として再度振動モード解析を行うとより正確な値が出力される。この再計算を行うことが推奨される。