PDFguiの使い方(簡易マニュアル)

 樹神さんのマニュアルを移植。

PDFguiを使用して論文発表等をする場合には、以下の論文を引用することになっています。
C. L. Farrow, P. Juhás, J. W. Liu, D. Bryndin, E. S. Božin, J. Bloch, Th. Proffen and S. J. L. Billinge, PDFfit2 and PDFgui : computer programs for studying nanostructure in crystals, J. Phys.: Condens. Matter, 19, 335219 (2007)

インストール(インストーラから)

 LANSCEグループの プログラムダウンロードページ から、diffpy-1.0-r3067.exe (←最新版)をダウンロード。これを実行することによって、フォルダ

C:\DiffPy

内に必要なファイルがインストールされる。またデスクトップ上にPDFguiのショートカットが作成される。

Linux、Mac、Unixの場合には、diffpy-1.0-r3067.tgzをダウンロード。

Python上で

easy_install diffpy.pdfgui

とコマンド入力してインストール。詳細は以下のページを参照してください。

 PDFgui user guide

構造モデルおよび測定データの入力

 tutorial としてNiのPDFを取り上げる。

 ショートカットPDFguiをダブルクリックしてプログラムを立ち上げる。

 Menu Barの「Fits」をクリックして、「New Fit」を選択。

構造モデルの入力

 Menu Barの「Phases」をクリックして、「New Phase」を選択。

 すでに構造モデルファイル“.stru”が存在する場合には、「Load a structure from file」の「Open」をクリックし、

C:\DiffPy\Python25\Lib\site-packages\diffpy.pdfgui-1.0_r3067_20090410-py2.5.egg\doc\tutorial

 フォルダ中からNi.struを選択(図1の状態になる)。

 新しく入力する場合には、  「Create a structure from scratch」の「New」をクリック。  「Phase Configure」パネルが図1の状態になるように各パラメータを入力。

_images/image001.jpg

図 1 :Niの構造モデルの入力が完了

 PDFguiでは、ユニットセル中にあるすべての原子を入力する必要がある。空間群を利用することによって、結晶学的に等価なサイトを一度に入力できる。

  1. 「elem」を右クリックして、「Inset atoms」を選択。「OK」をクリック。

  2. 1のelemをNiに変更。

  3. Niを右クリック。「Expand space group…」を選択。

  4. 「Space Group」で 「Fm-3m」を選択。「Origin Offset」は「0.0 0.0 0.0」のまま。

  5. OKをクリックすると、4つの等価なNiサイトが入力される(図1の状態に)。

構造モデル中の各パラメータの意味(2段目のブロック)

Scale Factor

複数の相が存在する場合、その相についてスケールを合わせる。1相で解析する場合には測定データのScale Factorと同じなので1.0で固定する。

delta1, delta2

ピーク幅を決定する。詳細はQbroadのところで。

spdiameter

粒子の直径。粒子サイズによる強度の減衰を取り入れた解析に用いる。バルク物質で強度の減衰を無視する場合にはゼロを入力。

sratio, rcut

デフォルトではそれぞれ1.0, 0.0を入力。rcut以下のrにあるピークの幅をsratioだけシャープにする(Qbroadを参照)。

stepcut

このrの値より先のG(r)をゼロにする。0.0を入力すると機能しない。

測定データの入力

  1. Menu Barの「Data」をクリックして、「New Data Set」を選択。

  2. 「Load a structure from file」の「Open」をクリックし、

C:\DiffPy\Python25\Lib\site-packages\diffpy.pdfgui-1.0_r3067_20090410-py2.5.egg\doc\tutorial

 フォルダ中からNi-neutron.grを選択(図2の状態になる。ただし図2ではNi-xray.grを使用しているので、いくつか異なる点があることに注意)。

各パラメータの意味

Data Range

入力されたデータのr範囲。自動入力。

Fit Range

フィットを行うr範囲

Scale Factor

フィットの際にスケールを調整(理想的には1.0だが、、、)。

Qmax

G(r)の導出に行うフーリエ変換のQの最大値。振動成分の周期を決める。PDFgetNで得られたG(r)では自動入力。

Qdamp

Q分解能によるPDF強度の減衰を表わすGaussianの係数。exp[-(r Qdamp)2/2]

Qbroad

ピーク幅を決めるパラメータ。ピーク幅は以下の式で与えられる。
eq-qbroad
phi for r<rcut, =1.0 for r>=rcut
σ’:温度因子から計算される幅。
δ1, δ1:delta1, delta2。

Temperature, Doping

入力ファイルに記載されている場合に読み込まれる。解析の際には特に使用しない。

_images/image005.jpg

図 2 :NiのPDF(測定データ)の読み込みが完了

データ解析

フィッティングパラメータの設定

構造モデルおよび測定データ(PDF)の「Constraints」パネルでrefineするパラメータを設定する。

測定データのパラメータの設定

refineするパラメータを@1, @2...で指定。ここではScale FactorとQdampをrefineする(図3)。

_images/image007.jpg

図 3 :測定データのrefineするパラメータを指定

構造モデルのパラメータの設定

格子定数と温度因子をrefine。温度因子は等方的とする(図4)。

_images/image009.jpg

図 4 :構造モデルのrefineするパラメータを指定

フィッティングの開始

 「Fit 1」をクリックすると、refineするパラメータとその初期値が表示される。

 このパネルで初期値の入力やパラメータのrefine⇔fixの設定が可能(図5)。

 「Tool Bar」の「Start a fit or calculation」(図5を参照)をクリックすると、フィッティングを開始する。

 エラーメッセージが出たり、R-因子が小さくならない場合は、初期値を変えたり、refineするパラメータの数を減らしてみる。

_images/image013.jpg

図 5 :フィッティングパラメータの初期値およびrefineの有無を設定。

解析結果の確認

 フィッティングが終了すると、refineされたパラメータの値が「Refined」に表示される。

 「PDFfit2 Output」にR-因子の値が表示(図6)。

 「Results」をクリックすると詳しい解析結果が表示される。

_images/image016.jpg

図 6 :フィッティング終了後の画面。

フィッティング結果のグラフ表示

 「Ni-neutron.gr」をクリック。

 「Plot Control」でx軸にr、 y軸にGcal、Gobdを選択。

 Ctrlキーを押しながらクリックするとプロットするデータを複数選択できる。

 「Plot」をクリックすると結果をグラフで表示(図7)。

結果をテキストファイルに保存する場合

 図7赤丸で示した「Export plot data」をクリックすると、rとGobs、rとGcalの列がテキストファイルとして保存される。

_images/image019.jpg

図 7 :解析結果をグラフで表示。

NOVAで得られたアルミナ(Al2O3)データのPDF解析

 Niの原子位置はすべて特殊位置なので、原子位置のrefinementをしていない。そこで原子位置をrefineする例としてアルミナのデータ解析を取り上げる。

構造モデルの入力

 Al2O3は空間群R-3c (No. 167) HEXAGONAL AXES、格子定数:a=4.75909, c=12.9918Å, γ=120°、原子位置は、Al:12c (0, 0, 0.3523) O:18e (0.30632, 0, 1/4)

_images/image021.jpg

図 8 :フィッティング終了後の画面。

原子位置の入力

 まず「Insert atoms」でAlをひとつ入力。座標は(0, 0, 0.3523)。

 「Expand space group」でH-3cを選択。Alの結晶学的に等価な12サイトの座標が入力される

 12番目のAlを右クリックで「Insert atoms」。O:(0.30632, 0, 1/4)を入力。

 Alと同様に「Expand space group」でH-3cを選択。Oの結晶学的に等価な18サイトの座標が入力される。

_images/image024.jpg

図 9 :フィッティング終了後の画面。

 入力された原子位置は、例えばAlの場合、(0, 0, z), (0, 0, -z+1/2), (0, 0, -z), (0, 0, z+1/2)、次に左の4つの座標に+(2/3, 1/3, 1/3)足したもの、次に+(1/3, 2/3, 2/3)を足したものの順に表示される(図9のInternational Tableを参照)。

測定データの入力

Al2O3.grを読み込む

r<1.0に大きな振動成分があるので「Fit Range」は1.0~20Åに設定。

フィッティングパラメータの設定

 Niのときと同様に、Scale Factor等を@1, @2….でフィッティングパラメータに設定する。

 ここでは原子位置のフィッティングパラメータの設定について説明。

 図9のInternational Tableに示すように、Alの場合にはz位置、Oの場合にはx, y位置がフィッティングパラメータとなる。これを入力したすべての原子に対して設定する必要がある。

 例えば1番目のAlについて、z位置を@8として設定した場合、2番目のAlは1つめの位置(0, 0, z)に対して(0, 0, -z+1/2)の位置にあるので、z位置の設定は -@8+1/2となる。

 5番目のAlは1つめの位置 (0, 0, z)に対して+(2/3, 1/3, 1/3)の位置にあるので、z位置の設定は @8+1/3となる。

 1番目のOについて、x位置を@9として設定した場合、2番目のAlは1つめの位置(x, 0, 1/4)に対して(0, x, 1/4)の位置にあるので、 y位置の設定は @9+1/4となる。

 7番目のAlは1つめの位置 (x, 0, 1/4)に対して+(2/3, 1/3, 1/3)の位置にあるので、x位置の設定は @9+2/3となる。

 すべてのAlおよびOについて、次ページのように設定することになる。

Elem                  x                           y                           z
Al                                                                            @8
Al                                                                            0.5-@8
Al                                                                            1-@8
Al                                                                            0.5+@8
Al                                                                            @8+0.333333
Al                                                                            0.5-@8+0.333333
Al                                                                            1-@8+0.3333333
Al                                                                            0.5+@8+0.333333
Al                                                                            @8+0.666667
Al                                                                            0.5-@8+0.666667
Al                                                                            -@8+0.666667
Al                                                                            0.5+@8+0.666667
O                     @9
O                                                 @9
O                     -@9                         -@9
O                     -@9
O                                                 -@9
O                     @9                          @9
O                     @9+0.666667
O                                                 @9+0.333333
O                     -@9+0.666667                -@9+0.333333
O                     -@9+0.666667
O                                                 -@9+0.333333
O                     @9+0.666667                 @9+0.333333
O                     @9+0.333333
O                                                 @9+0.666667
O                     -@9+0.333333                -@9+0.666667
O                     -@9+0.333333
O                                                 -@9+0.666667
O                     @9+0.333333                 @9+0.666667