![]() |
| サイトマップ | |
|
観測された回折パターンから、近似的な初期 (starting) 構造を参照しながら結晶構造を計算する方法について説明します。この「精密化」プロセス(純粋な「構造解」ではありません)は、オランダの結晶学者フーゴ・リートフェルト (Hugo Rietveld) によって初めて普及されたため、彼の名前が付けられています。
このプログラムは、X 線および中性子の定波長回折データと、飛行時間(TOF)中性子回折データを扱うために開発されました。現在、2つの TOF プロファイルに加えて、3つの定波長プロファイルが利用可能です。
内部で使用される偏導関数はすべて解析的に計算されます。
CrystalDiffract は可能な限り迅速かつ手軽に使用できるようになっていますが、完全な「ブラックボックス」ではありません。構造精密化の準備をする際には、必要なデータ(観測プロファイルと初期構造)が揃っていることを確認し、精密化を適切に設定する必要があります。
多相の精密化では:
![]() |
![]() |
![]() |
CrystalDiffract には、すぐに使い始められるように設計された自動精密化機能が用意されています。その後に、手動による一連の精密化サイクルで補完できます。
自動精密化は、まず、スケール因子とフラットなバックグラウンドから始まり、その後、ゼロシフト、ユニットセルパラメータなどの精密化と構造化された方法で進行します。
自動精密化を行った後、手動による一連の手順で精密化を改善することができます。例:
プロファイルのパラメータが無効な場合 (つまり、フィッティング範囲内の FWHM が負の場合)、Auto Refine ボタンと Refine ボタンは無効になります。
これは、プログラムが無効なプロファイルパラメータを検出したため、回折ピークをプロットできないためです。プロファイルパラメータを適切に調整すると、計算されたパターンが再び表示されるはずです。
TOF プロファイルは、Diffraction メニューで明示的に飛行時間中性子 (time-of-flight neutrons) を選択した場合にのみ使用できます。
CrystalDiffract の精密化プログラムは、疑わしいパラメータ値をはじめ、負の全幅半値幅 (FWHM) や「非数」(NaN)/無限大の問題に至るまで、多数の潜在的な問題に対処できる必要があります。
これは一般に、あまりにも多くのパラメーターが一度に導入されたことを示しています。サイクル中に変更されていないパラメーターを確認してください。
最小二乗サイクルの終わりに、パラメーターの不確実性の推定値を計算するために、減衰項がゼロに設定された最終的な反復が実行されます。 1つ以上のパラメーターが正常に精密化されていない場合、マトリックスが反転するのを防ぐピボット列に小さな値があります。
Refinement インスペクターは、セグメント化された上部の Control と Results ボタンで指定できるように、Rietveld 精密化に関するすべてのコントロールと得られる結果をあらわす包括的な場所としての役割を果たします。
![]() |
![]() |
インスペクターの上部には、ピークプロファイルとフィッティング範囲に関するコントロールがあります。その下には、精密化パラメータの読み込みまたはクリア、および、パラメータリストの展開/折りたたみを行うためのボタンストリップがあります。2つ目のボタンストリップでは、自動精密化の開始、または、手動によるサイクルの実行が可能です。個々の精密化サイクルを管理するために、Undo と Redo ボタンが用意されています。
ボタンストリップの下には、利用可能なすべてのパラメータのリストが一覧で表示されます。チェックマークが付いているパラメータは、次回の精密化サイクル実行時に使用されます。行をダブルクリックすると、展開または折りたたみできます。行を Option キーを押しながらクリックすると、行を展開または縮小するオプションを含むコンテキストメニューが表示されます。
ボタンストリップを使用すると、構造パラメータのリストを展開/折りたたんだり、パラメータを CSV ファイルへエクスポートすることができます。2つ目のボタンを使用すると、カイ二乗プロット(適合度指標付き)と相関行列ウィンドウを表示できます。
精密化されたすべてのパラメータは階層化されたテーブルに表示されます。(複数の相を精密化する場合、パラメータは相ごとにグループ化され、各相の重量分率も表示されます。)
パラメータは精密化された値の隣に表示されます。括弧内に表示されているのは誤差です。
最後の精密化サイクル中にパラメータが制限に達した場合、小さな黄色の警告三角形が計算値の右側に表示されます。
精密化可能なパラメータを読み込むと、それらはパラメータリストに表示されます。これらのパラメータは階層構造のグループに分かれており、それぞれの展開三角形を使って展開できます。各パラメータには「含める」チェックボックスがあり、オン/オフを切り替えることができます。
精密化される各フェーズには、それぞれ固有のスケール因子があります。
![]() |
チェビシェフ多項式の係数(詳細については「Background」セクションを参照)。
このグループには、波長(一定波長実験用)などの装置パラメータが含まれます。波長は設定可能ですが、調整はできません。また、ゼロシフトとピークプロファイルパラメータも含まれます。
![]() |
X 線データを扱う場合、単一波長 (single-) か二波長 (dual-wavelength) の放射線を指定できます(このオプションは Wavelength Actions ポップオーバーで設定します)。二波長モードに切り替える場合は、テキストフィールドを使用して2番目の波長と強度比(例:I1/I2)を入力する必要があります。この強度比(他のプログラムでは同様の比率の逆数となります)は調整可能です。
このグループには、精密化の対象となる結晶の単位格子パラメータが含まれます(相ごとにグループ化)。結晶系によっては、一部のパラメータは固定されているか、他のパラメータに依存しており、直接精密化できない場合があります。例えば、立方晶系では、a のみが精密化可能です。a の値を編集すると、テーブル内の b と c が自動的に更新されます。
![]() |
![]() |
構造内のすべてのサイトがアルファベット順に、その分率座標とともにリストされます (対称性の制約により、一部の座標は無効になっています)。
別の座標にリンクされているサイト座標は(マスターパラメータ)、暗黙的に調整されます。パラメータを追加すると、リンクされているパラメータやマスターパラメータも自動的に追加されます。マスターパラメータの値を調整すると、リンクされているパラメータの値も更新されます。
![]() |
各サイトの変位パラメータが表示されます。デフォルトでは、最初に精密化するのが最も容易(かつ安全)な等方性パラメータが使用されます。非常に高品質なデータを扱う場合は、個別に選択したサイトについて異方性変位因子を求めることもできます。
![]() |
精密化を容易にするために、複数のサイトが同じ等方性変位パラメータ (Uiso) を共有するように制約することができます。
複数のサイトが同じ Uiso を使用するよう制約するには:
![]() |
![]() |
(この制約を解除するには、関連するサイトを再度選択し、“Constrain” チェックボックスをオフにします。)
![]() |
![]() |
CrystalDiffract では、個々のサイトの化学的占有率を精密化できます。このメカニズムは、占有するサイトの数によって異なります。
つまり、最後の1つの占有率の変化は、他のすべてのパラメータの変化の合計から差し引いた値になります。これにより、サイト全体の占有率は1になりますが、N 番目の占有率は負になる可能性があります。サイト上に2つ以上の占有率がある場合は、結果が物理量であるか確認してください。
CrystalDiffract には、バックグラウンド処理に2つのオプションが用意されています。精密化を開始する前にバックグラウンドを除去する方法と、精密化ストラテジーの一部としてバックグラウンドフィッティングを組み込む方法です。
観測されたパターンを選択状態にし、Simulate インスペクタの Background グループにあるコントロールを使用すると、精密化を開始する前にバックグラウンドを削除できます。
このプログラムはチェビシェフ多項式を用いてバックグラウンドの当てはめをおこないます。自動精密化モードでは、精密化の進行に応じて Background の各項が順次追加されます。
![]() |
CrystalDiffract のデフォルトは、読み込んだ観測パターンの x 軸範囲全体を使用するよう設定されています。Setup ポップオーバーで以下のいずれかを選択できます。
又は、
Setup ポップオーバーの Observed ボタンをクリックすると、範囲指定をリセットできます。
![]() |
観測パターンに不要なピークがあれば、精密化を開始する前にそれを削除する必要があります。
![]() |
精密化可能なパラメータには Actions ボタン(3つの点が描かれた円)があります。これをクリックすると、そのパラメータに固有の追加オプションを選択できるポップオーバーが開きます。
![]() |
Range を有効にすると、指定した範囲内にパラメータ値が収まるように微調整されます。計算されたパラメータのシフト値が許容範囲外になった場合はスケールダウンされます。
一部のセンシティブなパラメータには、無効な値が入力されて NaN/Infinity 問題が発生するのを防ぐために調整や無効化ができない範囲があります。
減衰 (Damping) はパラメータシフトをスケールダウンするために使用します。これにより振動的な挙動を回避し、精密化をより安定させることができます(ただし、反復回数がそれだけ多く必要になることがあります)。
カスタムオプションには、displacement (変位) パラメータの isotropic (等方性) と anisotropic (異方性) の変換、および、選択サイトに同じ制約を適用するオプションが含まれます。また、XRD モードでは monochromatic (単一波長) と dual wavelength (二波長) を切り替えるためのポップオーバーも用意されています。
CrystalDiffract には、サイクルの各種コントロールをカスタマイズできる、Rietveld (macOS Ventura では “settings”) ペインが用意されています。
![]() |
この精密化プログラムでは非線形減衰最小二乗法 (non-linear damped least squares) が使用されます。プログラムは内部的に減衰項を備えており、これによって降下率が調整されます。精密化が順調に進み、カイ二乗値が着実に減少している場合、減衰項が減少し収束が速くなります(ガウス・ニュートン法に近づきます)。一方、精密化がうまく進んでいない場合、減衰項が増加し、より急な降下になります(最急降下法に近づきます)。
Maximum iterations per cycle (1サイクルあたりの最大反復回数) は、カイ二乗値の減少速度に関わらず、精密化を強制的に終了させるハードストップです。精密化するパラメータの数が増えると、1サイクルあたりの反復回数を増やす必要があります。
Maximum iterations without decrease (減少を伴わない反復の最大回数) は、2つ目の救済条件です。カイ二乗値が一定回数連続して減少しない場合、サイクルは中止されます。
最後の基準 Minimum fractional decrease は、カイ二乗値の最小減少率です。この値が最小値を下回った場合、プログラムはサイクルが収束したとみなします。
Maximum iterations per cycle (1サイクルあたりの最大反復回数) を大きくし、Minimum fractional decrease (最小減少率) を小さくすると、反復回数は増えますが (遅くなります)、フィッティングは向上します。
一定波長 (constant-wavelength) プロファイルでは、Asymmetry Cutoff (非対称カットオフ) を指定できます。非対称を適用する最大角度をここに指定し、この角度を超えるピークは対称であるとみなされます。
カイ二乗プロットを参照すれば、フィッティングの質と精密化された全てのパラメータを確認できます。カイ二乗値は、各反復の最後にフィッティング範囲の重み付き残差二乗和から計算されます。
カイ二乗値は専用ウィンドウ(サイズ変更可能)に表示されます。カイ二乗プロット上の任意の場所をクリックするとカーソルが表示され、その値を測定できます。このウィンドウは、スクロールとズームのための標準的なマルチタッチジェスチャーをサポートしています。ツールバーには、ゼロライン、グリッド、凡例の表示オプションなど、グラフをカスタマイズするためのコマンドが用意されています。
![]() |
精密化サイクルの終了時に3つの当てはまりの品質の指標 (quality-of-fit metrics) が計算され、Results ペインの上部に表示されます。
合計はフィッティング範囲に含まれる n 個の点すべてにわたっており、wi は i 番目の観測点の重み、Yi,obs と Yi,calc は i 番目の点で計算された強度です。
ここで、p は精密化サイクルに含まれるパラメータ数を示します。
観察された i 番目の点の重み wi = 1 / Yi,obs。カウント数はポアソン分布に従うため、強度の誤差は観測されたカウント数の平方根であると仮定します。これは、カウント数がユーザーによって再スケーリングされていないことを前提としています。
色分けされた相関行列を別の「フローティング」ウィンドウに表示することもできます。相関行列は、グリッド状の数値からなり、その背景が色分けされています。グリッドの寸法は、精密化されたパラメーターの総数と一致します。
グリッドのセル上にマウスを移動すると、パラメーターの名称と相関値をあらわすカスタムツールチップが表示されます。
相関性の高いパラメーター対はオレンジ/赤で示されます。無相関のパラメーターは緑色で示され、負の相関性の高いパラメーターは濃い青で示されます。
このウィンドウのサイズは変更可能で、精密化の各サイクルの最後に更新が行われます。ウィンドウのサイズに対してパラメーター数が多くなりすぎると、ウィンドウのサイズは自動的に変更されます。
![]() |
CrystalDifFract は、 2θ に対する度を内部的に使用します。反射の 2θ 角は、ゼロシフトを含む以下の式を使用して計算します。これは内部使用のみです。Patterns リストに示されている精密化される結晶の反射位置は、すべてのゼロシフトが省略されます。
提供される最も単純な CW プロファイルは、非対称項 As で修正された Gaussian プロファイルです。これは、Rietveld によって説明されているプロファイルと同じプロファイルで、低解像度の中性子粉末回折データセットに適しています。
非対称項 As は、P をユーザーによる精密化が可能な非対称因子であるとして、以下のように定義されます:
K 番目の反射 HG,k の Gaussian FWHM は、Caglioti パラメーター U、V, W の関数です。CrystalDiffract のデフォルトは、V ≤ 0; U, W ≥ 0 の制約条件を使用するよう設定されています。これらのパラメーターは Gaussian FWHM がフィッティング範囲全体にわたって正の値になるように注意して選択する必要があります。
正規化されたローレンツ関数は次式であらわされます。ここで、HL,k は k 番目の反射の Lorentzian FWHM を示します。
Lorentzian FWHM である HL,k は、自由パラメーター X と Y で定義されています。CrystalDiffract のデフォルトでは、 X , Y ≥ 0 である必要があります。
Lorentzian プロファイルを5つ重ね合わせる非対称を導入するオプション (“Boole’s Rule”) があります。
より洗練されたプロファイル関数は、以下に示す Thomas-Cox-Hastings の疑似 Voigt 関数です。ここで、Gaussian と Lorentzian 関数は、Gaussian と Lorentzian の半値全幅から計算される Voigt FWHM である Hv を使用します。
Voigt FWHM である Hv は次式で定義されます。
混合係数 η は、Lorentzian と Voigt の FWHM から計算されます:
非対称のカットオフの角度より下に非対称性を導入するオプションがあります。これを達成するには、Boole’s Rule (5ポイントの Simpson’s Rule) を使用して非対称 Voigt プロファイルを近似します。このプロファイルは、5つの擬似 Voigt 関数の重ね合わせです。
ここで
および、P は非対称パラメータです。
CrystalDiffract は内部的にマイクロ秒を使用します。飛行時間 (TOF) と面間隔 d を関連づける方程式を以下に示します。パラメーター “dtt1” と “dtt2” は、GSAS の “DIFC” と “DIFA” にそれぞれ相当します。
最初のプロファイル関数を以下に定義します。ここで、N は正規化、Ti はマイクロ秒単位で観測されたポイントの飛行時間値、Tk は反射の飛行時間です。これは、GSAS I のマニュアルに定義されている TOF Profile 1 に似ています。
N, u, y, v, z の各項は次式で定義されます:
α, β, σ2 は次式で定義されます。ここで d は反射の面間隔 d を示します。
精密化できるパラメータは、dtt2, σ12, σ22 のみです。
2番目のプロファイル関数を以下に定義します。ここで、 E1 は指数積分を示し、N, u, v, y, z は TOF Profile 1 と同様に定義します。これは、GSAS I マニュアルの3番目のプロファイル関数と似ています。
η は混合因子で、FWHM の合計と Lorentzian 成分の関数として定義します(疑似 Voigt を参照)。p と q は次式で定義します:
最後に、 α, β, σ, γ を次式で定義します:
精密化できるのは、dtt2, σ12, σ22, γ1, γ2 パラメーターのみです。精密化を開始する前に、すべての装置パラメーターが正しく設定されていることを確認してください。プロファイルパラメーターが有効な開始値に設定されるまで計算されるパターンは表示されません。