私はASE(Pythonパッケージ)の初心者で、ASEのABINIT(DFTコード)計算機を使おうとしています。私のOSはUBUNTUです。ABINITバイナリコードをダウンロードして/home/work/abinit-5.4.3に抽出し、次の変数をエクスポートしようとしました
export ABINIT_SCRIPT=/home/work/abinit.py
export ABINIT_PP_PATH=/home/work/abinit-5.3.4/tests/Psps_for_test
そして、私が持っている/ home /work/であるabinit.pyに
import os
abinit = '/home/work/abinit-5.3.4'
exitcode = os.system('%s < %s.files > %s.log' % (abinit, label, label))
ただし、単純なSiバルクシミュレーションを実行しようとすると、次のエラーが発生します。
Traceback (most recent call last):
File "Test_ASE_Abinit.py", line 21, in <module>
e = bulk.get_potential_energy()
File "/usr/lib/python2.7/dist-packages/ase/atoms.py", line 548, in get_potential_energy
return self._calc.get_potential_energy(self)
File "/usr/lib/python2.7/dist-packages/ase/calculators/abinit.py", line 204, in get_potential_energy
self.update(atoms)
File "/usr/lib/python2.7/dist-packages/ase/calculators/abinit.py", line 103, in update
self.initialize(atoms)
File "/usr/lib/python2.7/dist-packages/ase/calculators/abinit.py", line 199, in initialize
raise RuntimeError('No pseudopotential for %s!' % symbol)
RuntimeError: No pseudopotential for Si!
フォルダに擬ポテンシャルがあるのに見つからなかったようです。アルミも試してみたところ、同じエラーが発生しました。
- - - - - - 編集 - - - - - - - - - - - - - - - - - - -
そして私のASE-Pythonコードは次のとおりです。
from ase import *
from ase.calculators.abinit import Abinit
a0 = 5.43
bulk = Atoms('Si2', [(0, 0, 0),
(0.25, 0.25, 0.25)],
pbc=True)
b = a0 / 2
bulk.set_cell([(0, b, b),
(b, 0, b),
(b, b, 0)], scale_atoms=True)
calc = Abinit(label='Si',
nbands=8,
xc='PBE',
ecut=50 * Ry,
mix=0.01,
kpts=[10, 10, 10])
bulk.set_calculator(calc)
e = bulk.get_potential_energy()