現在位置: ホーム / Forums / PHASE Forums / Install, Compile, Usage / UVSOR 圧電定数の計算

UVSOR 圧電定数の計算

Up to Install, Compile, Usage

UVSOR 圧電定数の計算

Posted by Yasuo Kurita at July 18. 2012

東京理科大学の栗田です。

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

Re: UVSOR 圧電定数の計算

Posted by 甲賀淳一朗 at July 19. 2012

アスムス甲賀と申します.大変お世話になります.

 

【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を連結させても問題ありません.

 

Attachments

Re: UVSOR 圧電定数の計算

Posted by Yasuo Kurita at July 20. 2012

num_bandsを10にしましたが、似たような結果となりました。

新しい template で実行しましたがscf_ex にnfchgtが出力されず,error となりました。

新しいtemplate に対する修正方法を教えて下さい。

よろしくお願い致します。

Kurita

 

 

Re: UVSOR 圧電定数の計算

Posted by 甲賀淳一朗 at July 20. 2012

添付するアーカイブを間違えてしまいました.申し訳ありません.

 

Attachments

Re: UVSOR 圧電定数の計算

Posted by Yasuo Kurita at July 20. 2012

早速、試してみました。

今度は

solution is not give properly <<f_readsolver>>

で止まりました。

何卒、よろしくお願い致します。

Kurita

Re: UVSOR 圧電定数の計算

Posted by 甲賀淳一朗 at July 20. 2012

> solution is not give properly <<f_readsolver>>

最新バージョンをご利用ください

 

Re: UVSOR 圧電定数の計算

Posted by Yasuo Kurita at July 24. 2012

理科大の栗田です。

大変、お世話になります。

最新バージョンでも、ベリーフェイズの計算で止まりました。

これまでの現象を見ると、Wavefunction の繰り返しが30回を超えるとNaN が出るようです。

繰り返し数をサフィックスとした変数がメモリーを壊すような気がしますが、ご検討願えないでしょうか

 

第四回の統合ワークショップで阪大に転籍された籾田先生のLr-TDDFT を用いた二酸化チタンの光触媒の計算がありましたが。

マニュアルに関連した説明が見当たりません。サンプル入力として頂けないでしょうか

何卒、よろしくお願い致します。

Kurita

Re: UVSOR 圧電定数の計算

Posted by Yasuo Kurita at July 25. 2012

理科大の栗田です。

収束判定を強引に4 桁落として30 回以上繰り返しましたが、こんどはNaNは出ませんでした。

もう少し、試行錯誤をしてみます。

何卒、よろしく、お願い致します。

Kurita

Re: UVSOR 圧電定数の計算

Posted by 甲賀淳一朗 at July 25. 2012

> 最新バージョンでも、ベリーフェイズの計算で止まりました。

> これまでの現象を見ると、Wavefunction の繰り返しが30回を超えるとNaN が出るようです。

申し訳ないのですが,当方の環境では再現できません.

添付した入力データを利用いたしますと,すべてのケースで,20回以内で収束しています.

不正なバイナリーが作成されてしまっているのかもしれません.

 

 

Re: UVSOR 圧電定数の計算

Posted by 甲賀淳一朗 at July 26. 2012

> 第四回の統合ワークショップで阪大に転籍された籾田先生のLr-TDDFT を用いた二酸化チタンの光触媒の計算がありま> したが。

> マニュアルに関連した説明が見当たりません。サンプル入力として頂けないでしょうか

 

籾田先生によるTDDFTは,まだ公開版PHASEには組み込まれていません.

ご了承ください.

 

Previously Yasuo Kurita wrote:

理科大の栗田です。

大変、お世話になります。

最新バージョンでも、ベリーフェイズの計算で止まりました。

これまでの現象を見ると、Wavefunction の繰り返しが30回を超えるとNaN が出るようです。

繰り返し数をサフィックスとした変数がメモリーを壊すような気がしますが、ご検討願えないでしょうか

 

第四回の統合ワークショップで阪大に転籍された籾田先生のLr-TDDFT を用いた二酸化チタンの光触媒の計算がありましたが。

マニュアルに関連した説明が見当たりません。サンプル入力として頂けないでしょうか

何卒、よろしくお願い致します。

Kurita

Re: UVSOR 圧電定数の計算

Posted by Yasuo Kurita at July 27. 2012

理科大の栗田です。

berry-phase の計算で、上手くいっていなかった最初の directory は 120 度の方向に変位させたものの最初のものだったので

変位量を半分にしたら上手くいきました。

piezo は頂いたデータに変えて上手くいきました。

どうも、有り難う御座いました。

berryでもpiezoでも、上手くいってないケースはiter_elecが299 になって、次の繰り返し計算が30回くらいになると

NaN が出てくるような振る舞いになっています。

iter_elec では、どんな変数を調節して何を収束させているのですか

ベリー位相の出力は、最初がベリー位相、次が一次補正項、その次が第二次補正項、最後がウエイトの様に見えるのですが

どんな近似式になっているのですか

AlNの様な立方でないものも、同じような形式で出力されているのはどういう理由でそうなっているのでしょうか

5.35 の内部ひずみ項の計算をしたいのですが、マニュアルでは ../clamped/template_scfをcopy しなさいと言っていますが

これは計算済みのものをコピーするのか、それとも、オリジナルをコピーすれば良いか教えて下さい。

籾田先生のお使いのプログラムはいつ頃、公開して頂けるのでしょうか

何卒、よろしく、お願い致します。

Kurita

Re: UVSOR 圧電定数の計算

Posted by Yasuo Kurita at July 31. 2012

理科大の栗田です。

内部ひずみの計算の質問は私の勘違いでした。

templateは計算の影響を受けないのでそのまま使えばよいのですね。

TDDFTは非常に興味があります。

他のSample dataがあれば是非公開して下さい。

是非、よろしくお願い致します。

Kurita

 

Re: UVSOR 圧電定数の計算

Posted by 甲賀淳一朗 at August 01. 2012

> berryでもpiezoでも、上手くいってないケースはiter_elecが299 になって、次の繰り返し計算が30回くらいになると
> NaN が出てくるような振る舞いになっています。
以前も申し上げましたが,私の環境では再現できません。
不正なバイナリーが作成されている可能性があります。
ライブラリーのリンク方法などをご確認ください。
繰り返し回数とソルバーの振る舞いとは,関係ないと思います。

> ベリー位相の出力は、最初がベリー位相、次が一次補正項、その次が第二次補正項、最後がウエイトの様に見えるのですが
> どんな近似式になっているのですか
最初と2番目がUVSORマニュアル(74)式右辺のlnの中の実部と虚部,3番目が(74)式左辺そのもの,最後が対称性に応じた重みです。

> AlNの様な立方でないものも、同じような形式で出力されているのはどういう理由でそうなっているのでしょうか
berry.dataに書き出されるデータは上述のようなものであり,単位胞の形状に直接依存するものではないからです。

籾田先生によるTDDFTの公開時期は未定ですが,来年3月までには公開されるはずです。

以上,よろしくお願い申し上げます。

Re: UVSOR 圧電定数の計算

Posted by Yasuo Kurita at August 01. 2012

理科大の栗田です。

すみませんが、内部ひずみ項の計算でもう一点教えて下さい。

strfrc.data の計算は上手くいっていると思われますが、phonon に移ってからの計算で

phase の計算が0.1 秒もたたずに終了して内部ひずみのテンソルが出力されないのですが、

計算する前に振動計算の出力を消して置くのでしょうか

オプションの変更はマニュアル通りにしたつもりですが

なにか、デバックのヒントがありましたら教えて下さい。

何卒、よろしくお願い致します。

Kurita

Re: UVSOR 圧電定数の計算

Posted by 甲賀淳一朗 at August 02. 2012

マニュアルが不親切かもしれませんが,圧電定数の内部ひずみ項を計算するためには

strfrc.dataファイルのほか,原子変位をさせた場合のベリー位相データも必要です(ボルン有効電荷を計算する必要があるため)

AlN/berry ディレクトリーで原子変位をさせたベリー位相 を計算し,結果得られるberry.dataファイルを

phononディレクトリーにコピーしたのちマニュアルに書かれているようにオプションを変更し,計算を実施してください.

この計算はすぐに終了するはずです.

Powered by Ploneboard