古いバージョンのBBSは閲覧のみ可能です。
The old BBS is read only.
133
Re^5:Error (supercell3*3*3 Calculation, in Japanese)
Posted on : December 19, 2004 (Sun) 22:47:19
by Kobayashi Kazuaki
物質・材料研究機構の小林です。
>井原です。返事が遅れ、大変申し訳ありません。
いえ、情報ありがとうございます。大変参考になります。
>今回のsupercell3*3*3の計算がうまくいかなかった原因ですが、
>パラメータ設定の問題とメモリーの問題両方がありました。
(中略)
>(ちなみにこれは、dosを書く前の計算まではmsex=35で計算して、
>dosを出す段階になってmsex=200とするだけでいいのか?
>dosを最終的に出したいときは、最初のgo計算から計画的に
>msexを高めに設定しておかなければならないのか、
>よくわかってなかったりするのですが。)
上記のものとちょっと違う話ですが、大きな系に対し構造最適化まで含めた
計算では、最初少ないk点数で計算して、バンドなどを描く段階でk点数を増
やすということが行われたりします(←この場合、k点数を増やすことで結果
に大きな差が出ないことが前提)。おそらくmsexの数を変えて、結果に差が
出る場合、それが求めるべき精度と比べて十分に小さいかどうかによるのかと
思われます。
>なお、supercell3*3*3の計算ではmsex=35で、インプットファイルでk点を1に設定する
>(アウトプットファイルに表示されるnkは4になる)と、無事計算を行えました。
これは実質的にk点1点(Γ点)のみでの計算という意味でしょうか?。
>なお、supercell4*4*4の計算ですが、それ用のspec*をコンパイルして得ようとすると以下
>のようなメッセージが出ました。
4*4*4ということは128個の鉄原子の計算で、かなり大きな計算と思われます。
このくらいになると、さ最初の取り掛かりとしての計算はk点1点のみで行っても問題ない
と思います。ただ求めるべき物理量によっては1点だけでは駄目な場合もあるかと思います。
>***ここから***
>f77 -O -o source/spec4.o -c source/spec4.f
>source/spec4.f:60: 変数 `_BLNK__' のサイズが大きすぎます
>make: *** [source/spec4.o] エラー 1
>***ここまで***
>spec4.fを見る限りでは、60行目で宣言されている下記の配列の1次元
>あたりの長さ(つまり、例えば(2*mxlmx-1)**2*ngmx*nkmx*ndmxの大きさ)
>がコンパイラ(もしくはシステム?)の限界を超えているのが原因ではないか、
>と考えております。現在もコンパイルは成功しておりません。
>***ここから***
> complex*16 e(msex,2),tch((2*mxlmx-1)**2*ngmx*nkmx*ndmx)
>***ここまで***
>ちなみに計算環境は OS:RedHatLinux 8, Compiler:Intel Fortran Compiler 7です。
上記エラーに関しては何とも言えないのですが、ここで使われている
システムのCPUは32ビットのものでしょうか?。64ビットとそれに対応した
コンパイラ(と大量のメモリー)を使うとうまくいく可能性があるかもしれません。
以上、的外れな話になってるかもしれませんが、何かの参考になれば幸い
です。
(--@--は変なメイル対策)