pymatgen

LAMMPSで格子変形を許して構造緩和をする

LAMMPSで格子変形を許して構造緩和をさせる(fix 1 box/relax tri 0を指定してminimize commandを実行する)とき、初期構造が著しく歪んでいるせいで一度minimizeさせるだけでは収束しきらないことがある。 このケースにハマっている人をたまに見るので、収束…

Materials Projectのmaterial_idとtask_id

Materials Project に登録されているデータはmaterial_id(mp-****みたいなやつ)で指定される。だが、2018年の半ばからmaterial_idが一部の結晶では変更されたようなので注意が必要。 それぞれの計算系にはmaterial_idが振られている。そして各計算系には(sin…

pymatgenでのcifファイルの読み込み

pymatgenでcifファイルを読み込むにはpymatgen.io.cif.CifParserを使うが、たまに失敗することがある。 これはcifに書かれているfractional coordinates の精度が低いと、対称操作を施して同じワイコフ位置にある原子の座標を計算する部分がうまくいかないこ…

pymatgenの小さなバグを直した

pymatgen.analysis.graphsにnetworkx周りのバグがあったので修正とユニットテストの追加をしてプルリクエストを送った。 github.com OSSにプルリクエストを送って英文で説明するのが初めてだったのでめっちゃググった: sucrose.hatenablog.com github.blog q…

結晶の次元数

pymatgenのサブモジュールを眺めていたらpymatgen.analysis.dimensionalityという結晶の次元数を調べるモジュールを見つけた。 pymatgen.org 関数の使い方よりもそもそも結晶の次元数とはどのように定義されるか、そしてどのようにそれを計算するかに興味が…

周期表を描く(pymatgen+matplotlib)

pymatgen.util.plotting.periodic_table_heatmapを使うと周期表の形で元素ごとにある実数値をヒートマップで可視化することができる。 一方、例えば元素ごとにイオン半径を可視化したいときなどは対応する関数がpymatgenにないので自分でいろいろと書かない…

pymatgenで状態図を描く

pymatgenで状態図を描く方法の備忘録。 ついでにMaterials Project Rest を使う方法も調べた。 Materials Project API key の登録 まず、Materials Project Rest を使うにはユーザー登録してAPIキーを作成しなければならない。 登録は以下のリンクから行える…

pymatgenで結晶の体積を予測する

pymatgenにはpymatgen.analysis.structure_prediction.volume_predictor.DLSVolumePredictorというクラスがあって、ボンド長のデータベースに基づいて与えられた結晶の体積を予測することができる(すごい)。 DLSVolumePredictor を使えるようにする pymatgen…

pymatgenでVASPの入力ファイルを作る

pymatgenを使うとVASPの入力ファイルを簡単に作ることができるが、公式ドキュメントにはまとまった記述がなかったので自分用に備忘録を残しておく。 正直、pymatgenのAPIドキュメントを読めばこの記事を読む必要はないと思う。 POTCAR http://pymatgen.org/i…