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.6 | 2016年12月23日 | 2021年12月 |
3.7 | 2018年6月27日 | 2023年6月 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年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の動作確認についての説明でした。