計算化学者のためのPython入門ーサンプルデータ集ー

# はじめに
このシリーズは計算化学を題材にした Python プログラミングを紹介した「**計算化学者のためのPython入門**」の1つです。
特に「計算化学関連の Python プログラム開発に携わる予定」の読者を想定してます。

- [基礎知識のおさらい](https://qiita.com/TakuroTsutsumi/items/bcc86d243f5b38e93de9)
- [Python練習問題](https://qiita.com/TakuroTsutsumi/items/601f29d819624754e9df)
- [プログラム開発に参加するための心得](https://qiita.com/TakuroTsutsumi/items/cac3f3e7c32acaaef3ec)
- [クラスの使いみち](https://qiita.com/TakuroTsutsumi/items/5f8595bc2ffc68020a9b)
- [サンプルデータ集](https://qiita.com/TakuroTsutsumi/items/5dfb251ad0818d41cd1d)

Python3 は [Google Colab を使えばブラウザだけで実行](https://qiita.com/firedfly/items/9b76d4f4ea2b563777af) できます。



# xyz ファイル

xyz 形式とは分子座標のためのフォーマットであり、多くの分子描画ソフトウェアで可視化することができます。必要であれば [Jmol](https://sourceforge.net/projects/jmol/) などをインストールしてみてください。サンプルとして AuAgCu の 3 原子クラスターの xyz ファイルを示します。

> [Jmolで分子軌道を自動的に描画する](https://qiita.com/TakuroTsutsumi/items/bc8f7d42183fa9e2a791)

```tex:AuAgCu.xyz
3
mol-1 linear structure
Au    0.000000000000      0.000000000000      0.350282000000
Ag    0.000000000000      0.000000000000     -2.319672000000
Cu    0.000000000000      0.000000000000      2.805252000000
3
mol-2
Au    0.000000000000      0.002471483472     -1.125393314970
Ag    0.000000000000      2.480591394046      0.547634392158
Cu    0.000000000000     -2.409584630412      0.520323946128
3
mol-3
Au    0.000000000000     -0.000584211972     -1.184759840247
Ag   -0.000000000000      1.927896891078      1.100204193427
Cu   -0.000000000000     -1.871115768559      1.057451500330
```


# Hessian 行列

ポテンシャルエネルギーの座標に関する二次微分を Hessian と言います。_N_ 原子分子の場合、3 _N_ × 3 _N_ 行列になります。Hessian 行列を荷重化 (mass-weighted) し、対角化することで分子振動の方向を表す基準振動ベクトルと振動数が得られます。詳細は「[山内 薫、分子構造の決定、岩波講座](https://www.iwanami.co.jp/book/b476183.html)」などを参照してください。

以下に量子化学計算プログラム (Gaussian16) で出力された AuAgCu クラスター（直線形）の Hessian 行列を示します。このとき、xyz ファイルの最初の構造 (mol-1 linear structure) を選びました。　Hessian 行列は対称行列であるため、ここでは 9 × 9 行列の下三角行列部分だけが出力されています。Hessian 行列要素の単位は hartree/bohr^2 です。

```tex:hess_AuAgCu.log
 Force constants in Cartesian coordinates:
                1             2             3             4             5
      1 -0.110011D-02
      2  0.000000D+00 -0.110011D-02
      3  0.000000D+00  0.000000D+00  0.115107D+00
      4  0.525932D-03  0.000000D+00  0.000000D+00 -0.254690D-03
      5  0.000000D+00  0.525932D-03  0.000000D+00  0.000000D+00 -0.254690D-03
      6  0.000000D+00  0.000000D+00 -0.474681D-01  0.000000D+00  0.000000D+00
      7  0.574180D-03  0.000000D+00  0.000000D+00 -0.271242D-03  0.000000D+00
      8  0.000000D+00  0.574180D-03  0.000000D+00  0.000000D+00 -0.271242D-03
      9  0.000000D+00  0.000000D+00 -0.676389D-01  0.000000D+00  0.000000D+00
                6             7             8             9
      6  0.534125D-01
      7  0.000000D+00 -0.302938D-03
      8  0.000000D+00  0.000000D+00 -0.302938D-03
      9 -0.594445D-02  0.000000D+00  0.000000D+00  0.735833D-01
```

# 氷表面（108原子分子系）

[The Materials Project](https://materialsproject.org/materials/mp-697111/) から取得した氷の primitive cell を広げました。

```tex:H2O_mp-697111_primitive.xyz
108
H72O36
  H         0.027787860000      2.554880660000      2.204584120000
  H         2.199308840000      1.300472210000      5.844013120000
  H         0.845091530000      2.082754150000      3.496887120000
  H         1.382005170000      1.772598720000      7.136316120000
  H         3.049642320000      1.728181200000      3.761524560000
  H         2.253622280000      0.350181700000      3.761524560000
  H        -0.822545620000      2.127171670000      0.122095560000
  H        -0.026525580000      3.505171170000      0.122095560000
  O         0.014940320000      2.562302210000      3.200885080000
  O         2.212156380000      1.293050650000      6.840314080000
  O         2.225150750000      1.285544280000      4.115531820000
  O         0.001945950000      2.569808590000      0.476102820000
  H         4.478359190000      2.554880660000      2.204584120000
  H         8.928930520000      2.554880660000      2.204584120000
  H         6.649880170000      1.300472210000      5.844013120000
  H        11.100451500000      1.300472210000      5.844013120000
  H         5.295662860000      2.082754150000      3.496887120000
  H         9.746234190000      2.082754150000      3.496887120000
  H         5.832576500000      1.772598720000      7.136316120000
  H        10.283147830000      1.772598720000      7.136316120000
  H         7.500213650000      1.728181200000      3.761524560000
  H        11.950784980000      1.728181200000      3.761524560000
  H         6.704193610000      0.350181700000      3.761524560000
  H        11.154764940000      0.350181700000      3.761524560000
  H         3.628025710000      2.127171670000      0.122095560000
  H         8.078597040000      2.127171670000      0.122095560000
  H         4.424045750000      3.505171170000      0.122095560000
  H         8.874617080000      3.505171170000      0.122095560000
  O         4.465511650000      2.562302210000      3.200885080000
  O         8.916082980000      2.562302210000      3.200885080000
  O         6.662727710000      1.293050650000      6.840314080000
  O        11.113299040000      1.293050650000      6.840314080000
  O         6.675722080000      1.285544280000      4.115531820000
  O        11.126293410000      1.285544280000      4.115531820000
  O         4.452517280000      2.569808590000      0.476102820000
  O         8.903088610000      2.569808590000      0.476102820000
  H        -2.195686770000      6.410233530000      2.204584120000
  H        -4.419161400000     10.265586390000      2.204584120000
  H        -0.024165790000      5.155825080000      5.844013120000
  H        -2.247640420000      9.011177940000      5.844013120000
  H        -1.378383110000      5.938107010000      3.496887120000
  H        -3.601857740000      9.793459880000      3.496887120000
  H        -0.841469460000      5.627951590000      7.136316120000
  H        -3.064944090000      9.483304450000      7.136316120000
  H         0.826167690000      5.583534070000      3.761524560000
  H        -1.397306950000      9.438886930000      3.761524560000
  H         0.030147650000      4.205534570000      3.761524560000
  H        -2.193326980000      8.060887440000      3.761524560000
  H        -3.046020250000      5.982524530000      0.122095560000
  H        -5.269494880000      9.837877400000      0.122095560000
  H        -2.250000210000      7.360524030000      0.122095560000
  H        -4.473474840000     11.215876900000      0.122095560000
  O        -2.208534310000      6.417655080000      3.200885080000
  O        -4.432008940000     10.273007950000      3.200885080000
  O        -0.011318250000      5.148403520000      6.840314080000
  O        -2.234792880000      9.003756390000      6.840314080000
  O         0.001676120000      5.140897150000      4.115531820000
  O        -2.221798510000      8.996250020000      4.115531820000
  O        -2.221528680000      6.425161450000      0.476102820000
  O        -4.445003310000     10.280514320000      0.476102820000
  H         2.254884560000      6.410233530000      2.204584120000
  H         0.031409930000     10.265586390000      2.204584120000
  H         6.705455890000      6.410233530000      2.204584120000
  H         4.481981260000     10.265586390000      2.204584120000
  H         4.426405540000      5.155825080000      5.844013120000
  H         2.202930910000      9.011177940000      5.844013120000
  H         8.876976870000      5.155825080000      5.844013120000
  H         6.653502240000      9.011177940000      5.844013120000
  H         3.072188220000      5.938107010000      3.496887120000
  H         0.848713590000      9.793459880000      3.496887120000
  H         7.522759550000      5.938107010000      3.496887120000
  H         5.299284920000      9.793459880000      3.496887120000
  H         3.609101870000      5.627951590000      7.136316120000
  H         1.385627240000      9.483304450000      7.136316120000
  H         8.059673200000      5.627951590000      7.136316120000
  H         5.836198570000      9.483304450000      7.136316120000
  H         5.276739020000      5.583534070000      3.761524560000
  H         3.053264380000      9.438886930000      3.761524560000
  H         9.727310350000      5.583534070000      3.761524560000
  H         7.503835710000      9.438886930000      3.761524560000
  H         4.480718980000      4.205534570000      3.761524560000
  H         2.257244350000      8.060887440000      3.761524560000
  H         8.931290310000      4.205534570000      3.761524560000
  H         6.707815680000      8.060887440000      3.761524560000
  H         1.404551080000      5.982524530000      0.122095560000
  H        -0.818923550000      9.837877400000      0.122095560000
  H         5.855122410000      5.982524530000      0.122095560000
  H         3.631647780000      9.837877400000      0.122095560000
  H         2.200571120000      7.360524030000      0.122095560000
  H        -0.022903510000     11.215876900000      0.122095560000
  H         6.651142450000      7.360524030000      0.122095560000
  H         4.427667820000     11.215876900000      0.122095560000
  O         2.242037020000      6.417655080000      3.200885080000
  O         0.018562390000     10.273007950000      3.200885080000
  O         6.692608350000      6.417655080000      3.200885080000
  O         4.469133720000     10.273007950000      3.200885080000
  O         4.439253080000      5.148403520000      6.840314080000
  O         2.215778450000      9.003756390000      6.840314080000
  O         8.889824410000      5.148403520000      6.840314080000
  O         6.666349780000      9.003756390000      6.840314080000
  O         4.452247450000      5.140897150000      4.115531820000
  O         2.228772820000      8.996250020000      4.115531820000
  O         8.902818780000      5.140897150000      4.115531820000
  O         6.679344150000      8.996250020000      4.115531820000
  O         2.229042650000      6.425161450000      0.476102820000
  O         0.005568020000     10.280514320000      0.476102820000
  O         6.679613980000      6.425161450000      0.476102820000
  O         4.456139350000     10.280514320000      0.476102820000
```