Affinity Science Corporation
技術情報

よくある質問(FAQ集)

  1. Wien2kの技術情報・サポートはどこで入手できますか?
  2. lapw2がセグメンテーションフォルト(SIGSEGV)でエラー終了します。
  3. ポテンシャルを表示することができますか?
  4. xcrysdenを使用して、バンド分散図用のk点メッシュを作成する方法を教えてください。
  5. Fedora9(x86_64)環境でモジュールnnを実行すると、 エラーメッセージ"argv1: Subscript out of range"が出て計算が進みません。
  6. 並列処理を行うと、どの程度早くなりますか?
  7. MacOS X(Leopard)で、XCrySDenのビルドに失敗します。


Q. Wien2kの技術情報・サポートはどこで入手できますか?

A. 開発元であるウィーン工科大より、メーリングリストが提供されています。 デベロッパを含め、活発な情報交換が行われており、また過去の情報を ウェブブラウザから検索することもできます。ぜひご活用ください。 詳細は、こちら(開発元サイト) をご確認ください。(2008/02/27)


Q. lapw2がセグメンテーションフォルト(SIGSEGV)でエラー終了します。

A. スタックサイズの上限の問題でないようなら、コンパイルオプションを変更し (最適化レベルを下げる等)、再コンパイルをお試しください。オプションの変更は、 各モジュール毎に設定することができ、lapw2の場合は、SRC_lapw2/Makefile内の FOPT変数で設定することができます。
例えば、lapw2が異常終了する問題は、こちらでもIntel FortranコンパイラV10.1を 使用した場合に再現出来ており、この場合、最適化レベルをデフォルトの-O2から -O1または-O0へ下げることでエラーを回避することができました。以下、更新例です。

epsilon wien/SRC_lapw2# vi Makefile
(一部変更)FOPT = -O1 -FR -mp1 -w -prec_div -pc80 -pad -ip -DINTEL_VML
epsilon wien/SRC_lapw2# make real complex
epsilon wien/SRC_lapw2# cp lapw2 lapw2c ../

上記の方法でも問題が改善されない場合、使用コンパイラまたはライブラリの バージョンを下げて、ビルドおよび実行をお試しください。(2008/02/27)


Q. ポテンシャルを表示することができますか?

はい、可能です。まず、テキストエディタで、case.in0のNR2VをR2Vに書き換えます。 その後、lapw0を実行し、各ポテンシャルをファイルに書き出します。


$ x lapw0

次のコマンドにより、lapw5.defファイルを生成します。


$ x lapw5 -d

生成されたlapw5.defファイルの該当箇所(9行目 and/or 11行目)を デフォルトの価電子密度(case.clmval)から該当ファイルへ書き換えます。


case.clmval 価電子密度(デフォルト)
case.vcoul クーロンポテンシャル
case.r2v 交換相関ポテンシャル
case.vtotal 全ポテンシャル

※全電子密度(case.clmsum)の場合、case.in5でVALをTOTに変更


lapw5.defの例(case.vtotal)

5 ,'case.in5', 'old',    'formatted',0
6 ,'case.output5',   'unknown','formatted',0
8 ,'case.struct',    'old',    'formatted',0
9 ,'case.vtotal',    'old',    'formatted',0
10,'case.tmp',       'unknown','unformatted',0
11,'case.vtotaldn',  'unknown','formatted',0
12,'case.sigma',     'unknown','formatted',0
20,'case.rho_onedim','unknown','formatted',0
21,'case.rho',       'unknown','formatted',0

その後、次のコマンドを実行し、case.in5で指定した面の値を取得します。

$ lapw5 lapw5.def


case.in5の例

1  1  1  2    # プロット中心 (1/2,1/2,1/2)
3  0  1  2    # X端座標 (3/2,0/1/2)
0  3  1  2    # Y端座標 (0,3/2,1/2)
3  3  3       # 描画対象とする原子配置の数
100 100       # グリッド数 (100 x 100 行列)
RHO  NO       # RHO/DIFF/OVER、ADD/SUB/NO(またはブランク)
ATU VAL DEBU  # ATU/ANG、VAL/TOT、DEBU/NODEBUG
NONORTHO      # ORTHO/NONORTH

case.rhoファイルが生成されるので、rhoplotを使用し可視化します。


$ rhoplot ##################################### # # # RHOPLOT # # # ##################################### 3D- or Contour-plot ? (3/c)3 .4972776316139147 Wait until graph appears. Then press RETURN to continue contour for surfaces are drawn in 21 levels on grid base as linear segments 21 incremental levels starting at 0, step 0.1, end 2 contour line types are varied & labeled with format '%8.3g' Do you want to set ranges? (y/N)y zmin = (0.0) -30 zmax = (2.0) 10 delta z = (0.1) 1 Wait until graph appears. Then press RETURN to continue contour for surfaces are drawn in 41 levels on grid base as linear segments 41 incremental levels starting at -30, step 1, end 10 contour line types are varied & labeled with format '%8.3g' Do you want to set ranges? (y/N) Do you want a hardcopy? (y/N) $


出力例

左上:vtotal(3D by rhoplot)
上:r2v(contour by rhoplot)
左:r2v(contour by XCrySDen)
(2008/08/29)


Q. xcrysdenを使用して、バンド分散図用のk点メッシュを作成する方法を教えてください。

A. 基本的な操作は、次のようになります。

1. xcrysdenを起動します。

2. Fileメニューから、Open WIEN2k... -> Select k-path をクリックします。

3. Choose WIEN2k case directoryダイアログが現れるので、Selection: に該当ディレクトリ(対象とするcase.structを含む)を指定し、OKボタンをクリックします。

4. ブラベ格子が正しく認識されたことを確認し、Closeボタンを押し、先へ進めます。

※空間群毎のブリルアンゾーン、k点のラベルは、次の Bilbao Crystallographic Server Table of Space Group Symbolsで確認することができます。

5. ブリルアンゾーンが表示されるので、対称性の高いk点(special points)を順次選択します。

6. 選択が終わると、OKボタンを押し、次に進みます。

7. 各k点座標を整数の比で表わすための係数Mが表示されます。

8. 発生させるk点の数を入力します。この例では、100を指定しました。

9. 代表的なk点を結ぶk点が補間され、klistが作成されます。

10. ファイル名をcase.klist_bandとして保存します。
(※ w2webからXCrysdenを起動した場合は、xcrysden.klistとして保存してください)

11. 最後に、履歴が表示されます。 (2008/08/29)



Q.Fedora9(x86_64)環境でモジュールnnを実行すると、エラーメッセージ"argv1: Subscript out of range"が出て計算が進みません

A. Fedora 9用のtcsh(tcsh-6.15-5.fc9.x86_64.rpm)に問題があるようです。 一度アンインストールし、Fedora 8用のtcsh(tcsh-6.15-1.fc8.x86_64.rpm)を再インストールしてください。 (2008/12/03)



Q.並列処理を行うと、どの程度早くなりますか?

A. k点分割の並列処理は、ノード数に応じた効率のよい並列化が可能です。 また、微細粒度の並列計算については、プロセッサ間通信性能、プロセッサ-メモリ間通信性能により、並列効率は異なります。 ご参考までに、行列サイズ3481、1 k-pointのLAPW1(固有値計算)をOpenMPおよびMPIで並列計算すると、 次のような結果になりました。

  • Core2-2.81 : 2.83GHz(Intel Q9550)/8GB(DDR2-800MHz)/RedHat EL5
  • Opteron-2.1 : 2.1GHz(AMD Opteron1352)/2GB(DDR2-667MHz)/CentOS 5.2

今回は、単一ノード(クアッドコア)での並列計算のみの結果ですが、 高速なインターコネクト環境があれば(e.g. InfiniBand)、複数ノードによるMPI並列処理も可能です。 開発元ベンチマーク情報 (2008/12/03)



Q.MacOS X(Leopard)で、XCrySDenのビルドに失敗します。

A. こちらで試したところ、外部共有ライブラリをリンクすることで、 正常にビルドすることができました(XCrysDen-pre1.5bs-all)。 finkで、mesaとtcltkパッケージをインストールした後、makeを行ってください。 なお、その際利用したMake.sysファイルは、下記になります。 よろしければ、ご参考になさってください。


eta:XCrySDen-pre1.5bs-all asc$ grep -v ^# Make.sys MAKE = make CFLAGS = -ansi -fwritable-strings -funroll-loops -fPIC -DUSE_FONTS CC = gcc MATH = -lm FFLAGS = -O2 FC = g77 DARWIN_X11_PREFIX = /usr/X11 X_LIB = -L$(DARWIN_X11_PREFIX)/lib -lXmu -lX11 -lXext X_INCDIR = -I$(DARWIN_X11_PREFIX)/include COMPILE_TCLTK = no COMPILE_MESA = no TCLTK_OPTIONS = --disable-shared MESA_OPTIONS = --disable-shared --disable-3dnow CoreFoundation=/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation TCL_LIB = /sw/lib/libtcl$(TCL_VER2).dylib $(CoreFoundation) TK_LIB = /sw/lib/libtk$(TCL_VER2).dylib GLU_LIB = /sw/lib/mesa/libGLU.a GL_LIB = /sw/lib/mesa/libGL.a TCL_INCDIR = -I$(TOPDIR)/external/src/tcl$(TCL_VER3)/generic TK_INCDIR = -I$(TOPDIR)/external/src/tk$(TCL_VER3)/generic GL_INCDIR = -I/sw/include/mesa

(2008/12/03)

gotop
sitemap