要約
ASEのNPTクラスのset_strain_rate()メソッド内部で、存在しないメソッドを呼び出しているというバグが存在します。
このバグはASE 3.25以降で発生しており、NPTクラスで歪みをかけるようなシミュレーションを実施しようとすると強制的にバグが発生し、AttributeError: 'NPT' object has no attribute '_triangular'というエラーが発生します。
対処法
ASE<=3.24をご利用いただくのが安全です。
どうしても新しいバージョンを利用する必要がある場合、Notebookにて以下のコマンドを実行すると計算可能になります。
python3.11環境の場合
!sed -i '267s/_triangular/_istriangular/' ~/.py311/lib/python3.11/site-packages/ase/md/npt.pypython3.9環境の場合
!sed -i '267s/_triangular/_istriangular/' ~/.py39/lib/python3.9/site-packages/ase/md/npt.py本コマンドを実行後はNotebookの再起動をお願いします。
注意点
上記のコマンドは存在しないメソッドを、三角行列か否かを判定するメソッドに置き換えるものです。
ASEをアップデートすると上記のコマンドの結果が上書きされるため、再度実行いただく必要があります。