量子化学計算の入門書を執筆しました

01_計算化学

自然科学関係の専門出版社であるコロナ社様よりお声がけ頂き,量子化学計算の初心者向け書籍「Pythonで動かして始める量子化学計算を執筆しました。

話を頂いてから出版まで1年半以上も経ってしまいましたが,2024年3月15日より発売になっています。全国書店の実店舗ほか,コロナ社ウェブサイトやAmazon・楽天などからオンラインでもお買い求め頂けます。

これから計算を始めてみたいという方に向けて,小さな分子を具体例にして量子化学計算のコンセプトを一つ一つ習得できるように書き上げました。本ブログで大切にしている「自分で動かしながら理解する」をそのままに,わかりやすく・応用がきく説明を心がけたつもりです。

本書では無料で利用可能なオープンソースのPsi4を量子化学計算ソフトとして用いています。書籍中のコードとその実行結果はGitHub上のサポートページに掲載していますので,参考にしてください。

GitHub - hidt4/python-compchem-book: 『Pythonで動かしてはじめる量子化学計算』(コロナ社,2024)
『Pythonで動かしてはじめる量子化学計算』(コロナ社,2024). Contribute to hidt4/python-compchem-book development by creating an account on GitHub.

また本ブログのPsi4関連の記事を「Psi4の使い方」という記事にまとめています。書籍の雰囲気を知りたい方は,こちらもご覧になってください。ブログでは本書に掲載できなかったトピックについても多数紹介しています。

最後にコロナ社ウェブサイトから「内容紹介」と「目次」を転載します。興味を持たれた方はお手に取っていただけると嬉しいです。量子化学計算に入門する最初の一冊として是非お使いください。

**【読者対象】**
本書は「量子化学計算を始めてみたいと思った初心者」を対象に,量子化学計算に関する知識ゼロの状態から最初の一歩を踏み出すガイドブックとなるように執筆しました。例えば以下のような方々が対象です。
・ 以前に量子化学計算にトライしてみたものの,よくわからずに挫折してしまった方
・ 量子化学は何もわからないけれど,とにかく計算にトライしてみたい方
・ 教科書や講義で学んだ事項を量子化学計算で確認してみたい方
・ 高価な商用ソフトウェアには手が出せないけれど,自身の仕事に計算を取り入れてみたい方
・ なんとなくで量子化学計算をしてしまっている方

**【書籍の特徴】**
本書は無料で利用できるソフトウェアを利用し,簡単な計算を実際に体験しながら少しずつステップアップできるように構成されています。複雑な量子化学計算の数式は全て省略し,ソフトウェアのユーザーが必要な計算手続きを理解できるように心がけました。
具体的にはプログラミング言語Pythonとオープンソースの量子化学計算用ライブラリPsi4を用いて計算を行います。Psi4は高価な商用ソフトウェアに匹敵する機能を有しており,実際に最先端の研究現場でも利用されています。本書ではPsi4を用いた量子化学計算により,計算の手順や結果の解釈の仕方などを学んでいきます。
実際に手を動かしながら量子化学計算を学ぶことで,計算ソフトウェアに依存しない普遍的な概念が身につくように構成されています。本書の内容を習得した後には,自分が興味ある分子の計算を行い,より高度な書籍を読むための力が身についているはずです。

**【各章について】**
本書は第5章までで量子化学計算に必要な事項を習得していきます。第6章以降は分子構造の最適化,分子軌道の可視化,励起状態の計算など,さまざまなトピックについて必要な計算手法を学んでいく構成になっています。
初心者の方は第1章から順番に読み進めることをおすすめします。他のソフトウェアを用いた量子化学計算の経験がある方は,まずは第5章までを読んでPsi4特有のルールなどを掴み,その後興味のある章を読むことですぐに目的の計算が実行できるようになるはずです。

**【著者からのメッセージ】**
ハードウェアの発達により,個人のノートPC上でも高度な計算が簡単に実行できるようになってきました。さらに使いやすい汎用量子化学計算ソフトウェアが普及したこともあり,実験化学者が計算を行うことも随分と一般的になりました。本書は難しい数式を排除し,オープンソースの量子化学計算用ライブラリPsi4を用いて,計算ソフトウェアのユーザーに寄り添ったアプローチで量子化学計算を学んでいきます。本書が,これまで「計算化学は敷居が高い」と感じていた方々のお役に立てれば幸いです。

**【キーワード】**
量子化学計算,計算化学,Python,Psi4

**第1章 プログラミング言語Python**
1.1 プログラミング言語Pythonとはなんだろう
 1.1.1 プログラミング言語Python
 1.1.2 Pythonの歴史
1.2 科学技術計算で大活躍するPython
1.3 第1章のまとめ
引用・参考文献

**第2章 コンピューターと化学**
2.1 化学とコンピューターのいろいろな関係
 2.1.1 計算化学
 2.1.2 ケモインフォマティクス
2.2 量子化学計算とはなんだろう
 2.2.1 量子化学計算の種類について知ろう
 2.2.2 量子化学計算用ソフトウェアについて知ろう
 2.2.3 量子化学計算でできること
2.3 第2章のまとめ
引用・参考文献

**第3章 Pythonで量子化学計算を始めよう**
3.1 Pythonの実行環境を構築しよう
 3.1.1 condaとはなんだろう
 3.1.2 Jupyterノートブックとはなんだろう
3.2 Psi4のセットアップをしてみよう
3.3 水分子のエネルギー計算をしてみよう
 3.3.1 Psithon形式で計算を実行してみよう
 3.3.2 PsiAPI形式で計算を実行してみよう
3.4 第3章のまとめ
引用・参考文献

**第4章 分子をコンピューターで扱う方法について知ろう**
4.1 分子を視覚的に表現する方法について知ろう
 4.1.1 針金モデル
 4.1.2 棒モデル
 4.1.3 球棒モデル
 4.1.4 空間充填モデル
4.2 分子を文字列として表現する方法について知ろう
 4.2.1 XYZ形式
 4.2.2 MOLファイルとSDF
 4.2.3 Z-マトリックス
 4.2.4 SMILES形式
4.3 分子を扱うのに便利なソフトウェアについて知ろう
 4.3.1 Avogadro
 4.3.2 Open Babel
 4.3.3 py3Dmol
 4.3.4 RDKit
4.4 Psi4の分子を使いこなそう
 4.4.1 量子化学計算に必要な分子の情報を知ろう
 4.4.2 Psi4のMoleculeオブジェクトについて知ろう
 4.4.3 py3Dmolで分子を描画しよう
4.5 第4章のまとめ
引用・参考文献

**第5章 量子化学計算の基礎について理解を深めよう**
5.1 量子化学計算の流れについて知ろう
 5.1.1 計算対象の分子を作成しよう
 5.1.2 どの種類の計算を行うか決めよう
 5.1.3 どの計算レベルで実行するか決めよう
5.2 いろいろな計算レベルについて知ろう
 5.2.1 シュレーディンガー方程式とはなんだろう
 5.2.2 ハートリー・フォック法とはなんだろう
 5.2.3 電子相関理論とはなんだろう
 5.2.4 密度汎関数法とはなんだろう
 5.2.5 基底関数系とはなんだろう
5.3 Psi4のログファイルを見てみよう
 5.3.1 計算手法の異なるエネルギー計算のログファイルを見てみよう
 5.3.2 異なる基底関数系を用いたログファイルを見てみよう
5.4 適切な計算レベルを選択することの大切さを知ろう
 5.4.1 塩化ナトリウムの計算
 5.4.2 アルゴン二量体の計算
5.5 第5章のまとめ
引用・参考文献

**第6章 分子の構造を最適化してみよう**
6.1 分子の構造を最適化するとはどういうことだろうか
 6.1.1 構造最適化のアルゴリズムについて知ろう
 6.1.2 Psi4を用いて構造最適化をしてみよう
6.2 局所最適解と全体最適解の違いを知ろう
 6.2.1 1,2-ジクロロエタンの安定構造を計算しよう
 6.2.2 N-メチルアセトアミドの安定構造を計算しよう
6.3 構造最適化のコツについて知ろう
 6.3.1 初期構造をできるだけ精密に作成しよう
 6.3.2 エラーに対処しよう
6.4 第6章のまとめ
引用・参考文献

**第7章 振動数計算をしてみよう**
7.1 振動数計算とはなんだろう
 7.1.1 振動数計算について知ろう
 7.1.2 Psi4で振動数計算をしてみよう
7.2 計算した振動数を可視化してみよう
 7.2.1 水分子の振動モードを可視化してみよう
 7.2.2 炭素-炭素結合の伸縮振動を比較してみよう
7.3 分子のIRスペクトルを求めてみよう
 7.3.1 調和振動子近似による誤差について知ろう
 7.3.2 スケール因子を使って実験値を予測してみよう
7.4 熱力学的パラメータを求めてみよう
 7.4.1 反応エンタルピーを計算してみよう
 7.4.2 反応の自由エネルギー変化を計算してみよう
 7.4.3 より高精度な計算をしてみよう
7.5 第7章のまとめ
引用・参考文献

**第8章 分子軌道を見てみよう**
8.1 量子化学計算における分子軌道とはなんだろう
8.2 分子軌道の描画に必要なものを知ろう
 8.2.1 fchkファイルとはなんだろう
 8.2.2 cubeファイルとはなんだろう
 8.2.3 Psi4を用いてfchkファイルおよびcubeファイルを作成しよう
8.3 分子軌道を可視化してみよう
 8.3.1 fchkファイルを用いて分子軌道を可視化しよう
 8.3.2 cubeファイルを用いて分子軌道を可視化しよう
8.4 フロンティア軌道から分子の反応性を予測してみよう
 8.4.1 基底関数系を変えて分子軌道を見てみよう
 8.4.2 軌道エネルギーから反応性を予測してみよう
8.5 第8章のまとめ
引用・参考文献

**第9章 分子の性質を計算してみよう**
9.1 Psi4のWavefunctionオブジェクトについて知ろう
9.2 Psi4における波動関数の解析法について知ろう
9.3 電子密度解析をしてみよう
 9.3.1 Mulliken電荷を計算してみよう
 9.3.2 電子密度解析の基底関数系への依存性を知ろう
9.4 双極子モーメントを計算してみよう
 9.4.1 ベンゼンの双極子モーメントを計算してみよう
 9.4.2 ピリジンの双極子モーメントを計算してみよう
9.5 分子の静電ポテンシャルを可視化してみよう
 9.5.1 Avogadroを用いてESPを可視化してみよう
 9.5.2 py3Dmolを用いてESPを可視化してみよう
9.6 原子間の結合次数を求めてみよう
 9.6.1 アミドの二重結合性を評価してみよう
 9.6.2 二重結合と芳香族結合の違いを計算してみよう
9.7 第9章のまとめ
引用・参考文献

**第10章 遷移状態を計算してみよう**
10.1 遷移状態とはなんだろうか
10.2 遷移状態を求めてみよう
10.3 遷移状態の初期構造作成について学ぼう
 10.3.1 反応座標軸に沿った構造のスキャン
 10.3.2 簡単な遷移状態から始める
10.4 IRC計算で反応経路を求めてみよう
10.5 第10章のまとめ
引用・参考文献

**第11章 分子どうしの相互作用を計算してみよう**
11.1 相互作用エネルギーとはなんだろう
11.2 基底関数重なり誤差について知ろう
 11.2.1 基底関数重なり誤差とはなんだろう
 11.2.2 CP法とはなんだろう
 11.2.3 Psi4を用いたBSSEの補正法について知ろう
 11.2.4 基底関数系の大きさとBSSEの関係を知ろう
11.3 歪曲・相互作用モデルについて知ろう
11.4 SAPT計算で相互作用の内訳を調べてみよう
 11.4.1 分子間相互作用を形成する分子間力について知ろう
 11.4.2 SAPT計算とはなんだろう
 11.4.3 分子間相互作用をSAPT計算で調べてみよう
11.5 第11章のまとめ
引用・参考文献

**第12章 励起状態の性質を計算してみよう**
12.1 励起状態とはなんだろう
 12.1.1 励起状態の基本的な考え方を知ろう
 12.1.2 TD-DFT法で励起状態を計算する際の注意点を知ろう
12.2 Psi4で励起状態の計算をしてみよう
 12.2.1 Psi4でTD-DFT計算をしてみよう
 12.2.2 1電子吸収スペクトルの計算をしてみよう
 12.2.3 電子円二色性スペクトルの計算をしてみよう
12.3 第12章のまとめ
引用・参考文献

**第13章 おわりに**
13.1 本書で扱わなかったトピック
 13.1.1 開殻分子のSCF計算
 13.1.2 有効内殻ポテンシャル
 13.1.3 溶媒モデル
13.2 今後の学習に向けて
 13.2.1 量子化学計算の専門書で学ぶ
 13.2.2 量子化学計算以外の分野を学ぶ
引用・参考文献

索引

コメント

  1. farida より:

    is there is no english version ?

    • admin より:

      Thank you for reaching out.

      We currently do not have an English version, but if there’s enough demand, we’re open to the idea.

      In the meantime, feel free to check out the Psi4 articles on this blog. The automatic translation feature should make them pretty accessible.
      I will also try to make them updated and post new ones.

      Thanks so much for your interest and for getting in touch!

      All the best,

  2. あかね より:

    御著を購入して楽しませていただいております。
    https://github.com/hidt4/python-compchem-book からダウンロードできるZipファイルに、第10章のサンプルファイル compchem_book_ch10.ipynb が含まれておりません。
    できるだけ早い機会に追加していただけたら幸いです。

    • 管理人 より:

      対応が遅れてしまい申し訳ございませんでした。
      10章分のノートブックもアップロードしておきました。

  3. あかね より:

    Windowsでの不具合の報告 1
    「MacとLinux上で動作確認しています」と明記されているので、文句を言う筋合いはないのですが、情報共有の意味合いでご報告しておきます。
    Psi4ライブラリからインポートするファイルでUnicodeDecodeError cp932 エラーが出て停止することがあります。対処方法としては、環境変数 PYTHONUTF8=1 を設定するのが最も楽なように思います。

    • 管理人 より:

      あかね様

      Windows環境での実行状況に関し,ご報告頂きありがとうございます。
      GitHubのサポートページの方に捕捉を追記しておきます。

タイトルとURLをコピーしました