概要
CHGNet(Crystal Hamiltonian Graph neural Network)は、材料モデリング向けの事前学習済み原子間ポテンシャルです。電荷情報を取り入れた表現では、DFT の磁気モーメントを用いて原子特徴を正則化し、局所環境と電荷分布に関する情報を結び付けます。README には、Materials Project の GGA/GGA+U 静的計算と構造緩和軌跡を用いた事前学習が記載されています。Materials Project は上流の学習データを提供するものであり、CHGNet は予測モデルと付属ソフトウェアであって、データベースそのものではありません。
直接推論について、文書化されたワークフローでは pymatgen Structure(CIF ファイルから読み込んだ構造を含む)を受け取り、原子あたりのエネルギー、原子力、応力、サイトごとの磁気モーメントを返します。構造最適化では、緩和後の構造とエネルギーを含む軌跡が生成されます。分子動力学は ASE インターフェースを介して実行でき、別途リンクされた LAMMPS 連携もあります。ASE の軌跡ファイルは後続の解析に利用できます。また、リポジトリには、ラベル付き構造、エネルギー、力、応力、磁気モーメントを用いたファインチューニングが記載されており、atomate2 を使用したフォノンおよび弾性特性ワークフローの例もリンクされています。
チェックポイントの選択と学習ラベルの規約は重要です。README では、MPtrj で事前学習したチェックポイントと、R2SCAN で転移学習したモデルを区別し、ファインチューニングには原子あたりのエネルギーを目標値として指定しています。Materials Project のエネルギー補正を一貫して適用し、汎関数を変更する場合には AtomRef を再フィットすることが推奨されています。このリポジトリはレガシー実装であり、今後の機能開発は限定的とされています。より新しい実装と MatPES チェックポイントは MatGL にあります。ここに記載された機能は、特定の材料やシミュレーション条件における精度を保証するものではありません。個別の用途に即した検証は、評価段階で行う必要があります。
主な機能
- 結晶構造から、エネルギー(eV/atom)、力(eV/Å)、応力(GPa)、サイトごとの磁気モーメントを予測します。
- 構造緩和を行い、最終構造、エネルギー軌跡、サイトごとの磁気モーメントを出力します。DFT の初期化に利用できる可能性があります。
- ASE を介した分子動力学に対応し、解析用に軌跡を保存します。また、別個の LAMMPS 連携もリンクされています。
- MPtrj 事前学習済みチェックポイントと R2SCAN 転移学習済みチェックポイントを提供し、読み込み方法も文書化しています。
- StructureData と Trainer を用いた学習およびファインチューニングに対応し、エネルギーの正規化、補正、応力の単位に関する指針も示しています。
- 有限変位フォノン計算と応力–ひずみ弾性特性計算のための atomate2 の例をリンクしています。
用途
- 想定される評価用途:候補結晶構造を事前緩和し、予測磁気モーメントがスピン分極 DFT 計算の初期値として使えるか評価する。
- 想定される評価用途:ASE 分子動力学で構造変化と磁気モーメントの変化を調べ、代表的な構造を参照計算と照合する。
- 想定される評価用途:一貫したラベル付けの DFT データと、検証用に分離した構造を用いて、選定した材料系向けに事前学習済みチェックポイントをファインチューニングする。
- 想定される評価用途:リンク先の atomate2 の例を応用してフォノン分散または弾性特性を調べ、対象材料について結果を検証する。
使い方
- リポジトリ READMEとAPI ドキュメントを確認します。レガシー開発の状況に留意し、この実装とリンク先の MatGL 実装のどちらがワークフローに適しているか判断してください。
- README のインストール手順に従い、Python 3.10 以降の環境を用意します。すべての事前学習済みモデルを同等に扱うのではなく、学習基盤に基づいて文書化されたチェックポイントを選択します。
- CHGNet Basicsを進めます。代表的な結晶構造を読み込み、エネルギー、力、応力、磁気モーメントの予測値を、文書に記載された単位のまま確認します。
- 同じノートブックを使って、構造緩和または分子動力学の出力を確認します。想定される評価手順として、検討範囲を広げる前に、選んだ構造と予測値を適切な参照計算と比較します。
- 特定の系に合わせる場合は、Tuning CHGNetを参照します。原子あたりのエネルギーラベルを準備し、補正と汎関数の一貫性を確認したうえで、検証データとテストデータを確保します。MPtrj を使用する場合は、リポジトリのコードライセンスとは別に、リンク先の Materials Project 利用規約を確認してください。