cmsi / MateriAppsLive-forum

MateriApps LIVE! User Forum
0 stars 0 forks source link

バンド計算用のコーディング #17

Open shimizu123321 opened 4 years ago

shimizu123321 commented 4 years ago

 いつもお世話になっております。今回はバンド計算のコーディングについて質問したいことがあります。  計算の初心者なので、できれば詳しく解説してくださると助かります。

 ウェブページ (https://cometscome.github.io/DFT/build/Fast/fast/) を参考に、Quantum EsspressoでSiのバンド計算を実行したのですが、AttributeErrorが出てしまいました 。以下はエラーが表示された箇所です。

入力 import matplotlib.pyplot as plt

bs = calc.band_structure() bs.reference = fermi_level bs.plot(emax=40,emin=5)

出力 AttributeError Traceback (most recent call last)

in () 2 3 bs = calc.band_structure() ----> 4 bs.reference = fermi_level 5 bs.plot(emax=40,emin=5) AttributeError: can't set attribute  なぜAttributeErrorが出たのでしょうか?すみませんが、解決方法とともに教えていただけますでしょうか?  よろしくお願いいたします。
wistaria commented 4 years ago

@shimizu123321 最近のASEで仕様が変わったのかもしれません。 https://wiki.fysik.dtu.dk/ase/dev/_modules/ase/spectrum/band_structure.html を見ると reference は関数なので値をセットしようとすると怒られます。対応するメンバー変数の名前は reference ではなく _reference (前にアンダースコアがつく)のようです。エラーの出た行を

bs._reference = fermi_level

に変更すると一応動くようです。やって良いことなのかどうか分かりませんが

shimizu123321 commented 4 years ago

 無事計算ができるようになりました。  教えていただき、ありがとうございました。