アフィニティサイエンス | WIEN2k FAQ


HOME > WIEN2k > WIEN2k FAQ

Q1:WIEN2kの技術情報・サポートはどこで入手できますか?
開発元(ウィーン工科大)により、メーリングリストが運営されています。デベロッパを含め、活発な情報交換が行われており、また過去の情報をウェブブラウザから検索することもできます。詳しくは、WIEN2k-Mailing Listをご覧ください。
(2008/02/27)
Q2: ポテンシャルを可視化することができますか?
はい、可能です。まず、テキストエディタで case.in0 のNR2VをR2Vに書き換えます。その後、lapw0を実行し、各ポテンシャルをファイルに書き出します。
$ x lapw0
次のコマンドにより、 lapw5.def ファイルを生成します。
$ x lapw5 -d
生成された lapw5.def ファイルの該当箇所(9行目、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',06 ,'case.output5', 'unknown','formatted',08 ,'case.struct', 'old', 'formatted',09 ,'case.vtotal', 'old', 'formatted',010,'case.tmp', 'unknown','unformatted',011,'case.vtotaldn', 'unknown','formatted',012,'case.sigma', 'unknown','formatted',020,'case.rho_onedim','unknown','formatted',021,'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/NODEBUGNONORTHO # 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)
以下、出力例です。
FeF2_vtotal_rhoplot.png
(2008/08/29)
Q3: XCrySDenを用いてバンド分散図用のk点メッシュを作成する方法は?
基本的な操作は、次のとおりです。
1. xcrysdenを起動します。
f04-01.png
2. Fileメニューから Open WIEN2k... -> Select k-path をクリックします。
f04-02.png
3. Choose WIEN2k case directory ダイアログが表示されるので、 Selction: に該当するディレクトリ(case.structを含む)を指定し、OKボタンをクリックします。
f04-03.png
4. ブラベ格子が正しく認識されたことを確認し、 Close ボタンを押し、先へ進めます。空間群毎のブリルアンゾーンやk点ラベルは、Bilbao Crystallographic Server Table of Space Group Symbolsで確認することができます。
w2web から XCrySDen を起動した場合、上の画面が最初に表示されます。
f04-04.png
5. ブリルアンゾーンが表示されるので、その中の点(special points)を順次選択していきます。
f04-05.png
6. 選択が終わると、 OK ボタンを押し、次に進みます。
f04-06.png
7. 各k点座標を整数比で表わすための係数Mが表示されます。
8. Total number of k-points along the path に発生させるk点の数を入力します。この例では、100を指定しました。
9. 指定した経路でk点が補間され、klistが作成されます。
10. ファイル名をcase.klist_bandとして保存します。w2webからXCrySDenを起動した場合は、一旦xcrysden.klistとして保存し、その後、メニューに従いcase.klist_bandとして複製してください。
f04-08.png
11. 最後に履歴が表示されます。
(2008/08/29)
Q4: 波動関数を可視化することができますか?
はい、LAPW基底であれば可能です。LAPW1で求めたcase.vector[up/dn]を使用し、k点およびバンドの一組で表される波動関数をプロットすることができます。手順は、次のとおりです。0. データフォーマット変換プログラムのビルド1. case.in1[c]でLAPW基底を指定(※APW+lo未サポートのため)2. lapw1の実行3. case.in7の作成4. lapw7の実行5. gnuplut用データフォーマット変換プログラムを実行6. gnuplotを用いて可視化
以下、具体的な手順です。
0. まず、データフォーマット変換プログラムをビルドします。ソースコード格納ディレクトリ$WIENROOT/SRC_lapw7/DOC_psink/w1gpl.f ※1Dデータ用$WIENROOT/SRC_lapw7/DOC_psink/w2gpl.f ※2Dデータ用
コンパイル例(g77使用)
$ g77 -o w1gpl w1gpl.f
$ g77 -o w2gpl w2gpl.f
コンパイルした各モジュールは、$WIENROOTディレクトリへコピーしてください。
$ cp w?gpl $WIENROOT
1. case.in1[c]でLAPW基底(0)を指定します。
以下、設定例になります(赤色文字部分)。
WFFIL (WFPRI, SUPWF)
7.00 10 4 (R-MT*K-MAX; MAX L IN WF, V-NMT
0.30 5 0 (GLOBAL E-PARAMETER WITH n OTHER CHOICES, global APW/LAPW)
0 0.30 0.000 CONT0
0 -4.35 0.005 STOP0
1 -2.58 0.010 CONT0
1 0.30 0.000 CONT0
2 0.30 0.010 CONT0
0.30 3 0 (GLOBAL E-PARAMETER WITH n OTHER CHOICES, global APW/LAPW)
0 -1.16 0.010 CONT0
0 0.30 0.000 CONT0
1 0.30 0.000 CONT0
K-VECTORS FROM UNIT:4 -9.0 2.0 24 emin/emax/nband
2. つづけて、lapw1を実行し、case.vectorファイルを生成します。スピン分極、complex計算時は適宜オプションを追加してください。
$ x lapw1
3. lapw7用入力ファイル case.in7 を作成します。
テンプレートは用意されておりませんので、テキストエディタ等で直接作成する必要があります。作成したファイルは、case.in7として保存してください。(※再利用する場合、$WIENROOT/SRC_templatesへコピーしておくと便利です)
(2D用入力データサンプル)2D ORTHO0 0 0 23 0 0 20 0 3 276 76 25 25NORE ANG LARGE1 0
(1D用入力データサンプル)1D ORTHO0 0 0 24 4 0 2101 25NOIM ANG LARGE1 0
(case.in7の設定内容)次元(0D/1D/2D/3D) 平面を直角(ORTHOGONAL)/非直角(NON-ORTHOGONALまたは空白)平面の原点座標(X0 Y0 Z0 分母)平面のX端(X1 Y1 Z1 分母)平面のY端(X2 Y2 Z2 分母)※1Dでは不要グリッド数(X方向 Y方向 X増分 Y増分)※1DではY成分不要ポスト処理(NO/DEP)出力スイッチ(※1 下記参照) 単位(ANG/AU) 相対論項(LARGE/SMALL)波動ベクトル(case.klist参照) バンド指数 ※どちらも0とすると全ての値を採用
※1 波動関数の出力スイッチ"RE " リアルパート"IM " イマジナリパート"ABS" 絶対値"ARG" 複素平面の偏角"PSI" 複素数
4. つづいて、lapw7を実行します。
$ x lapw7
正常に動作すれば、case.psinkファイル(テキストデータ)が生成されます。
5. gnuplot用データフォーマット変換プログラムを実行します。
手順 0. でビルドしたプログラムを使用し、case.psinkをgnuplot用の形式へ変換します。
1次元データの場合
$ w1gpl < case.psink > case.gpl
2次元データの場合
$ w2gpl < case.psink > case.gpl
6. gnuplot を用いて可視化します。
$ gnuplot case.gpl
実行後、画像ファイル psi.ps が生成されます。
以下は、fcc-TiN(a=4.235)を対象に上記入力ファイル(case.in7)を用いて描画したサンプルです。
psi-2d.pngpsi-1d.png
(2009/1/9)
Q5: CIF(Crystallographic Information File)形式のファイルを取り込めますか?
はい、可能です。w2web上で新規セッションを開始し、structgenを実行すると、 WIEN2k標準テンプレートを使用するか、cif形式またはxyzを使用するか尋ねられます。ここで、cifファイルをアップロードし、structファイルへ変換することができます。
f10-01.png
w2webからのインポートに失敗する場合、コマンドラインからcif2struct の直接実行をお試しください。読み込みに失敗した行の情報が出力されるので、これを修正することで問題を回避することができます。
(2009/6/26)
Q6: Local DOSを足し合わせてもTotal DOSにならないのですが、理由は何でしょう?
格子間領域(interstital region)のLocal DOSを足し合わせてみてください。TETRA用入力ファイルcase.intにおいて、原子番号を指定するところで、原子数+1の値を指定ください。原子数が2の場合は3、8の場合は9のように。 例えば、TiCの場合(セル内に2原子)、次のように指定します。
$ cat TiC.int
Title
-0.50 0.002 1.500 0.003 EMIN, DE, EMAX, Gauss-broadening(>de)
4 NUMBER OF DOS-CASES specified below
0 1 total atom, case=column in qtl-header, label
1 1 Ti tot
2 1 C tot
3 1 interstitial
(2009/10/1)
Q7: フェルミ面を可視化することができますか?
はい、XCrySDenを利用することで容易に行えます。
操作方法は、次の通りです。
まず、XCrySDenを起動し、FileメニューからOpen WIEN2k... -> Fermi Surfaceを選択します。
xc-fermisurf-01.png
ダイアログが表示されるので、WIEN2kのセッションディレクトリを指定します。
xc-fermisurf-02.png
以下のような、WIEN2k制御用ダイアログが表示されます。k-meshを増やす場合は、Number of k-points:の値を増やし、Generate k-meshをクリックしk-meshを更新してください。続けて、Calculate Eigenvalues [x lapw1]ボタン、Calculate Fermi energy [x lapw2 -fermi]ボタンとクリックします。計算がエラーなく終了すれば、Render Fermi Surfaceボタンをクリックします。
xc-fermisurf-03.png
Fermi Energyを指定するダイアログが表示されるので、値を確認し、OKボタンをクリックします。
xc-fermisurf-05.png
新たに3つのウィンドウが表示されます(Band widths, BARGraph, Select bands)。Select bandsにおいて、フェルミレベルに状態を持つバンドのチェックボックスを有効にし、Selectedボタンをクリックします。
xc-fermisurf-06.png
xc-fermisurf-07.png
xc-fermisurf-08.png
新しいウィンドウが開かれ、フェルミ面が表示されます。
xc-fermisurf-09.png
(2010/08/02)