「計算がエラーで止まってしまった!でもどうすればいいかわからない。」
「結果が何かおかしい。どこがいけなかったのだろうか?」
といった疑問の解決に少しでもお力添えするべく、よくあるエラーを中心に、直接的な対処法から簡単な理論的背景まで含めて解説いたします。
例えばあなたが美味しいケーキを作ろうとしているとしましょう。もしあなたが一度もお菓子を作った経験がなく、誰の助けもなかったとしたら、最初の作品は残念ながら恐らく「美味しくない、不味い」ものになってしまう可能性が高いでしょう。では次はどうすれば美味しいケーキを作れるようになるでしょうか? 他人のケーキをただ批評するだけなら「不味い」という感想で終わっても良いのですが、自分がいずれ美味しいケーキを作れるようになるためには、ただ「不味い」のではなく「どう不味いのか」をしっかりと把握しなければなりません。例えば、全体的に甘すぎて不味いのか、スポンジが硬くて不味いのか、材料が古くなっていて不味いのかがわかれば、次回はそうならないように気を付ければ良いのです。
Gaussianのエラーも同じで、一口に「エラー」と言ってもたくさんの種類があり、それらの違いを認識することが大切です。例えば、結果としてどのような現象のエラーが見られたのかという分類で考えると、以下のようになります。
この分類に基づくエラー対処では、とにかく目の前で起こっている現象に応じて対処すればよいので、初心者にとっても易しいと思います。そこでまず次回配信では、こちらの切り口での詳しい解説を行います。
一方、エラーをその原因によって分類するという見方も可能で、その場合は大まかに以下のように整理されます。
エラーの対処法として潰しが利くのはこちらの分類の方で、計算研究を進めていくにつれ、いずれはそういう観点からの対処が必要となってきます。この切り口での対処法をマスターするには、まずその理屈から知る必要があり、その解説は第4回配信以降に行いたいと思います。
今回はひとまず、「一口にエラーと言っても、いろいろな種類がある」ということだけ知れば十分です。
ケーキの話に戻しますと、「ケーキを作ったら失敗してしまったのですが、どこがいけなかったのでしょうか?」という質問をしても、誰も答えようがありません(親切な人なら、あれこれ想像しながら教えてくれるかもしれませんが…)。もう少し具体的に、「どのように」失敗したのか…例えばチョコが焦げてしまったのか、生地がドロッとなってしまったのか…などを伝えるべきでしょう。
しかし、Gaussianに限らず、計算やコンピュータに関する質問では、「エラーで処理が止まってしまったのですが、どうすればよいのでしょうか?」という漠然とした質問が意外に多いのです。筆者も、大学の研究室や計算機実習の授業などで、学生からそのような質問をよく投げかけられました。その際、筆者は
を明確にするべきであることを教えてきました。特にメールでのやり取りの場合、ディスプレイと質問者の顔を見ながら…というわけにいきませんから、それらが明確になっていないと、お互いのやり取りの手間と時間が余計にかかってしまいます。ですから、もし誰かにエラー対処の質問をする場合は、少なくとも上記の3点を明示して質問するようにしましょう。
もっと良いのは、エラーが起こった計算のインプットファイルとアウトプットファイルを添えて質問することです。特にGaussianの場合は、熟練者ならインプットとアウトプットがあれば大抵のエラー状況が把握できることが多いので、最短距離での対処法が期待できると思います。
Gaussianプログラムはデフォルトでは、計算途中経過の出力は必要最小限にとどめ、重要な結果だけを出力するように設計されています。これは、初心者がアウトプットファイルを閲覧する場合に、情報を与えすぎると長いファイルのどこを見ればよいのかわからず却って混乱させてしまうかもしれないという配慮のためです。しかしデフォルト出力は、万一計算が不備に終わってしまった場合に、なぜ不備に終わってしまったのかの原因を解析するのが難しいという欠点があります。
筆者は、Gaussianの熟練度に関らず、計算途中経過の情報を詳細に出力するオプション「#P」を常に指定することをユーザにお勧めしています。特に近年は、GaussViewというツールを利用すれば長いアウトプットファイルを直接見なくても初心者でも簡単に重要な計算結果の閲覧が可能であり、#Pを指定することによるデメリットはないと考えています。もちろん#Pオプションはあくまで途中経過の情報を出力するだけですので、計算結果には一切の影響を与えません。
具体的には、インプットファイルにおいて、キーワード欄の先頭行「#」の代わりに「#P」と書きます。
ここで、「#P」と他のキーワードは必ず半角スペースで区切って下さい。なお、「#P」は「#p」と書いても構いません。(Gaussianはキーワード類の大文字小文字を区別しません。)
GaussViewをご利用の場合は、CalculateメニューからGaussian Calculation Setupを選び(図1)、開かれたウィンドウの「General」タブで「Additional Print」にチェックを入れることにより、#Pを設定することができます(図2)。
なお、#P出力はデフォルト出力を内包しています。つまり、デフォルトで出力される情報は、必ず#Pでも出力されます。余力があれば、#Pのあるなしで、どのくらい出力が違うのか確かめてみて下さい。
今回の内容は以上です。次回(第2回配信)では、「エラーの現象ごとの対処法」を解説いたします。
Gaussian入門者の皆様に、Gaussianを使いこなして高度な計算化学者に飛躍していただけるよう、Gaussianに関する様々な情報を発信しております。メールニュースの配信をご希望の方は、以下のフォームよりお願いいたします(お問い合わせ内容の項に「Gaussian入門メールニュース配信希望」とご記入ください)。
メールにてお申し込みされる方は、以下の必要事項をご記入の上、送信してください。
平日9:30~17:30 (土曜日、日曜日、祝祭日、年末年始、夏期休暇は、休日とさせていただきます。)