python上でnappyを使ってFortranプログラムであるpmdのコア部分(のライブラリ)を呼び出すことができる.ただし,そのためには,nap/nappy/pmd/
内で make pmd_wrapper
を実行して,pmd_wrapperからpmdを呼び出す準備が必要.
nappy.pmd.PMD を用いる方法
次のようなコードで,そのディレクトリにある in.pmd
を読み込んで,1000 stepのMDを実行する(しかしなぜかjupyter notebook上では途中でメッセージもなく止まってしまう問題が解決していない).
上記の出力は次のようになり,stressはVoigt表記の6つが返る.
Potential energy = -3450.1590261927245
Kinetic energy = 0.001166161049854613
Stress = [-0.00056849 -0.00121267 -0.00180787 0.0001973 0.00035736 0.00028713]
ASEを用いる方法
nappyには nappy.interface.ase.pmdrun
内に PMD_ASE_Calculator
というASE用のcalculatorがあるので,それを使ってASEでMDなどを実行することが可能.