ホーム > 計算化学 > ソフトウェア > Gaussian > Gaussian Tips > Gaussian計算エラー対処・虎の巻/第1回配信: エラー対処の基本的心構え

Gaussian入門メールニュース:
Gaussian計算エラー対処・虎の巻

計算がエラーで止まってしまった!でもどうすればいいかわからない。
結果が何かおかしい。どこがいけなかったのだろうか?
といった疑問の解決に少しでもお力添えするべく、よくあるエラーを中心に、直接的な対処法から簡単な理論的背景まで含めて解説いたします。

第1回配信: エラー対処の基本的心構え

(1-1) エラーの種類を知ろう

 例えばあなたが美味しいケーキを作ろうとしているとしましょう。もしあなたが一度もお菓子を作った経験がなく、誰の助けもなかったとしたら、最初の作品は残念ながら恐らく「美味しくない、不味い」ものになってしまう可能性が高いでしょう。では次はどうすれば美味しいケーキを作れるようになるでしょうか? 他人のケーキをただ批評するだけなら「不味い」という感想で終わっても良いのですが、自分がいずれ美味しいケーキを作れるようになるためには、ただ「不味い」のではなく「どう不味いのか」をしっかりと把握しなければなりません。例えば、全体的に甘すぎて不味いのか、スポンジが硬くて不味いのか、材料が古くなっていて不味いのかがわかれば、次回はそうならないように気を付ければ良いのです。
 Gaussianのエラーも同じで、一口に「エラー」と言ってもたくさんの種類があり、それらの違いを認識することが大切です。例えば、結果としてどのような現象のエラーが見られたのかという分類で考えると、以下のようになります。

◆ エラーの現象による分類
  • ▽ そもそもGaussianが走らない
  • ▽ Gaussian計算が途中で停止してしまう
    • ・Gaussianが想定しているエラー: 「Error termination」の表示と共に停止する
    • ・Gaussianが想定していないエラー: 「Error termination」の表示なしに停止する
  • ▽ Gaussian計算は完了するが、結果に誤りがあると推測される
    • ・明らかに答えがおかしい
    • ・答えが参照データと完全には一いたしない
    • ・実験事実と合わない

この分類に基づくエラー対処では、とにかく目の前で起こっている現象に応じて対処すればよいので、初心者にとっても易しいと思います。そこでまず次回配信では、こちらの切り口での詳しい解説を行います。
 一方、エラーをその原因によって分類するという見方も可能で、その場合は大まかに以下のように整理されます。

◆ エラーの原因による分類
  • ▽ ユーザに原因があるエラー
    • ・不適切な入力フォーマット
    • ・不適切な計算条件
  • ▽ Gaussian社に原因があるエラー
    • ・Gaussianの仕様
    • ・Gaussianのバグ
  • ▽ どちらに原因があると言いにくいエラー
    • ・計算対象自体の取扱が難しい
    • ・Gaussianプログラム以外の外的要因

エラーの対処法として潰しが利くのはこちらの分類の方で、計算研究を進めていくにつれ、いずれはそういう観点からの対処が必要となってきます。この切り口での対処法をマスターするには、まずその理屈から知る必要があり、その解説は第4回配信以降に行いたいと思います。
 今回はひとまず、「一口にエラーと言っても、いろいろな種類がある」ということだけ知れば十分です。

(1-2) 基本は「どうしたら」「どこで」「どのように」

 ケーキの話に戻しますと、「ケーキを作ったら失敗してしまったのですが、どこがいけなかったのでしょうか?」という質問をしても、誰も答えようがありません(親切な人なら、あれこれ想像しながら教えてくれるかもしれませんが…)。もう少し具体的に、「どのように」失敗したのか…例えばチョコが焦げてしまったのか、生地がドロッとなってしまったのか…などを伝えるべきでしょう。
 しかし、Gaussianに限らず、計算やコンピュータに関する質問では、「エラーで処理が止まってしまったのですが、どうすればよいのでしょうか?」という漠然とした質問が意外に多いのです。筆者も、大学の研究室や計算機実習の授業などで、学生からそのような質問をよく投げかけられました。その際、筆者は

  • どういう計算条件(インプット)で計算したら
  • 計算途中経過(アウトプット)のどこで
  • どのような現象(エラー)が起こったか

を明確にするべきであることを教えてきました。特にメールでのやり取りの場合、ディスプレイと質問者の顔を見ながら…というわけにいきませんから、それらが明確になっていないと、お互いのやり取りの手間と時間が余計にかかってしまいます。ですから、もし誰かにエラー対処の質問をする場合は、少なくとも上記の3点を明示して質問するようにしましょう。
 もっと良いのは、エラーが起こった計算のインプットファイルとアウトプットファイルを添えて質問することです。特にGaussianの場合は、熟練者ならインプットとアウトプットがあれば大抵のエラー状況が把握できることが多いので、最短距離での対処法が期待できると思います。

(1-3) 「#P」を指定する癖をつけよう

 Gaussianプログラムはデフォルトでは、計算途中経過の出力は必要最小限にとどめ、重要な結果だけを出力するように設計されています。これは、初心者がアウトプットファイルを閲覧する場合に、情報を与えすぎると長いファイルのどこを見ればよいのかわからず却って混乱させてしまうかもしれないという配慮のためです。しかしデフォルト出力は、万一計算が不備に終わってしまった場合に、なぜ不備に終わってしまったのかの原因を解析するのが難しいという欠点があります。
 筆者は、Gaussianの熟練度に関らず、計算途中経過の情報を詳細に出力するオプション「#P」を常に指定することをユーザにお勧めしています。特に近年は、GaussViewというツールを利用すれば長いアウトプットファイルを直接見なくても初心者でも簡単に重要な計算結果の閲覧が可能であり、#Pを指定することによるデメリットはないと考えています。もちろん#Pオプションはあくまで途中経過の情報を出力するだけですので、計算結果には一切の影響を与えません
 具体的には、インプットファイルにおいて、キーワード欄の先頭行「#」の代わりに「#P」と書きます。

例)# B3LYP/6-31G Opt
  ↓
  #P B3LYP/6-31G Opt

ここで、「#P」と他のキーワードは必ず半角スペースで区切って下さい。なお、「#P」は「#p」と書いても構いません。(Gaussianはキーワード類の大文字小文字を区別しません。)

GaussViewをご利用の場合は、CalculateメニューからGaussian Calculation Setupを選び(図1)、開かれたウィンドウの「General」タブで「Additional Print」にチェックを入れることにより、#Pを設定することができます(図2)。

図1

図2

なお、#P出力はデフォルト出力を内包しています。つまり、デフォルトで出力される情報は、必ず#Pでも出力されます。余力があれば、#Pのあるなしで、どのくらい出力が違うのか確かめてみて下さい。

今回の内容は以上です。次回(第2回配信)では、「エラーの現象ごとの対処法」を解説いたします。

メールニュース会員募集中!

Gaussian入門者の皆様に、Gaussianを使いこなして高度な計算化学者に飛躍していただけるよう、Gaussianに関する様々な情報を発信しております。メールニュースの配信をご希望の方は、以下のフォームよりお願いいたします(お問い合わせ内容の項に「Gaussian入門メールニュース配信希望」とご記入ください)。

メールにてお申し込みされる方は、以下の必要事項をご記入の上、送信してください。

  • ◆電子メール件名 : Gaussian入門メールニュース配信希望
  • ◆記入項目:
    1. 氏名 :
    2. E-mail:
    3. 法人名/部署名:
    4. 住所:
    5. 電話番号:
  • キャンペーン情報
    現在開催されているお得なキャンペーン情報はこちらから。
    詳細
  • ご購入前のお問合せ
    フォームにご入力いただければ後ほど営業よりご連絡させていただきます。
    詳細
  • 見積り依頼
    フォームにご入力いただければ後ほど営業よりご連絡させていただきます。
    詳細
CONTACT

お問い合わせ

お客様に最適な製品をご提案いたします。まずは気軽にお問い合わせ下さい。
075-353-0120

平日9:30~17:30 (土曜日、日曜日、祝祭日、年末年始、夏期休暇は、休日とさせていただきます。)