VimでGaussianのアウトプットファイルをチェックする方法

Vimとは

Vim というテキストエディタがあります。UNIX系サーバーにはほぼ必ずインストールされているので、Gaussianサーバー等にリモートから(自分のPCから)接続して作業するときに、威力を発揮します。ここでは、Vim の簡単な特徴とGaussianのアウトプットファイルを Vim を使ってサーバー上でササッと確認する方法を紹介したいと思います。

vimの画面

Vimの特徴

vim はUNIX系OSで古くから使われる二大テキストエディタの一つ (もう一つが emacs)です。非常に動作が軽快でUNIX系のサーバーにはほぼ必ずインストールされています(逆に言えば、これしかテキストエディタがインストールされていないサーバーも多いです…)。Gaussianのアウトプットファイルの様に、何万行もあるようなファイルを扱うときに威力を発揮します。

問題点としては、(Gaussianを扱うのには関係ないですが)設定しないと日本語が使えないことと、操作系が極めて特殊なので、使い方を知っていないと何もできない、ということが挙げられます。

 

vimのよいところ
 メチャクチャ動作が軽快
 UNIX系サーバーに必ずインストールされていて、(英語だけなら)特に設定しなくても使える
 Gaussianのアウトプットファイル等のやたら長いテキストファイルを閲覧するのに向いている

 

vimの問題点
 設定しないと日本語が使えない(海外製エディタにありがちな問題)
 UNIX系サーバでは、しばしばこれしかエディタの選択肢がない
 操作系が特殊すぎて最初は意味不明。文字入力すらできない

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” を探索することで、一度の検索で両方探すことができます。

 

>mitsudo.net

mitsudo.net