- 追加された行はこの色です。
- 削除された行はこの色です。
*Vibrational analysis [#ic53c960]
-振動解析の前に、先ず十分に構造緩和を行い、緩和した原子位置を用いて新たに入力ファイルを作成する。
-振動解析に先立ち十分に構造緩和を行い、緩和した原子位置を用いて新たに入力ファイルを作成する。
-入力ファイルでIMDALG=3とする。
-nfvibrate.dataを以下の形式で生成する。
-nfvibrate.dataを以下の形式で作成する。
--変位を与える原子数、因子
--変位を与える原子数、因子 (fac)、インデックス(プログラムでは未使用)
--原子のインデックス、原子変位(dx,dy,dz)~
例1
1 5.D+1
2 0.00100000 0.00000000 0.00000000
1 -5.D-1
2 0.00100000 0.00000000 0.00000000
この場合、実際には二番目の原子に(0.005,0.0000,0.0000)と(-0.005,0.0000,0.0000)だけ変位させた計算を行うことになる。
--変位を与える原子のインデックス、原子変位 (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
-各振動モードの周波数と振幅ベクトルの出力をもとにして、新たにこの振幅ベクトルを変位として再度振動モード解析を行うとより正確な値が出力される。この再計算を行うことが推奨される。