pymatgenでpotcarのフォルダを設定する方法【pymatgen】

pymatgenでpotcarを設定する方法

参考サイト

pymatgen.io.vasp.inputs

実行環境

  • windows10 home
  • python3.6.5
  • pymatgen: 2018.6.11

potcarフォルダをpymatgenに登録する

pymatgenは必要なPOTCARなどの外部ファイルデータをyaml形式としてそのパスを書き込み、それを読み込むことで取得する。
当然何もしなければ登録してくれないので、以下の手順で設定しなければいけない。

  1. potcarの入っているフォルダを探す

  2. potcarの名前を書きかえたものをコピーとして作成する。名前は以下のもののみ許されている(上記参考サイトの中盤より)

    例えば実際にpotcarを生成するときは

    import pymatgen.io.vasp.inputs as pgi
    potcar = pgi.Potcar(symbols=['Pb','Mn','O'], functional = 'PBE')
    

    とするが、この時にPBEと指定した場合pymatgenは”POT_GGA_PAW_PBE”というフォルダを探す。しかしこの名前になっていないことが多いので、

    potPAW_PBE
    

    POT_GGA_PAW_PBE
    

    にリネームする。他のPOTCARフォルダに関しても同様。

  3. pymatgenのインストール方法のPOTCAR Setupに書いてあるように以下のコードを実行する

    pmg config -p <EXTRACTED_VASP_POTCAR> <MY_PSP>
    

    ここでEXTRACTED_VASP_POTCARはPOTCARがあるフォルダで、MYPSPは適当に変換後のフォルダの場所を指定する。作ってなくても場所だけ指定すれば勝手に作ってくれる。

    私の例

    pmg config -p /VASP/POTCAR/POT_GGA_PAW_PBE /VASP/new_POTCAR
    
  4. 3の実行後に

    pmg config --add PMG_VASP_PSP_DIR <MY_PSP>
    

    みたいなのをしろと言われるので、それをコピーして実行する。これでPOTCARの場所が記録された。

  5. pymatgenのデフォルト関数はPBEになっている。これを変更したい場合は

    pmg config --add PMG_DEFAULT_FUNCTIONAL PBE_52
    

    のように登録する。

  6. pymatgenをインポートし、以下を実行できれば成功

    import pymatgen.io.vasp.inputs as pgi
    potcar = pgi.Potcar(symbols=['Pb','Mn','O'])
    

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です