UVSOR 圧電定数の計算
Up to Install, Compile, Usage東京理科大学の栗田です。
Phase UVSOR_v341 のユーザーマニュアルの 51 ページ計算例 2 の圧電定数の計算の中で
イオン固定項の計算で piezo/clamped の下で prep_piezo.pl を実行した後で exec_piezo.pl phase ekcal 1 を実行しました。
berry_e3_g2 の所で ( 30) ek0_old - ek0_new で NaN NaN が出てきました。(output000)
( 29) は小さな値でした。
入力のどこを変更すれば改善されるでしょうか
Perl スクリプトの経験がないので、計算の流れを含めて教えて頂けないでしょうか
何卒、よろしくお願い致します。
Kurita
アスムス甲賀と申します.大変お世話になります.
【NaNが発生してしまう問題について 】
サンプルが不適切です.申し訳ありません.
NaNが発生してしまうのは,ベリー位相計算のテンプレート入力(template_berry/nfinput.data)のバンド数が不十分であるためです.
ベリー位相計算は,原理的には空バンド は不要ですが,波動関数ソルバーの安定性のためには多少あった方がよいです.
template_berry/nfinput.dataのnum_bandsを8から10などとし,prep_piezo.plを実行するところからやり直してください.
このサンプルはかなり前に作成されたものであり,波動関数ソルバーや電荷密度混合法の設定 に最近の成果が反映されていません.
それを反映したテンプレート入力も添付します.
【「計算の流れ」について】
圧電応答を計算するためには,ひずみを与えた結晶のベリー位相を計算する必要があります.ベリー位相を計算するためには,
通常のSCF計算を行った後,3つの逆格子ベクトルに対して固定電荷の計算を行う必要があります.
prep_piezo.pl を実行すると,これらの計算を実行するために必要な入力データが格納された以下のようなディレクトリーが作成されます.
scf_ex : x番目のひずみを与えた結晶のSCF計算用入力データが格納されたディレクトリー(x=0はひずみなし;これも必要です)
berry_ex_gy : x番目のひずみを与えた結晶の,y番目の逆格子ベクトルに対応するベリー位相を計算するための入力データが格納されたディレクトリー
これらのディレクトリーにある入力ファイルは,テンプレート入力ファイルをもとに作成されます.
テンプレート入力ファイルは,scf計算の場合はtemplate_scf/nfinput.data, ベリー位相計算の場合はtemplate_berry/nfinput.data です.
exec_ piezo.pl は上述のSCF計算と固定電荷計算を実行し,結果各berry_ex_gyディレクトリーにおいて得られるベリー位相データファイル(ファイル名berry.data)を連結し,
作業ディレクトリーのberry.dataファイルに保存する,という作業を行います.
このスクリプトを使わず,手動でscf_exディレクトリーでSCF計算→berry_ex_gyディレクトリーでベリー位相計算を行い,berry.dataを連結させても問題ありません.
> 第四回の統合ワークショップで阪大に転籍された籾田先生のLr-TDDFT を用いた二酸化チタンの光触媒の計算がありま> したが。
> マニュアルに関連した説明が見当たりません。サンプル入力として頂けないでしょうか
籾田先生によるTDDFTは,まだ公開版PHASEには組み込まれていません.
ご了承ください.
Previously Yasuo Kurita wrote:
理科大の栗田です。
大変、お世話になります。
最新バージョンでも、ベリーフェイズの計算で止まりました。
これまでの現象を見ると、Wavefunction の繰り返しが30回を超えるとNaN が出るようです。
繰り返し数をサフィックスとした変数がメモリーを壊すような気がしますが、ご検討願えないでしょうか
第四回の統合ワークショップで阪大に転籍された籾田先生のLr-TDDFT を用いた二酸化チタンの光触媒の計算がありましたが。
マニュアルに関連した説明が見当たりません。サンプル入力として頂けないでしょうか
何卒、よろしくお願い致します。
Kurita
理科大の栗田です。
berry-phase の計算で、上手くいっていなかった最初の directory は 120 度の方向に変位させたものの最初のものだったので
変位量を半分にしたら上手くいきました。
piezo は頂いたデータに変えて上手くいきました。
どうも、有り難う御座いました。
berryでもpiezoでも、上手くいってないケースはiter_elecが299 になって、次の繰り返し計算が30回くらいになると
NaN が出てくるような振る舞いになっています。
iter_elec では、どんな変数を調節して何を収束させているのですか
ベリー位相の出力は、最初がベリー位相、次が一次補正項、その次が第二次補正項、最後がウエイトの様に見えるのですが
どんな近似式になっているのですか
AlNの様な立方でないものも、同じような形式で出力されているのはどういう理由でそうなっているのでしょうか
5.35 の内部ひずみ項の計算をしたいのですが、マニュアルでは ../clamped/template_scfをcopy しなさいと言っていますが
これは計算済みのものをコピーするのか、それとも、オリジナルをコピーすれば良いか教えて下さい。
籾田先生のお使いのプログラムはいつ頃、公開して頂けるのでしょうか
何卒、よろしく、お願い致します。
Kurita
> berryでもpiezoでも、上手くいってないケースはiter_elecが299 になって、次の繰り返し計算が30回くらいになると
> NaN が出てくるような振る舞いになっています。
以前も申し上げましたが,私の環境では再現できません。
不正なバイナリーが作成されている可能性があります。
ライブラリーのリンク方法などをご確認ください。
繰り返し回数とソルバーの振る舞いとは,関係ないと思います。
> ベリー位相の出力は、最初がベリー位相、次が一次補正項、その次が第二次補正項、最後がウエイトの様に見えるのですが
> どんな近似式になっているのですか
最初と2番目がUVSORマニュアル(74)式右辺のlnの中の実部と虚部,3番目が(74)式左辺そのもの,最後が対称性に応じた重みです。
> AlNの様な立方でないものも、同じような形式で出力されているのはどういう理由でそうなっているのでしょうか
berry.dataに書き出されるデータは上述のようなものであり,単位胞の形状に直接依存するものではないからです。
籾田先生によるTDDFTの公開時期は未定ですが,来年3月までには公開されるはずです。
以上,よろしくお願い申し上げます。