フリーウェアArtemisと FEFF(Ver.6) を利用したカーブフィッティング (ZnO 結晶の解析 ) ( 財 ) 高輝度光科学研究センター 本間徹生
EXAFS 解析の流れ EXAFSデータの処理 Background Baselineの決定 χ(k) の抽出 FT-XAFSの計算 構造モデルの作成 解析者 原子座標 配位数と距離 Athena XAFS スペクトルの理論計算 χ(k) または FT-XAFS Artemis モデルフィッティング 構造パラメーターの最適化 FEFF モデルの妥当性の判断
EXAFS の基本式 2 N jfj ( k)exp( 2k σ j ) χ ( 0 2 j + j kr 2 Σk ) j = : S 散乱原子に対して足し合わせる sin(2kr φ ( k)) j 2 j EXAFS 振動の大きさ ( 振幅 ) EXAFS 振動の周期 解析により求めるパラメーター N j, r j, σ j 元素種 E 0 (kの原点) 解析ソフトにより理論計算されるパラメーター S 0 2, F j (k), φ j (k)
モデルフィッティング モデルフィッティング 原子座標モデルを作成 XAFS スペクトルを理論計算 O Cu FT 6 4 2 0 Cu-O Cu-Cu Cu-O Cu 2 O im(ft) obs FT obs FT fit Cu O -2-4 0 1 2 3 4 5 6 Cu 2 O の原子座標モデル R (A) Cu 2 O の FT-XAFS スペクトル
Artemis の起動 Artemis の起動 ショートカットから スタートメニューからスタート -Iffefit -Artemis
Athena プロジェクトファイル (.prj) の読込 1. Athena で解析したファイルを開く Ctrl-o または File - Open file(s) 2. データを選択 ZnO_Si311_50ms.txt が選択されていることを確認 ZnO_Si311_50ms.prj を開く Import these files ボタンを押す
k k-range: 3 14.5 A -1 dk: 1 A -1 k-window: Hanning 3 を選択 Window チェックボックスを ON R
FEFF による理論計算 メニューから Theory -New Atoms page を選択 Blank page を押す
結晶学データの入力 (Atoms) 1 空間群を入力 P63mc (186) 2 格子定数を入力 a = 3.2501 Å b = 3.2501 Å c = 5.2071 Å α = 90 β = 90 γ = 120 3edge を選択 (K) 4 原子座標を入力 Define で決定 New で次の原子を入力 Zn: 1/3, 2/3, 0 O: 1/3, 2/3, 0.3917 6 入力が終わったら Run Atoms を押す コメント Atoms: FEFF.inp を作成するプログラム 5 中心原子を選択 クラスターの半径 /A Shift vector: 原点の取り方によっては, 修正することも 入力済みの原子座標
FEFF 計算 FEFF.inp の内容 ( 場合によっては 手動で編集することもあり ) そのまま Run Feff ボタンを押す The first 10 ボタンを押す
Interpretation (Path 一覧 ) Reff: パス長の 1/2 Single scattering の場合は配位距離に等しい Amplitude: 相対強度 (Path 1 の強度 =100) Path 1 10 まで取り込まれた Scattering Path: 散乱経路 Degeneracy: 等価な原子の数 [+] = 中心原子オレンジ色 =single scattering
Path のイメージ 2 N jfj ( k)exp( 2k σ j ) χ ( 0 2 j + j kr 2 Σk ) j = : S 散乱原子に対して足し合わせる sin(2kr φ ( k)) j 2 j EXAFS 振動の大きさ ( 振幅 ) EXAFS 振動の周期
各 path の設定 (path 1) チェック ON: フィッティングに含める Path 1 をクリック S02 (S 02 ) = amp N (N) = 3 dele0 (ΔE 0 ) = enot delr (r r eff ) = delr sigma^2 (σ 2 ) = ss 2 N ( )exp( 2 ) ( ) 2 jfj k k σ j χ k = S0 sin(2kr ( k)) 2 j + φ j j kr k = 2 [ 2m( E E0) h ] 1/ 2 j 2
フィッティングパラメータ デフォルトでは amp enot delr ss の 4 つの guess パラメータが設定される パラメータの定義を変更, または新たに定義する場合に使用 Guess, Def, Set をクリック guess: 独立なパラメータ def: 他のパラメータに依存するパラメータ数式で定義フィッティング段階毎に更新 set: 定数 ( 数式でも定義可だが, フィッティング初期に計算後は更新されない )
Path の選択 Path の選択第一配位圏の解析 第一配位圏に対応するのは Path-1, 2 Path 1 Path 2
Path の選択 Path の選択第二配位圏の解析 第二配位圏に対応するのは Path 3-12? Path 4 Path 5 Path 3 Path 7 Path 6
Path の選択 Path の選択第二配位圏の解析 第二配位圏に対応するのは Path 3-12? Path 9 Path 10 Path 12 Path 11 Path 8
Path の選択 Path の選択第二配位圏の解析 第二配位圏に対応するのは Path 4, 5 Path 4 Path 5 Path 1 Path 2
カーブフィッティング 1 モデル 1 第一配位圏のみ考慮 第一配位圏に対応するのは Path-1, 2 ZnO_Si311_50ms.txt をクリック R-range: 1 1.9 A dr: 0.2 A R-window: Hanning Fit k-weight: kw=3 Fitting space: R
フィッティングに含める Path を設定方法 1 オーソドックスな方法 2Include in the fit チェックボックスをオフ 1Path 3[Zn1_1] をクリック 3Path 4 以降について 1 2 を繰り返す ちょっと面倒
フィッティングに含める Path を設定方法 2 裏技? 1Path 2[Zn1_1] を右クリック 2 メニューから Paths -include paths for fitting -exclude all paths after current を選択 こっちのほうが簡単!
フィッティング開始 1 Fit ボタンを押す コメントを書いておくと後で思い出すときに便利 2 Run fit ボタンを押す
フィッティング終了 青 : 実測データ赤 : 理論曲線 別ウィンドウが開きフィッティング結果の詳細が表示
Results Project title : Fitting ZnO_Si311_50ms_txt.chi Comment : Path 1,2 Prepared by : Contact : Started : 13:51:23 on 13 January, 2009 This fit at : 13:54:31 on 13 January, 2009 Environment : Artemis 0.8.013 using Windows XP, perl 5.008008, Tk 804.027, and Ifeffit 1.2.11c Data sets : "ZnO_Si311_50ms.txt" Fit label : fit 1 Figure of merit : 1 ============================================================ R-factor Independent points = 6.261718750 Number of variables = 4.000000000 Chi-square = 88.895897907 Reduced Chi-square = 39.304576622 R-factor = 0.002323605 Measurement uncertainty (k) = 0.000145359 Measurement uncertainty (R) = 0.056894803 Number of data sets = 1.000000000 R-factor 2 [ Im( χdata ( Ri ) χtheory ( Ri ))] + Re χdata ( Ri ) χtheory ( Ri ) 2 [ Im( χ ( R ))] + [ Re( χ ( R ))] [ ( )] R = 2 i data i data i 2 N = 2ΔkΔR Guess parameters +/- uncertainties (initial guess): amp = 0.9618950 +/- 0.0566880 (1.0000) enot = 5.8923640 +/- 0.8191910 (0.0000) delr = -0.0024410 +/- 0.0042550 (0.0000) ss = 0.0036920 +/- 0.0004910 (0.0030) π フィッティングにより求まった Guess パラメータ ( 括弧内 : 初期値 ) Correlations between variables: enot and delr --> 0.8265 amp and ss --> 0.8258 All other correlations are below 0.25 パラメータ間の相関 (>0.25 以上 ) モデルが妥当であるかどうかの目安 amp (S 02 ): 0.70-1.10 enot (ΔE): < 10 ev ss (σ 2 ) : 0.003-0.020 Å 2
===== Data set >>ZnO_Si311_50ms.txt<< ======================================== file: C: Documents and Settings Hiroshi Oji (work) Application Data horae stash artemis.project.2 chi_data ZnO_Si311_50ms_txt.chi title lines: 0 k-range = 3.000-14.500 dk = 1.000 k-window = hanning k-weight = 3 R-range = 1.000-1.900 dr = 0.200 R-window = hanning fitting space = R background function = none phase correction = none R-factor for this data set = 0.00234 fitting の条件 R-factor ===== Paths used to fit ZnO_Si311_50ms.txt FEFF0: Path 1: [O1_1].. feff = C: Documents and Settings Hiroshi Oji (work) Application Data horae stash artemis.project.2 data0.feff2 feff0001.dat id = reff= 1.9593, nlegs= 2, path= Zn<->O label = r = 1.956848 Path 1 degen = 3.000000 s02 = 0.961897 e0 = 5.944866 dr = -0.002452 ss2 = 0.003675 3rd = 0.000000 4th = 0.000000 ei = 0.000000 FEFF0: Path 2: [O1_3].. feff = C: Documents and Settings Hiroshi Oji (work) Application Data horae stash artemis.project.2 data0.feff2 feff0002.dat id = reff= 2.0396, nlegs= 2, path= Zn<->O label = r = 2.037148 Path 2 degen = 1.000000 s02 = 0.961897 e0 = 5.944866 dr = -0.002452 ss2 = 0.003675 3rd = 0.000000 4th = 0.000000 ei = 0.000000
カーブフィッティング 2 モデル 2 第 2 配位圏まで考慮 Path 1,2,4,5 までフィッティングに含める ZnO_Si311_50ms.txt をクリック R-range: 1 3.2 Å に変更
フィッティングに含める Path を設定方法 3 1 Path 4-5 を選択し, 右クリック Path 4-5 がフィッティング対象に追加された 2 Path -include paths for fitting - Include selected paths を選ぶ
モデル 1 vs. モデル 2 モデル 1 R = 0.0023 モデル 2 R = 0.0634 第一配位圏の一致が悪化 amp = 1.38 少し大きい ss = 0.011 Å 2 モデル 1 より大きい
カーブフィッティング 3 モデル 3 より現実的なモデルを考える 1New ボタンを押す 2alpha = 0 と入力 これまで r = reff + delr すべてのパスが同じ距離 (delr) だけ変化 新しいモデル r = (1 + alpha) * reff = reff + alpha * reff = reff + delr 3Guess を選択 4delr を選択 5delr = alpha*reff と入力 格子が等方的に膨張 ( 圧縮 ) 6Def を選択
モデル 2 vs. モデル 3 モデル 2 R = 0.0634 モデル 3 R = 0.0638 残念ながら, 殆ど変化なし
カーブフィッティング 4 モデル 4 Path 1, 2 の ss を独立にする 1Path 1 をクリック 4Guess, Def, Set をクリック 2ss を ss_1 に変更 3Path 2 も同様に ss を ss_1 に変更する 7guess を選択 6ss_1 = 0.003 と入力 5New ボタンを押す
モデル 3 vs. モデル 4 モデル 3 R = 0.0638 モデル 4 R = 0.033 第 1 配位圏の一致がかなり向上 amp, ss も改善
各 path の寄与を表示させる 1 表示させたいデータを選択 (cntl キーを押しながらクリック ) 2k, R, q いずれかのボタンを押す
フィッティング結果の表示 1 1Fit をクリック 2 結果を見たい fit を右クリック (raw log file ならダブルクリックでも OK) 3 表示形式を選択 raw log file column view quick view
1 見たい fit を選択 フィッティング結果の表示 2 レポート作成機能 選択したパラメータに関するレポートが作成される パラメータがグラフ表示される 2 見たい parameter を選択
データの保存 File メニューから Artemis プロジェクトファイルの保存 測定データの保存 フィット曲線の保存 残差の保存 すべての path データの保存
Artemis のまとめ FEFF によるモデル計算とフィッティング パラメータは出来るだけ少なくする! 解析する Shell ごとに主要な Path を選択する 現実的なモデルを仮定格子が等方的に膨張 ( 圧縮 ) すると仮定 r = (1 + alpha) * reff = reff + alpha * reff = reff + delr Shell ごとの ss を独立にする
マニュアル 参考情報 Html 版マニュアル http://cars9.uchicago.edu/~ravel/software/doc/artemis/artemis.html 各種参考情報 http://xafs.org/tutorials 特に Shelly D. Kelly 氏 (Argonne Natl. Lab.) の Athena と Artemis に関する tutorial http://xafs.org/tutorials?action=attachfile&do=get&target=basics_of_xafs_to_chi.pdf http://xafs.org/tutorials?action=attachfile&do=get&target=basics_of_xafs_analysis.pdf Iffefit のメーリングリスト (Iffefit, Athena, Artemis の開発者から回答してもらえる ) http://millenia.cars.aps.anl.gov/mailman/listinfo/ifeffit/ メーリングリストのアーカイブ ( 過去に同様な質問がされていないかどうか確認しておく ) http://millenia.cars.aps.anl.gov/pipermail/ifeffit/