【Python】材料分析用ライブラリpymatgenのインストール

【Python】材料分析用ライブラリpymatgenのインストール プログラミング

pymatgenは、材料分析を行うためのPythonライブラリです。
この記事では、pymatgenについて解説しています。

本記事の内容

  • pymatgenとは?
  • pymatgenのシステム要件
  • pymatgenのインストール
  • pymatgenの動作確認

それでは、上記に沿って解説していきます。

pymatgenとは?

pymatgenとは、材料分析のためのオープンソースPythonライブラリです。
主な機能は、以下の通りです。

  • 柔軟性の高いクラス
  • 広範な入出力のサポート
  • 強力な解析ツール
  • 電子構造解析
  • 外部データソースとの統合

上記の機能は、外部ライブラリに依存する部分が大きいです。
高度な計算処理などは、NumpyやScipyに大きく依存しています。

以上、pymatgenについての説明でした。
次は、pymatgenのシステム要件を確認しましょう。

pymatgenのシステム要件

現時点(2021年6月)でのpymatgenの最新バージョンは、2022.0.8となります。
この最新バージョンは、2021年5月9日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応となります。

  • Windows
  • macOS
  • Linux

そして、サポート対象となるPythonのバージョンが以下となります。

  • Python 3.7
  • Python 3.8
  • Python 3.9

サポート期限が残るPython 3.6を切り捨てています。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月
3.72018年6月27日2023年6月
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月

上記は、Pythonの公式開発サイクルです。
よくメンテナンスされているライブラリは、この公式開発サイクルに準じています。

Python 3.6を切り捨てている理由は、依存するライブラリにあるようです。
どうやら、NumpyがすでにPython 3.6のサポートをやめています。

もうすでに、Python 3.6を業界自体が切り捨てる方向に向かっているのかもしれません。
この時点では、もうあと半年もありませんからね。

なお、私は以下のPythonで検証しています。

>python -V
Python 3.9.5

現時点では、最新のPythonとなります。

以上、pymatgenのシステム要件について説明しました。
次は、pymatgenをインストールしましょう。

pymatgenのインストール

インストールの前に

初めに言っておきます。
pymatgenは、多くのパッケージに依存しています。

そのため、pymatgenのインストールは既存環境に影響を与える可能性があります。
もしくは、pymatgenのインストールが失敗することもありえます。

それらを考えると、仮想環境を別途設けるなどすることをおススメします。
その仮想環境にpymatgenをインストールすれば、トラブルは起きません。

Pythonの標準機能により、仮想環境は簡単に構築できます。
その方法を次の記事で解説しています。

インストール作業

まずは、現状のインストール済みパッケージを確認しておきます。

>pip list
Package    Version
---------- -------
pip        21.1.2
setuptools 57.0.0

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、pymatgenのインストールです。
pymatgenのインストールは、以下のコマンドとなります。

pip install pymatgen

インストールは、数分ほど時間がかかります。
インストールとしては、結構時間のかかる方です。

では、どんなパッケージがインストールされたのかを確認しましょう。

>pip list
Package          Version
---------------- ---------
certifi          2021.5.30
chardet          4.0.0
cycler           0.10.0
decorator        4.4.2
future           0.18.2
idna             2.10
kiwisolver       1.3.1
matplotlib       3.4.2
monty            2021.6.10
mpmath           1.2.1
networkx         2.5.1
numpy            1.20.3
palettable       3.3.0
pandas           1.2.4
Pillow           8.2.0
pip              21.1.2
plotly           4.14.3
pymatgen         2022.0.8
pyparsing        2.4.7
python-dateutil  2.8.1
pytz             2021.1
requests         2.25.1
retrying         1.3.3
ruamel.yaml      0.17.9
ruamel.yaml.clib 0.2.2
scipy            1.6.3
setuptools       57.0.0
six              1.16.0
spglib           1.16.1
sympy            1.8
tabulate         0.8.9
uncertainties    3.1.5
urllib3          1.26.5

かなりの数のパッケージが、インストールされました。
これだけ多くのパッケージと依存関係があれば、導入が簡単とは言えません。
だからこそ、仮想環境の利用をおススメしています。

あと、pymatgenにはオプションで機能追加が可能です。
ライブラリやソフトウェアをインストールすることにより、機能を追加できます。
それらは、必要な度にインストールすればよいでしょう。

以上、pymatgenのインストールについての説明でした。
最後に、pymatgenの動作確認を行います。

pymatgenの動作確認

pymatgenの動作確認用のサンプルコードは、以下。

from pymatgen.core import Lattice, Structure, Molecule

coords = [[0, 0, 0], [0.75,0.5,0.75]]
lattice = Lattice.from_parameters(a=3.84, b=3.84, c=3.84, alpha=120,
                                  beta=90, gamma=60)
struct = Structure(lattice, ["Si", "Si"], coords)

coords = [[0.000000, 0.000000, 0.000000],
          [0.000000, 0.000000, 1.089000],
          [1.026719, 0.000000, -0.363000],
          [-0.513360, -0.889165, -0.363000],
          [-0.513360, 0.889165, -0.363000]]
methane = Molecule(["C", "H", "H", "H", "H"], coords)

print(methane)

上記を実行すると、以下の結果が表示されます。

Full Formula (H4 C1)
Reduced Formula: H4C
Charge = 0.0, Spin Mult = 1
Sites (5)
0 C     0.000000     0.000000     0.000000
1 H     0.000000     0.000000     1.089000
2 H     1.026719     0.000000    -0.363000
3 H    -0.513360    -0.889165    -0.363000
4 H    -0.513360     0.889165    -0.363000

ここまで確認できれば、pymatgenの動作確認としては問題ありません。

以上、pymatgenの動作確認についての説明でした。

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