はじめに 前回の記事(機械学習ポテンシャル実装入門)では機械学習ポテンシャルを実装する方法について紹介しました。ここではさらに踏み込んで、結晶構造の構造緩和をするために必要なstress計算を実装します。 既存の機械学習ポテンシャルパッケージの多くは、 stress計算を実装していませんが、以下の実装のようにすれば、既存パッケージも最小限の変更でstress計算を実装できます。今回は前回と同様、CGCNNにstress計算を実装します。 コード 前回作成したCGCNNを以下のように変更します。他の部分は使い回しです。 class CGCNN(nn.Module): def __init__( self, node_dim: int, edge_dim: int, cutoff: float = 6.0, n_layers: int = 3, graph_reduce: str = "mea