更新日: 25/07/29

CrystalDiffract によるリートベルト精密化

観測された回折パターンから、近似的な初期 (starting) 構造を参照しながら結晶構造を計算する方法について説明します。この「精密化」プロセス(純粋な「構造解」ではありません)は、オランダの結晶学者フーゴ・リートフェルト (Hugo Rietveld) によって初めて普及されたため、彼の名前が付けられています。

  1. 概要
  2. 作業を開始する
  3. 精密化のストラテジー
  4. 精密化に役立つヒント
  5. トラブルシューティング
  6. インスペクターの概要
  7. パラメータの概要
  8. バックグラウンド
  9. 精密化の範囲指定
  10. ピークを除外する
  11. Actions ポップオーバー
  12. Rietveld Preferences
  13. カイ二乗プロット
  14. 相関行列
  15. 一定波長 (CW) プロファイル
  16. 飛行時間プロファイル

概要

このプログラムは、X 線および中性子の定波長回折データと、飛行時間(TOF)中性子回折データを扱うために開発されました。現在、2つの TOF プロファイルに加えて、3つの定波長プロファイルが利用可能です。

内部で使用される偏導関数はすべて解析的に計算されます。

機能

作業を開始する

CrystalDiffract は可能な限り迅速かつ手軽に使用できるようになっていますが、完全な「ブラックボックス」ではありません。構造精密化の準備をする際には、必要なデータ(観測プロファイルと初期構造)が揃っていることを確認し、精密化を適切に設定する必要があります。

セットアップ

  1. Diffraction メニューから正しい放射線タイプと x 軸が選択されていることを確認します。
  2. 単相の精密化では、Patterns リストから以下の2つのパターンを選択します:

多相の精密化では:

  1. Refine インスペクターを選択し、Controls タブが選択状態にあることを確認します。
1つの観測パターンと1つのシミュレーションパターンを使用したリートベルト精密化の準備。
  1. Setup ボタンをクリックし、ポップオーバーから希望するプロファイルタイプを選択します。また、最小および最大の回折限界を指定することもできます(プロファイルタイプは必要に応じて後から変更できます)。
Setup ポップオーバー
  1. Load Parameters ボタンをクリックします。プログラムによりパラメータの適切な初期値が推定されます。階層構造のテーブルに、精密化パラメータが表示されます。
  1. 精密化サイクルを開始する前に、プロファイルパラメータを適切な初期値に設定します。パラメータの値を調整するには、テキストをクリックしてハイライト表示し、新しい値を入力します。新しい値を入力するたびに Calculated パターン(表示されている場合)が自動的に更新されます。なお、一部のパラメータはグレー表示されており、調整できない点に注意してください。

自動精密化

手動による精密化サイクル

問題がありますか?“Unable to diffract the crystal” というエラーメッセージが表示される場合は、原子散乱因子に問題がある可能性があります。精密化を実行する前に、環境設定パネルで原子散乱因子を確認してください。お使いのコンピューターに以前のバージョンのプログラムがインストールされている場合は、工場出荷時のデフォルト設定にリセットする必要があるかもしれません。

精密化のストラテジー

CrystalDiffract には、すぐに使い始められるように設計された自動精密化機能が用意されています。その後に、手動による一連の精密化サイクルで補完できます。

自動精密化のストラテジー

自動精密化は、まず、スケール因子とフラットなバックグラウンドから始まり、その後、ゼロシフト、ユニットセルパラメータなどの精密化と構造化された方法で進行します。

  1. Scale, フラットなバックグラウンド B0
  2. Zero; Unit Cell
  3. さらなるバックグラウンド:B1, B2, B3
  4. Fractional coordinates (分率座標):複数のサイクルで精密化。最初に最も強い散乱体が精密化され、最も弱い散乱体が最後。
  5. プロファイルに関する各種パラメータ。
  6. 等方性変位パラメータ
  7. さらなるバックグラウンド: B4, B5, B6
  8. 非対称性項 (もしある場合)

次のステップは?

自動精密化を行った後、手動による一連の手順で精密化を改善することができます。例:

精密化に役立つヒント

トラブルシューティング

ボタンがグレーアウトで選択できないのはなぜですか?

プロファイルのパラメータが無効な場合 (つまり、フィッティング範囲内の FWHM が負の場合)、Auto Refine ボタンと Refine ボタンは無効になります。

なぜ、calculated パターンは消えてしまったのでしょうか?

これは、プログラムが無効なプロファイルパラメータを検出したため、回折ピークをプロットできないためです。プロファイルパラメータを適切に調整すると、計算されたパターンが再び表示されるはずです。

飛行時間プロファイルのオプションがないのはなぜですか?

TOF プロファイルは、Diffraction メニューで明示的に飛行時間中性子 (time-of-flight neutrons) を選択した場合にのみ使用できます。

パラメータが読み込まれなかったのはなぜですか?

  1. 精密化をおこなう範囲内に十分なデータポイントがありますか?
  2. CIF ファイルをロードした場合は、そのファイルが有効であること、および、構造が有効であることを確認します (たとえば、CrystalMaker で構造を視覚化するなど)。
  3. 観測された粉末回折パターンが有効であることを確認します。

よくあるエラーメッセージ

CrystalDiffract の精密化プログラムは、疑わしいパラメータ値をはじめ、負の全幅半値幅 (FWHM) や「非数」(NaN)/無限大の問題に至るまで、多数の潜在的な問題に対処できる必要があります。

Singular matrix

これは一般に、あまりにも多くのパラメーターが一度に導入されたことを示しています。サイクル中に変更されていないパラメーターを確認してください。

Unable to estimate uncertainties

最小二乗サイクルの終わりに、パラメーターの不確実性の推定値を計算するために、減衰項がゼロに設定された最終的な反復が実行されます。 1つ以上のパラメーターが正常に精密化されていない場合、マトリックスが反転するのを防ぐピボット列に小さな値があります。

Unable to diffract the crystal

  1. Preferences の原子散乱因子(ASF)を確認します。
  2. 結晶パラメータが有効であるか確認します (単位格子のパラメータは有効ですか?)。
  3. 分率座標を確認します。
  4. 結晶系が正しいことを確認します。
  5. スケール因子が正しいことを確認します。

NaN/Infinity detected

Negative/Imaginary FWHM detected in fitting range

インスペクターの概要

Refinement インスペクターは、セグメント化された上部の ControlResults ボタンで指定できるように、Rietveld 精密化に関するすべてのコントロールと得られる結果をあらわす包括的な場所としての役割を果たします。

Controls と Results タブに分割された Refinement インスペクター

Control タブ

インスペクターの上部には、ピークプロファイルとフィッティング範囲に関するコントロールがあります。その下には、精密化パラメータの読み込みまたはクリア、および、パラメータリストの展開/折りたたみを行うためのボタンストリップがあります。2つ目のボタンストリップでは、自動精密化の開始、または、手動によるサイクルの実行が可能です。個々の精密化サイクルを管理するために、Undo と Redo ボタンが用意されています。

ボタンストリップの下には、利用可能なすべてのパラメータのリストが一覧で表示されます。チェックマークが付いているパラメータは、次回の精密化サイクル実行時に使用されます。行をダブルクリックすると、展開または折りたたみできます。行を Option キーを押しながらクリックすると、行を展開または縮小するオプションを含むコンテキストメニューが表示されます。

Results タブ

ボタンストリップを使用すると、構造パラメータのリストを展開/折りたたんだり、パラメータを CSV ファイルへエクスポートすることができます。2つ目のボタンを使用すると、カイ二乗プロット(適合度指標付き)と相関行列ウィンドウを表示できます。

精密化されたすべてのパラメータは階層化されたテーブルに表示されます。(複数の相を精密化する場合、パラメータは相ごとにグループ化され、各相の重量分率も表示されます。)

パラメータは精密化された値の隣に表示されます。括弧内に表示されているのは誤差です。

最後の精密化サイクル中にパラメータが制限に達した場合、小さな黄色の警告三角形が計算値の右側に表示されます。

パラメータの概要

精密化可能なパラメータを読み込むと、それらはパラメータリストに表示されます。これらのパラメータは階層構造のグループに分かれており、それぞれの展開三角形を使って展開できます。各パラメータには「含める」チェックボックスがあり、オン/オフを切り替えることができます。

Scale

精密化される各フェーズには、それぞれ固有のスケール因子があります。

多相の精密化では、各層に固有のスケール因子があります。

Background

チェビシェフ多項式の係数(詳細については「Background」セクションを参照)。

Instrument

このグループには、波長(一定波長実験用)などの装置パラメータが含まれます。波長は設定可能ですが、調整はできません。また、ゼロシフトとピークプロファイルパラメータも含まれます。

装置パラメータ

波長

X 線データを扱う場合、単一波長 (single-) か二波長 (dual-wavelength) の放射線を指定できます(このオプションは Wavelength Actions ポップオーバーで設定します)。二波長モードに切り替える場合は、テキストフィールドを使用して2番目の波長と強度比(例:I1/I2)を入力する必要があります。この強度比(他のプログラムでは同様の比率の逆数となります)は調整可能です。

Unit Cell

このグループには、精密化の対象となる結晶の単位格子パラメータが含まれます(相ごとにグループ化)。結晶系によっては、一部のパラメータは固定されているか、他のパラメータに依存しており、直接精密化できない場合があります。例えば、立方晶系では、a のみが精密化可能です。a の値を編集すると、テーブル内の b と c が自動的に更新されます。

直方晶 (左) と立方晶 (右) の単位格子パラメータ

Fractional Coordinates

構造内のすべてのサイトがアルファベット順に、その分率座標とともにリストされます (対称性の制約により、一部の座標は無効になっています)。

別の座標にリンクされているサイト座標は(マスターパラメータ)、暗黙的に調整されます。パラメータを追加すると、リンクされているパラメータやマスターパラメータも自動的に追加されます。マスターパラメータの値を調整すると、リンクされているパラメータの値も更新されます。

特殊座標は無効として表示され、精密化には含まれません。
すべての座標を精密化したい場合は?すべての座標を精密化したい場合は、初期 (starting) 結晶を編集し、対称性を単純化する必要があります(例:P 1)。CrystalMakerの Discard Symmetry コマンドを使用すると、より簡単に実現できます。このコマンドで対称性を単純化することで必要な追加サイトを確実にその構造に追加できます。

Displacement Parameters

各サイトの変位パラメータが表示されます。デフォルトでは、最初に精密化するのが最も容易(かつ安全)な等方性パラメータが使用されます。非常に高品質なデータを扱う場合は、個別に選択したサイトについて異方性変位因子を求めることもできます。

結晶内のすべてのサイトにおける等方性変位。

精密化を容易にするために、複数のサイトが同じ等方性変位パラメータ (Uiso) を共有するように制約することができます。

複数のサイトが同じ Uiso を使用するよう制約するには:

  1. 該当する変位パラメータの行を選択します (たとえば、対応する行を Shift キーまたは Command キーを押しながらクリックします)。
  2. 選択した Actions ボタンをクリックすると、ポップオーバーが表示されます。
  3. Constrain selected to be equivalent チェックボックスをオンにします。最初の行を除くすべての選択行が無効になります。
選択サイトが同じ Uiso 値を共有するように制約した例(左)。制約されたサイトは淡色表示された行で示されます(右)。

(この制約を解除するには、関連するサイトを再度選択し、“Constrain” チェックボックスをオフにします。)

異方性変位パラメータを精密化するには:

  1. 単一サイトの場合は、Actions ボタンをクリックしてポップオーバーを表示します。複数サイトの場合は、該当するリスト行を選択状態にして、選択したいずれかの Actions ボタンをクリックします。
  2. Use isotropic temperature factor チェックボックスをオフにします。リストが更新され、6つの異なる異方性温度係数 U1~U6 が表示されます(U1~U3 はそれぞれ対角項 U11, U22 U33、U4~U6 はそれぞれ非対角項 U23, U13, U12 です)。U1、U2、U3は、初期状態では等方性温度係数 Uiso の値に設定されます。

パラメータを等方性変位に戻すには:

  1. 上記の手順 (1) を繰り返して、単一の行または選択した行のグループのポップオーバーを表示します。
  2. Use isotropic temperature factor チェックボックスをオンにします。等方性値は U1~U6 の値を対角化することで計算されます。
等方性変位パラメータ (左)、異方性変位パラメータ (右)。

Site Occupancies

CrystalDiffract では、個々のサイトの化学的占有率を精密化できます。このメカニズムは、占有するサイトの数によって異なります。

  1. 単一占有サイト(例えば、複数の四面体サイトに渡って不規則なリチウムイオンが広がっており、それぞれの平均占有率が Li0.5 である構造)の場合、占有率は 0 ~ 1 の範囲で調整できます。
  2. 二重占有サイト(例えば、Al/Si 分布が不規則なアルミノシリケートフレームワークで、サイト “T2m” の平均占有率が Al0.7Si0.3 であるサイト)の場合、最初の占有率は精密化され、2番目の占有率は、占有率の合計が一定になるよう暗黙的に改良されます。
  3. あるサイトに N 個の元素がある場合(例えば、占有数 Mg0.6Fe0.3Mn0.1 の角閃石鉱物の八面体サイト)、合計 (N - 1) 個の占有数が精密化され、N 番目の占有数は暗黙的に精密化されます。

つまり、最後の1つの占有率の変化は、他のすべてのパラメータの変化の合計から差し引いた値になります。これにより、サイト全体の占有率は1になりますが、N 番目の占有率は負になる可能性があります。サイト上に2つ以上の占有率がある場合は、結果が物理量であるか確認してください。

重複 (duplicates) ではなく物理的なサイト (physical sites) を使用してください!当社のソフトウェアプログラムはすべて、置換型配置の乱れ (substitutional disorder) を各サイトの化学式を用いて処理するように設定されています(例:不規則な四面体サイト “T1” は xyz 座標で Al0.7Si0.3)。これはシンプルで洗練された方法であり、化学的占有元素ごとにサイトを1つずつ重複るよりも好ましい方法です(例:xyz 座標の「T1」を、同じ分率座標を持ちながら単一元素の占有率が異なる2つのサブサイトに分割する:T1 に Al0.7、T1 に Si0.3)。

 

バックグラウンド

CrystalDiffract には、バックグラウンド処理に2つのオプションが用意されています。精密化を開始する前にバックグラウンドを除去する方法と、精密化ストラテジーの一部としてバックグラウンドフィッティングを組み込む方法です。

固定バックグラウンド

観測されたパターンを選択状態にし、Simulate インスペクタの Background グループにあるコントロールを使用すると、精密化を開始する前にバックグラウンドを削除できます。

チェビシェフ多項式

このプログラムはチェビシェフ多項式を用いてバックグラウンドの当てはめをおこないます。自動精密化モードでは、精密化の進行に応じて Background の各項が順次追加されます。

フィッティングされた背景の例。青い曲線はフィッティングされたバックグラウンドです。
この精密化には7つの Background 係数が使用されました。

 

精密化の範囲指定

CrystalDiffract のデフォルトは、読み込んだ観測パターンの x 軸範囲全体を使用するよう設定されています。Setup ポップオーバーで以下のいずれかを選択できます。

又は、

Setup ポップオーバーの Observed ボタンをクリックすると、範囲指定をリセットできます。

Setup ポップオーバーの Range オプション
(ルーラーが表示されているときは Ruler ボタンが有効になります)。

 

ピークを除外する

観測パターンに不要なピークがあれば、精密化を開始する前にそれを削除する必要があります。

  1. ルーラーを選択し、削除するピークのすぐ下に配置します。
  2. ピークの幅に合わせてルーラーの範囲を調整します。
  3. メニューから Pattern > Clear Region を選択します (または、ルーラーを右クリックして、コンテキスト メニューから Clear Region を選択します)。
ルーラーを使用して削除する範囲を指定。

Actions ポップオーバー

精密化可能なパラメータには Actions ボタン(3つの点が描かれた円)があります。これをクリックすると、そのパラメータに固有の追加オプションを選択できるポップオーバーが開きます。

精密化可能なパラメータの Actions ポップオーバー

Range

Range を有効にすると、指定した範囲内にパラメータ値が収まるように微調整されます。計算されたパラメータのシフト値が許容範囲外になった場合はスケールダウンされます。

一部のセンシティブなパラメータには、無効な値が入力されて NaN/Infinity 問題が発生するのを防ぐために調整や無効化ができない範囲があります。

Damping

減衰 (Damping) はパラメータシフトをスケールダウンするために使用します。これにより振動的な挙動を回避し、精密化をより安定させることができます(ただし、反復回数がそれだけ多く必要になることがあります)。

Options

カスタムオプションには、displacement (変位) パラメータの isotropic (等方性) と anisotropic (異方性) の変換、および、選択サイトに同じ制約を適用するオプションが含まれます。また、XRD モードでは monochromatic (単一波長) と dual wavelength (二波長) を切り替えるためのポップオーバーも用意されています。

Rietveld Preferences

CrystalDiffract には、サイクルの各種コントロールをカスタマイズできる、Rietveld (macOS Ventura では “settings”) ペインが用意されています。

Rietveld Preferenes ペイン

Convergence

この精密化プログラムでは非線形減衰最小二乗法 (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 (最小減少率) を小さくすると、反復回数は増えますが (遅くなります)、フィッティングは向上します。

CW Profile Functions

一定波長 (constant-wavelength) プロファイルでは、Asymmetry Cutoff (非対称カットオフ) を指定できます。非対称を適用する最大角度をここに指定し、この角度を超えるピークは対称であるとみなされます。

カイ二乗プロット

カイ二乗プロットを参照すれば、フィッティングの質と精密化された全てのパラメータを確認できます。カイ二乗値は、各反復の最後にフィッティング範囲の重み付き残差二乗和から計算されます。

カイ二乗値は専用ウィンドウ(サイズ変更可能)に表示されます。カイ二乗プロット上の任意の場所をクリックするとカーソルが表示され、その値を測定できます。このウィンドウは、スクロールとズームのための標準的なマルチタッチジェスチャーをサポートしています。ツールバーには、ゼロライン、グリッド、凡例の表示オプションなど、グラフをカスタマイズするためのコマンドが用意されています。

カイ二乗プロット。画面下には当てはまりの品質をあらわす指標が表示されます。

当てはまりの品質の指標

精密化サイクルの終了時に3つの当てはまりの品質の指標 (quality-of-fit metrics) が計算され、Results ペインの上部に表示されます。

プロファイルの重み付き残差 (Rwp:Weighted Profile Residual)

合計はフィッティング範囲に含まれる n 個の点すべてにわたっており、wi は i 番目の観測点の重み、Yi,obs と Yi,calc は i 番目の点で計算された強度です。

プロファイルの残差の期待値 (Expected Profile Residual)

ここで、p は精密化サイクルに含まれるパラメータ数を示します。

当てはまりの良さ (Goodness of Fit:簡約カイ二乗)

重み付けスキーム

観察された i 番目の点の重み wi = 1 / Yi,obs。カウント数はポアソン分布に従うため、強度の誤差は観測されたカウント数の平方根であると仮定します。これは、カウント数がユーザーによって再スケーリングされていないことを前提としています。

相関行列

色分けされた相関行列を別の「フローティング」ウィンドウに表示することもできます。相関行列は、グリッド状の数値からなり、その背景が色分けされています。グリッドの寸法は、精密化されたパラメーターの総数と一致します。

グリッドのセル上にマウスを移動すると、パラメーターの名称と相関値をあらわすカスタムツールチップが表示されます。

相関性の高いパラメーター対はオレンジ/赤で示されます。無相関のパラメーターは緑色で示され、負の相関性の高いパラメーターは濃い青で示されます。

このウィンドウのサイズは変更可能で、精密化の各サイクルの最後に更新が行われます。ウィンドウのサイズに対してパラメーター数が多くなりすぎると、ウィンドウのサイズは自動的に変更されます。

相関行列ウィンドウ

一定波長 (CW) プロファイル

面間隔 d と2θ の関係

CrystalDifFract は、 2θ に対する度を内部的に使用します。反射の 2θ 角は、ゼロシフトを含む以下の式を使用して計算します。これは内部使用のみです。Patterns リストに示されている精密化される結晶の反射位置は、すべてのゼロシフトが省略されます。

Profile 1: Gaussian

提供される最も単純な CW プロファイルは、非対称項 As で修正された Gaussian プロファイルです。これは、Rietveld によって説明されているプロファイルと同じプロファイルで、低解像度の中性子粉末回折データセットに適しています。

非対称項 As は、P をユーザーによる精密化が可能な非対称因子であるとして、以下のように定義されます:

K 番目の反射 HG,k の Gaussian FWHM は、Caglioti パラメーター U、V, W の関数です。CrystalDiffract のデフォルトは、V ≤ 0; U, W ≥ 0 の制約条件を使用するよう設定されています。これらのパラメーターは Gaussian FWHM がフィッティング範囲全体にわたって正の値になるように注意して選択する必要があります。

Profile 2: Lorentzian

正規化されたローレンツ関数は次式であらわされます。ここで、HL,k は k 番目の反射の Lorentzian FWHM を示します。

Lorentzian FWHM である HL,k は、自由パラメーター X と Y で定義されています。CrystalDiffract のデフォルトでは、 X , Y ≥ 0 である必要があります。

Lorentzian プロファイルを5つ重ね合わせる非対称を導入するオプション (“Boole’s Rule”) があります。

Profile 3: Asymmetric TCH PseudoVoigt

より洗練されたプロファイル関数は、以下に示す 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 は非対称パラメータです。

飛行時間プロファイル

飛行時間 (TOF) と面間隔 d の関係

CrystalDiffract は内部的にマイクロ秒を使用します。飛行時間 (TOF) と面間隔 d を関連づける方程式を以下に示します。パラメーター “dtt1” と “dtt2” は、GSAS の “DIFC” と “DIFA” にそれぞれ相当します。

距離パラメータ

  1. dtt1 は、精密化中は固定されたままです。
  2. dtt2 は、サンプルの吸収によるピークシフトを許容する小さな補正です。精密化の後半の段階で精密化されます。

TOF Profile 1

最初のプロファイル関数を以下に定義します。ここで、N は正規化、Ti はマイクロ秒単位で観測されたポイントの飛行時間値、Tk は反射の飛行時間です。これは、GSAS I のマニュアルに定義されている TOF Profile 1 に似ています。

N, u, y, v, z の各項は次式で定義されます:

α, β, σ2 は次式で定義されます。ここで d は反射の面間隔 d を示します。

精密化できるパラメータは、dtt2, σ12, σ22 のみです。

TOF Profile 2

2番目のプロファイル関数を以下に定義します。ここで、 E1 は指数積分を示し、N, u, v, y, z は TOF Profile 1 と同様に定義します。これは、GSAS I マニュアルの3番目のプロファイル関数と似ています。

η は混合因子で、FWHM の合計と Lorentzian 成分の関数として定義します(疑似 Voigt を参照)。p と q は次式で定義します:

最後に、 α, β, σ, γ を次式で定義します:

精密化できるのは、dtt2, σ12, σ22, γ1, γ2 パラメーターのみです。精密化を開始する前に、すべての装置パラメーターが正しく設定されていることを確認してください。プロファイルパラメーターが有効な開始値に設定されるまで計算されるパターンは表示されません。

 

 

 

前のページにもどる