Vimとは
Vim というテキストエディタがあります。UNIX系サーバーにはほぼ必ずインストールされているので、Gaussianサーバー等にリモートから(自分のPCから)接続して作業するときに、威力を発揮します。ここでは、Vim の簡単な特徴とGaussianのアウトプットファイルを Vim を使ってサーバー上でササッと確認する方法を紹介したいと思います。
Vimの特徴
Vim はUNIX系OSで古くから使われる二大テキストエディタの一つ (もう一つが emacs)です。非常に動作が軽快でUNIX系のサーバーにはほぼ必ずインストールされています(逆に言えば、これしかテキストエディタがインストールされていないサーバーも多いです…)。Gaussianのアウトプットファイルの様に、何万行もあるようなファイルを扱うときに威力を発揮します。
問題点としては、(Gaussianを扱うのには関係ないですが)設定しないと日本語が使えないことと、操作系が極めて特殊なので、使い方を知っていないと何もできない、ということが挙げられます。
Vimの基本的な使い方
Vimの基本的なコマンド
Vim の必要最低限のコマンドは下記の通りです。
i | 文字を入力する挿入モードに入る |
Esc | 挿入モードから抜ける |
:wq | 保存して終了 |
:q! | 保存せずに終了 |
G | ファイルの最後に移動 |
gg | ファイルの最初に移動 |
? | 上方向検索 |
n | 次の検索候補へ移動 |
本当は複数のモードがあるのですが、その説明は省きます。とりあえず、これだけ知っていれば、Gaussianのファイルを見るには十分です。さらに詳しく正確に知りたい人は下記リンクなどをご参照下さい。
参考:【備忘録】Vimの操作 (Qiita)
Vimの基本的な使い方
サーバ上で Vim で Gaussian のoutファイルを開く
例えば、チオフェンの構造を B3LYP/6-31G(d) で構造最適化をした thiophene.out を例にとって説明します。まずはサーバー上でthiophene.outを Vim から開きます。
$ vi thiophene.out #thiophene.outというファイルを開く
すると下のような感じで Vim が立ち上がります。
G でファイルの最後に飛び、”Normal termination of~” であることを確認
viが立ち上がったら”G” (shift + g) をおします。すると、ファイルの最後に移動しますので、”Normal termination of~” と計算が正常終了していることを確認します。ここで、”Error termination ~” となっていると計算に失敗しています。今回のファイルは12,500行もあるファイルですが、一瞬でファイル末尾に移動します。
“?YES”+enter でYESを上方向に検索
“?YES”と入力すると画面に ?YES と表示されます。この状態で enter を押します。
すると、ファイル末尾から上方向にYESを検索してくれます。検索結果に色をつけて強調してくれています。四項目全てYESなので、きれいに収束していることが分かります。より上の結果を見たいときは “n” を押すと、一つずつ上に遡ってくれます。逆に下の方へ行きたいときは “N”を押します。
“?Harmonic”+enter で Frequenciesを確認
“?Harmonic”+enter で Frequenciesを確認できます。通常の最適化なら全てのFrequciesの値が正の値であることを確認します。ただし、遷移状態 (TS) の計算時は最初の 一つ目の Frequencies の値のみ、負の値となります。
エネルギーの確認
“G” でファイル末尾にとび、”?SCF” + enterして文末から一番近いSCFを探します。そして、”n” を一度入力するとエネルギーの値が出てきます。
エンタルピー、Gibbsフリーエナジーの確認
“?Thermal” + enter でファイル末尾から一番近いThermalを探し、”n”を一度入力するとエンタルピーやGibbsフリーエネルギーなどがの値が表示されます。
これで、計算が問題無く終了していることがざっくりと確認できました。なれてくるとこの間、一分かからないと思います。
おまけ
HOMO-LUMO準位の確認
HOMO-LUMO準位の確認も簡単にできます。”G” でファイルの最後に飛び、”?energies” + enter すると、軌道の準位が出てきます。でてこないときは、”n”でさかのぼってください。Oの一番下がHOMOでVの一番上がLUMO。ファイル内に複数回同様の記述があるはずなので、一番下のenergiesを参照してください。
検索の設定
通常 Vim は設定しないと、検索時に大文字・小文字を区別します。上で紹介した方法は、この何も設定していない vim を想定しています。.vimrc を設定して、検索時にこの区別をしない設定にすれば、エンタルピー・フリーエネルギーの検索とHOMO-LUMO準位の検索は、単語 “energies” を探索することで、一度の検索で両方探すことができます。