はじめに
このシリーズは計算化学を題材にした Python プログラミングを紹介した「計算化学者のためのPython入門」の1つです。
特に「計算化学関連の Python プログラム開発に携わる予定」の読者を想定してます。
Python3 は Google Colab を使えばブラウザだけで実行 できます。
xyz ファイル
xyz 形式とは分子座標のためのフォーマットであり、多くの分子描画ソフトウェアで可視化することができます。必要であれば Jmol などをインストールしてみてください。サンプルとして AuAgCu の 3 原子クラスターの 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) し、対角化することで分子振動の方向を表す基準振動ベクトルと振動数が得られます。詳細は「山内 薫、分子構造の決定、岩波講座」などを参照してください。
以下に量子化学計算プログラム (Gaussian16) で出力された AuAgCu クラスター(直線形)の Hessian 行列を示します。このとき、xyz ファイルの最初の構造 (mol-1 linear structure) を選びました。 Hessian 行列は対称行列であるため、ここでは 9 × 9 行列の下三角行列部分だけが出力されています。Hessian 行列要素の単位は hartree/bohr^2 です。
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 から取得した氷の primitive cell を広げました。
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