GSAS-IIの使用方法 の履歴(No.1)


GSAS-IIの使用方法(2021/01/14作成; 2021/09/15最終更新)

OUOperatingGrant.png

GSAS-IIについて

 GSAS-IIは元々Rietveld法のプログラムであるが、現在はcharge flipping、simulated annealingなどもできて、未知結晶構造を求めることも可能となっている。詳しくはGSAS-IIサイトをご覧ください。 私がGSAS-IIを研究で使う予定は今の所はないが、高圧関係でGSASを使った論文が結構多いので、高圧実験している大学院生対象の授業とかで触れる必要があり、最近やっと初めて使ってみた。その時の覚書である。ただ、結晶構造が解けるようにはなってはいるが、私はその目的にはEXPOを使った方が良いと思う。後付け感は拭えない。

 現行のGSAS-IIはPythonで主に書かれていて、ライブラリ等を活用して、Pythonを使っていても計算は速いそうだ(実際、特に遅いとは感じない)。Mac, Windows, Linux版があるが、MacについてはBig Surでは問題があるようで、M1 Macにはまだ対応していないとされている(M1 Macを持っていないので確認できず)。Big SurのM1でないMacでは何とか使えるようで、実際私のMac(M1ではないMacbook Air)では動いている。GSAS-IIのBig Sur Macへのインストール方法はWebページに対処方法が書かれている。私はその通り実行して問題なく動いている。インストールではPython, 関係ライブラリも導入されるので結構時間がかかる。チュートリアルにはなかったと思うが、GSAS-IIがMEM法プログラムであるDysnomiaに対応しており、GSAS-IIから呼び出して使えるようになっていた。利用方法の説明がなかったが、使うことができた(最後の部分)。図は小さくしてますが、クリックすると拡大します。

GSAS-IIの勉強方法

 なぜかちゃんとしたマニュアルがない。そういえばFullprofもマニュアルがなかった(マニュアルはあるらしいがそのリンクがずっと切れたまま)。Help(ウェブ上)はある。一方、チュートリアルは比較的充実しているので、それをまず見ることから始める。いくつかのチュートリアルにはビデオ版もある。チュートリアルで使うデータもダウンロードできるので、それらをチュートリアルを見ながら、使いながら慣れるしかないようだ。

粉末X線回折データのRietveld構造精密化

GSAS2-script-editor.png
GSAS2-AppleEvent-dialog.png
  1. 起動:GSAS-II.appをダブルクリック。Macの場合、「TerminalにApple Eventsを送信する権限がありません」とダイアログが出てくる。そこで編集ボタンをクリックする。そうするとApple Scriptのエディタが出てくる。そのウィンドウの上側の三角印(実行ボタン)をクリックするとGSAS-IIが起動して、3つウィンドウ(terminal, main, plot)が開く。よく使う場合はScriptエディタをそのままデスクトップの片隅に置いておくと、三角印をクリックすることでGSAS-IIを起動できる。これはMac版での対応。
  2. (2021/09/14追記)最近使ったら、上記のダイアログが出なくなり、正常に起動するようになりました。
  3. データ読み込み:mainウィンドウからImportメニューのPowder Dataから粉末回折データを読み込む。Rigakuの.rasファイルもサポートされている。ただ「guess format from file」を使えばほとんどのデータに対応してくれるようなので、普通はこれを使って読み込む。確認のダイアログが出るので、Yesボタンをクリック。すると使っている回折装置のparameter fileの選択ダイアログが出て来る。もしparameter fileがあるならそれを選ぶ(これの作り方はチュートリアルにある)。ない場合はCancelボタンを押すと、デフォルトのparameter fileの選択ダイアログが出てくるので、実験室系の回折装置を使った場合は「Defaults for CuKa lab data」を選んでOKボタンをクリック。管球Cu使ってなくてもこれを選ぶ。他の管球へは後でSample Parametersのところで変えられる。そうするとplotウィンドウに回折パターンが表示され、mainウィンドウも様々なパラメータを変えるためのリストが出てくる。
    GSAS2-Limits.png
     以下このリストの適当なところをクリックするとmainウィンドウの内容が切り替わって、そこで必要な表示が出たり、様々なパラメータのrefineするしないを変更するなどできる。
  4. パラメータ変更:まずはmainウィンドウ(今はGSAS-II project...と名前が変わっている)で、リストからLimitsで回折データの範囲を決める。次にBackgroundで、デフォルトの3では係数の数が足りないので9くらいにする。必要なら関数も変える。低角度側へ向けてバックグラウンドが上がっていく場合は「log interpolate」がいいようだ。またInstrumental Parameterのところで、正しいX線源を選択(デフォルトはCu)。さらにKa2/Ka1強度比も必要なら変更する。
    GSAS2-InstParam.png
    デフォルトは0.5になっている。我々のところの回折装置(Smartlab)はKa2が出ないので、ここを0にする。
  5. 相(phase)の読み込み:DataメニューからAdd new phaseでphaseを新しく作って、そこで格子定数、空間群、原子座標を手で入れていくことも可能であるが(チュートリアルでは主にそうしている)、cifファイル等によって構造を読むこともできる。普通はそちらの方がいいだろう。cifの読み込みには、ImportメニューからPhaseでfrom cif fileを選択。ファイル選択ダイアログが出るので、回折データに含まれる相のcifファイルを読み込む。他のフォーマットや以前のGSASの結果も使える。なおこれらのファイル中の格子定数が測定試料のそれとかなりズレていると、refinementがうまくいかないかもしれない。もし別途試料の格子定数が分かっていれば(GSAS-IIでもPawley法で出来るはず)、格子定数を入れ替えておく。
    GSAS2-newphase.png
    確認ダイアログが出てくるので、Yesボタンをクリック。名前を聞かれるので、適当に入力。さらにhistogram(粉末パターンのことらしい)を選択するダイアログが出てくるが、今の場合先に読んだ1つしかないので、それをチェックして、OKボタンをクリック。そうするとリストのPhasesのところに今追加したphaseの名前が出てくる。試料に複数相含まれている時はこれを繰り返す。
  6. 複数相ある時:その場合は個々のPhaseのDataタブのところで、Phase fractionをrefineするチェックボタンをチェックする(チェックしないと後でConstraintのところで出てこない)。Phase fractionの総和が1になるようなConstraintをかける必要があって(この辺り自動的にやって欲しいところであるが)、projectウィンドウのリストのConstraintsを選んで、Histogram/Phaseタブをクリック。それでEdit Constr.メニューからAdd Constraint equationを選択。Phase fractionのところをチェックしていると、(他の変数も沢山出てくるが)Phase fractionが入った変数が出てくるので、リストの一番上のものをまず選択して、OKボタンをクリック。すると残りの変数でPhase fractionが入った変数のみのダイアログが出てくるので、そこで他の変数をチェックしてOKボタンをクリック。そうするとそれらが1になるようなConstraintが作られて、Histogram/Phaseタブにリストが出てくる。このタブでEditまたはDeleteボタンをクリックして、編集することもできる。なお、第1相の割合が非常に大きい場合はその相だけでまずrefineして、マイナーな相をあとで追加することもできると思う。値を1のままにしておくとrefine時に相の数で按分するようだが、refinementの最初の段階ではrefineせずに適当な値で固定してもいいかもしれない(しばしばrefine初期にマイナスになることがあるので)。
  7. 精密化 part1:とりあえずこれでCalculateメニューからRefineを選択。するとプロジェクトファイル(gpx)の名前を聞かれる。名前は適当でいいのであるが、セーブするディレクトリには注意する必要がある(Macの場合)。書き込みがGSAS-IIから不可なディレクトリもあって、そこを選んでしまうとrefinementが始まらない。自分のホームディレクトリなど書き込みが可能なディレクトリを選ぶ。もし書き込みが出来ずにエラーが出た場合は、FileメニューからプロジェクトをSave project as...で別のディレクトリに変えれば大丈夫。エラーはダイアログが出てくるが、terminalの方にも出ているので確認できる。今はバックグラウンドくらいしかrefineしていないので、Rw(Rwpのことらしい)はまだ大きいはず。
  8. 精密化 part2:格子定数はデフォルトではfixなので、refineするようにPhaseのGeneralタブでRefine unit cellのチェックボックスをチェックする。
    GSAS2-SampleParam.png
    またSample ParametersでSample displacementもrefineするようにチェックする(Bragg-Brentano回折計の場合)。refineするパラメーターを徐々に増やしながらrefineを続ける。さらにInstrument Parametersのピーク幅に関するU, V, W, X, Y, Zパラメータもrefineするようにチェックする。
  9. 精密化 part3:順調にRwpが落ちていればいいが、落ちない場合はrefineしたパラメータをチェックして、おかしな値になっていないか、なっている場合は初期値に戻してrefineのチェックを外して、refineする、パラメータをrefineする順番を変えるなどする。
  10. 精密化 part4:主相の構造パラメータをrefineする。リストのPhaseで主相を選び、Atomsタブをクリックして、表の上部のrefineのところをダブルクリックする。この場合は全部の原子を一度に設定できる。
    GSAS2-structure-refinement.png
    そうするとF (site fraction), X (coordinate), U (thermal parameter)をrefineするかどうかのダイアログが出てくるので、refineしたいものをチェックしてOKボタンをクリック。個々の原子の部分をrefineの部分をダブルクリックすると、個々の原子についてのそれらが設定できる。そしてCalculationからRefineを実施する。refine後にUがマイナスになるなど物理的におかしい値になった場合は、それらを物理的にreasonableな値に固定して、refineはやめる。同じ種類の原子のUが同じになるような制約をつけることも有効だろう。この場合の制約は、リストのConstraintsのPhaseタグで、Edit Constr.メニューからAdd equivalenceを選ぶ。そして同じにしたいUパラメータの最初のものを選び、次に同じにしたい次のものを選ぶ。これでその2つのUパラメータが同じになるように制約される。必要ならこれを繰り返す。refineする部分を選びながら、Rwが最低になるようにする。多相含む場合には少量な相の構造パラメータはrefineしない。U,V,W,X,Y,Zが変な値になった場合はOperationsメニューからReset profileでデフォルト値に戻せる(デフォルト値は()内に表示されているので個々に変えることも可)。
  11. 精密化 part5:Instrument parameterを標準物質できちんと決めておけば、粒子径やストレインの解析もできる。それらは各phaseのDataタブから設定できる。選択配向の補正もここからできる。最終的な結果が得られたら、cifファイルとしてexportする。解析結果はプロジェクトファイルとしてセーブされているので、再度解析する時はそのファイル(.gpx)を読み込めばよい。またプロジェクトファイルのバックアップファイルが沢山できている。
  12. Rwが下がらない時は、一度終わってゼロから始めた方がいい場合がある。refineするパラメータの順序などでRwが大きく変わるので、色々と試すことが必要。順番と得られたRwをメモしておくとよい。

トラブル

  1. Macで使っていると、時々plotウィンドウの粉末回折パターンが見えなくなることがあった。refineしている時は表示されていて、refineが終わると消える現象が見られた。その後何かの拍子に現れる。また、構造パラメータ一番最後の行の原子のrefineがうまく設定できないケースが見られた(Mac)。
  2. (2021/09/15)最近は上記はなくなったが、構造のパタメータのどれをrefineするか(X,F,U)を決めるときに、一番最後の列がrefineできないことがあった。この場合はrefineする前に一度このタブから出るとうまくいく。また、targetを選ぶと表示が乱れた。これも一度別のところに行って、戻ってくると直っている。HelpメニューからGSAS-IIをupdateできるが、うまく行かないことがあり、再インストールが必要だったことがあった。

未知相の粉末回折X線データの解析 part1(個別ピークフィット、指数付け、Pawley法)

 EXPOに比べると結構面倒なので、結晶構造を求めるならEXPOの方がよい。charge flipping法で試したい場合には、superflipを使うことを考えた方がいいかも。

  1. 起動:GSAS-II.appをダブルクリック。「TerminalにApple Eventsを送信する権限がありません」とダイアログが出てくる。そこで編集ボタンをクリックする。そうするとApple Scriptのエディタが出てくる。そのウィンドウの上側の三角印(実行ボタン)をクリックするとGSAS-IIが起動して、3つウィンドウ(terminal, main, plot)が開く。よく使う場合はScriptエディタをそのまま置いておくと、三角印をクリックすることでGSAS-IIを起動できる。これはMac版のみの対応。
  2. データ読み込み:mainウィンドウからImportメニュー、Powder Dataから粉末回折データを読み込む。Rigakuの.rasファイルもサポートされている。「guess format from file」を使えば自動的にほとんどのデータに対応してくれるようなので、普通はこれを使って読み込む。確認のダイアログが出るので、Yesボタンをクリック。すると使っている回折装置のparameter fileの選択ダイアログが出て来る。もしparameter fileがあるならそれを選ぶ(これの作り方はチュートリアルにある)。ない場合はCancelボタンを押すと、デフォルトのparameter fileの選択ダイアログが出てくるので、実験室系の回折装置を使った場合は「Defaults for CuKa lab data」を選んでOKボタンをクリック。他の管球へは後でInstrumental Parametersのところで変えられる。データが正常に読まれるとplotウィンドウに回折パターンが表示され、mainウィンドウも様々なパラメータを変えるためのリストがウィンドウの左側に追加される。以下このリストの適当なところをクリックするとmainウィンドウの内容が切り替わって、そこで必要な表示が出たり、様々なパラメータのrefineするしないを変更するなどできる。
  3. パラメータ変更:まずはmainウィンドウ(今はGSAS-II project...と名前が変わっている)で、リストからLimitsで回折データの範囲を決める。今回は指数付けのために低角度側の20本程度のピークが入るように設定する。これにはplotウィンドウで、ルーペアイコンをクリックして、パターンを拡大して、20本程度入れるために角度範囲をどうすればいいかを見る。Limitsを変えるとplotの縦のラインがそれに応じて移動する。そのラインをマウスで掴んで移動させることもできる。2つのラインの間にある部分が解析対象となるので、20本程度入るように調整。次にBackgroundで、デフォルトでは係数の数が足りないので、3から9くらいにする。必要なら関数も変える。低角度側へ向けてバックグラウンドが上がっていく場合は「log interpolate」がいいようだ。またInstrumental Parameterのところで、正しいX線源を選択(デフォルトはCu)。さらにKa2/Ka1強度比も必要なら変更する。デフォルトは0.5になっている。我々のところの回折装置(Smartlab)はKa2が出ないので、ここは0にしないといけない。
  4. ピーク検出:範囲を設定したら、projectウィンドウのPeak Listをクリック。そこでPeak FittingメニューからAuto Searchを選択。自動的にピーク位置を読んで、Peak Listにリストが出てくる。plotウィンドウを見ると、ピーク位置に青い線が引かれている。ただ検出されていないピークがあることも多い。
    GSAS2-found-peaks-pattern.png
     ルーペアイコンをクリックして、パターンを拡大する。ルーペアイコンを再度クリックすると、カーソルが+に変わる。この状態で検出されていないピーク位置でクリックすると、その位置がPeak Listに追加される。逆にdeleteするときは、Macの場合はそのライン上でControl+クリックする。特定のピークのdeleteは、ピークリストから削除したいピークのラインを選択して、Peak FittingメニューからClear peaksを選択してもできる。図の例では20.6度くらいの弱いピークが検出されていないかったので、マニュアルで追加した。30度前後の弱いピークは不純物相なので追加しない。クリックしてもピークが追加できなくなった時は、一度ルーペアイコンで拡大して、もう一度ルーペアイコンをクリックしてみる。必要なピークが全てリストできたら、Peak FittingメニューからPeakfitを選ぶ。Project file名を聞かれるので、アクセスできるディレクトリを選んで、適当な名前でセーブ。既にそのファイルがある時は上書きしてよいかのダイアログが出る。そしてピークの個別フィットが行われる。デフォルトではピークの強度だけがrefineされる。
    GSAS2-peaklist-refined.png
     ピーク位置はrefineされていないので、Peak Listのところで、position欄の隣のrefineをダブルクリックする。vary all or vary noneのダイアログが出てくるので、vary allを選んでOKをクリックする。そして再度Peakfitする。図はrefineした後の状態。次にピーク幅であるが、これはU,V,W,X,Yでrefineしてもよいが、個別ピークのsigma(ガウシアン幅), gamma(ローレンチアン幅)としてもrefineできる。当然両者同時にはrefineできない。経験的にはU,V,W,X,Yだけのrefineでよく、個別にrefineすると一部の幅がマイナスになることがよくあった。マイナスが出るような場合は、個別のrefineを止めて、U,V,W,X,Yを再度refineするとそれらもプラスに戻る。個別ピークのrefineがうまくいったら次に指数付けを行う。
    GSAS2-peaklist4index.png
  5. 指数付け:Peak Listの下のIndex Peak Listをクリックする。最初空欄だが、OperationsメニューからLoad/Reloadを選択。そうするとPeak Listのリストがこちらにコピーされる。不純物相などの疑いがあり、指数付けに使いたくないピークがある場合は、そのピークのuseのチェックを外しておく。Index Peak Listの1つ下のUnit Cells Listをクリックする。そうするとIndexing controlsの画面になる。指数付けで試したいブラべ格子(Cubic-F等)を選んで、チェックをつけて、Cell/Index RefineメニューからIndex Cellを実行する。
    GSAS2-Indexing-setting.png
     ここは格子によっては時間がかかるが、結果が出るまで待つ。一番上のMax Nc/Nobsは不純物ピークを何個まで許容できるかの指定と思われるが、デフォルトの4は大きいので、下げた方がいいかも(2が最低)。終わると下側にIndexing resultが示される。Figure of meritのM20が高い方が正解だと考えられるが、体積とか、X20も見て判断する必要がある。Index Peak Listに戻って、d-obs, d-calcの差が大きいものやIndexedがチェックされていないものは不純物相の可能性が高いので、useのチェックを外して再度refineすることもできる。
    GSAS2-Indexing-summary.png
     また、plotウィンドウのPosition calibrationのところにも差のプロットが示されているので参考にする。Indexing resultのセルのリストのuseのところをチェックすると、そのセルに対応したピーク位置がplotウィンドウのパターンにラインで示されるので、説明できないピークがないか、逆に沢山予想されて実際には出てないか等をよく見る必要がある。まだ正解かどうかはっきりしなくて、他の格子タイプも試したい場合は、希望のありそうな結果のラインで、Keepのところをチェックしておくと、他の格子の計算をした際もそのデータを残してくれるので、後で比較することができる。もし可能性の高いセルが見つかったら、useをチェックして、Cell/Index RefineメニューからCopy Cellを実行する。そうするとIndexing resultの上のところのUnit cellにそれらの値が入る。また、Zero offsetのところのRefine?のところもチェックしておく。そしてCell/Index RefineメニューからRefine Cellを実行すると、選んだセルを初期値に使って格子定数をrefineする。時々Refine Cellがアクティブでない場合がある。一度リストの別の場所に行って戻ってくるとアクティブになるようだ。格子定数をrefineするとM20の値がさらに上がるはずである。私の場合は時々ここで格子定数が変な値になることがあったが、選んだセルに問題がある場合にそうなるようである。右図は選んだ格子定数をrefineして、M20がかなり上がって、その格子定数を上にコピーした状態を示している。
    GSAS2-cell-refinement.png
  6. 空間群決定:これは多分何か自動でできる方法が用意されていそうな気がするが、チュートリアルでまだ見つけてない。一応、Unit Cells Listのところで、Space groupのポップアップリストから適当に選ぶと、その空間群でのM20などが計算されてterminalウィンドウに出るので、それを見て判断できるのかもしれないが、可能な空間群が多い場合はかなり面倒だ。もちろん同じ値になったりして、空間群はユニークには決まらない。可能性の高い空間群を1つ毎にチェックする必要がある。とりあえず確からしい空間群があった、または試したい空間群があるとして以下進める。その空間群をUnit Cells Listのところで選んでおく。上記で得られた格子定数によっては標準ではない空間群を使う必要が出てくるが、格子定数を標準の空間群になるように直しておくと後で楽かもしれない(マニュアルで入れ替えるしかないが)。
  7. 相の登録:Unit Cells Listのところで、Cell/Index RefineメニューからMake new phaseを選ぶと、相の名前入力のダイアログが出てきて、今選択されている格子定数と空間群で新しい相が登録される。リストのPhasesをクリックして、正しく登録されたことを確認する。ただし、Atomsタブのところはまだ空白である。まず、Dataタブをクリックして、対応する粉末パターンを選ぶために、Edit PhaseメニューからAdd powder histogramsを選択。1つしかないはずなので、それを選択して、OKボタンをクリック。また、現在は先の指数付けのために角度範囲をかなり狭くしているので、Limitsで角度範囲を広げる。Instrument parametersのところのU,V,W,X,Yはかなり狭い角度範囲で決めたもので、そのまま使うとよくないので、初期値にリセットする。これはOperationsメニューからReset profileを選択することでできる。
  8. Pawleyの準備:次にPawley法を使ってピーク強度を求める。リストから相をクリックして、Generalタブで、Pawley controlsのDo Pawley refinement?をチェックする。Pawley dmin欄のところは、Limitsのところの最大角度と対応させておく必要があるようだ。粉末パターンでカーソルをLimitsの最大角度を示すラインのところへ持っていき、その時のd-valueをメモる。それをPawley dminへ入れる。
    GSAS2-Pawley-setting.png
    ただ何もしなくてもdminのデフォルト値(1)に応じてLimitsの高角側が書き換えられるようだった(図の例では1のままにしている)。Pawley neg. wt.は0.001にする。そして、同じ画面で右端にPawley reflectionsというタブがあるので、それをクリック。OperationsメニューからPawley Createを実行(これをやらないとPawleyのrefineができない)。ピーク強度リストがタブに表示されるが、初期値は全て100になっている。これらの強度をrefineするためにチェックを付けるが、なぜかここではrefineをダブルクリックしても何も起こらず(Macの場合だけ?)、OperationsメニューからRefine allを選択することで全部にチェックが入る。
  9. Pawley法の実行:CalculateメニューからRefineを選ぶ。
    GSAS2-Pawley-result.png
    なお、これはRietveldでも使うので、もしPawley refinement?がチェックされていないとRietveld refinementが始まるが、当然構造データがまだないのでエラーで止まる事になる。ここではRietveldの時と同じく格子定数、サンプル位置、ピークの幅関係等のパラメータを少しづつrefineしていく。Rwpが全然下がらない時は空間群や指数付けで間違っている可能性が高い。同じ条件で再度refineするとRwpが下がる時もある。Pawley reflectionsタブのFsq(hkl)等はrefineすると更新される(例参照)。十分Rwpが下がったらPawley法は終了。Pawley reflectionsタブでOperationsメニューからPawley updateを実行。Pawley法の結果の例(パターン)を下に示している。まだ残差が大きい…
    GSAS2-Pawley-pattern.png









未知相の粉末回折X線データの解析 part2(charge flipping、結晶構造への変換)

  1. charge flippingの実行:charge flippingはPawley法で得られたピークの観測強度から電子密度を推定する方法の1つである。
    GSAS2-General-chargeflipping.png
    まずGeneralタブをクリック。Charge flipping controlsのところから、Select reflection setsボタンをクリック。そこで1つだけ選択肢が出てくるので、それをチェックして、OKボタンをクリックする。そうすると先程のPawley法で決めた強度リストが以下の計算で使われる。k-Factor, k-Maxも設定できるが、そこに書かれている範囲で適当に選ぶ。k-Maxは重い原子がある時は大きく、そうでもないとこは10-12くらいにするらしい。これは異常に大きな電子密度になること(uranium solution)を避けるためだとのこと。そのすぐ上のFourier map controlsのところではPeak cutoffを調整する。これを小さくすると小さいピークも見つけてくれるが、偽ピークを拾いやすくなる。
    GSAS2-chargeflipping-phase.png
    10%くらいに設定して、検出された電子密度ピーク数に応じて、再度調整するのがいいと思う。ComputeメニューからCharge flippingを実行する。これもしばらく時間がかかるので放っておいてもよいが、Rcfが20%台になったらほぼ解が得られているので、Cancelで止めてもいいようだ。plotウィンドウにTest HKL phasesタブがあって、いくつかの指数の位相のcycle数による変化が示されているので、収束の参考になる。plotウィンドウにはcharge flippingで得られた電子密度も示されていて、ピーク位置が+で示されている。まずはそれを眺めて得られた構造が正しそうか判断する。場合によっては結合も検出されて示されている。
    GSAS2-chargeflipping-cell.png
    ここに示した図はforsterite(Mg2SiO4)の例で、結合が自動で検出されて見えている、よく見ると4配位なので、中心原子はSiで周りがOだろうと分かる。また、Map peaksのタブのところを見ると、それらの位置等がリストで示されている。その数を数えて、そのセルに入っていると予想される原子数と合っているかどうかみる。私の試した例では全ての原子が検出されていたが、軽元素がある場合は見落とされている場合がある。magは電子密度の高さだと思われるので、それも見てどれがどの原子に相当するかを推定する。特に重い原子がなければ判別は難しいかもしれない。見落とされている軽元素は、Rietveld後に差フーリエマップから見つけることが可能。
    GSAS2-chargeflipping-peaks-list.png
  2. 原子位置を決める:(この辺りは結晶構造にある程度詳しくないと分かりづらいかも。plotウィンドウでの操作方法の理解が必要だが、まだ十分理解できていない。)残念ながら、現在得られている電子密度ピーク位置は結晶構造の本来の対称単位の位置からは外れている。ユーザーがマニュアルでピーク位置をずらせて正しい位置に動かす必要がある(ここは自動でやって欲しいところである)。International Table Aを持っていたら、対応する空間群のところを開いて見た方がいいだろう。対称心がある空間群の場合は対称心の位置を見つけて、それをInternational Table通りになるように動かす。電子密度ピーク位置を表示したplotウィンドウの画面で、L,Rキーを押すとセルが左右、U,Dで上下に移動するので、適当に動かして正しい位置にする。セルを90度回転させると第3の方向の移動ができる。現在の座標値はMap peaksのタブのところで動かすごとに更新されている。セルの中心が対称心の場合は、電子密度ピーク表示のところのウィンドウの下部で、center on 1/2 1/2 1/2をクリックすると自動的に移動させてくれるようだ。しかし、私のテストしていた構造ではマニュアルで移動させる必要があった。1つの原子(対称心があるはず)を原点に持っていった。そうするといくつかのx, y, z値が0, 1/2など特殊位置の値にちゃんとなるので多分正しい。Map peaksタブで原子を選択して、Map peaksメニューからEquivalent peaksを選ぶと、ピーク座標のリストから等価なピーク座標を示してくれる(右図ではこれを実施して等価な4つがハイライトされている)。これも元素特定に使える。等価なピークのうち、1つを選択して、Map peaksメニューからMove peaksを選択すると、その位置がAtomsタブに原子位置として追加される(既に追加したピーク番号をメモっておく)。デフォルトではH原子になるので、それをダブルクリックすると、元素種の選択ウィンドウが出てくるので、予想される元素の三角をクリックして、中性原子を選ぶ(イオンを選んでもよいが)。そうやって残りのリストから等価でないピーク位置を選んでは、Atomsタブへどんどん追加する。すでにAtomsタブにある原子と等価な位置を追加しないこと。間違った原子位置はEdit AtomsメニューからOn selected atoms...でDeleted atomsで削除できる。原子モデルの表示はDraw Atomsタブで変更できる。デフォルトの表示で使われているvdW ballは見づらいので、balls&sticksにでも変えるとよい。
  3. Rietveldへ:Atomsタブに原子が全て入れば、構造精密化へ移行することができる。現在まだPawleyが有効なので、まずはGeneralタブでPawley refinementをアンチェックして無効にする。Atomsタブのrefineで必要なrefineするパラメータを選択すれば、後は最初の方の説明と同じようにRietveld法による構造精密化ができる。見つからなかった軽原子を見つけるためには、見つかった原子だけでRietveldを最初にやって、差フーリエマップを見ればよい。差フーリエマップはGeneralタブのFourier map controlsのところから選べる(デフォルトがPattersonになっているので変える)。他のパラメータがちゃんとrefineされていないとRwpが下がらず、座標値が大きくずれていることがある。そのような場合は、電子密度ピーク位置で得られた値に直してやり、最初座標値は固定でrefineして、ある程度Rwpが下がってきたら、座標値をrefineする。
  4. 構造を求めるために、Simulated annealingも使えるようだが、まだ試したことはない。Simulated annealingを使うプログラムではFOXが有名であり、私は以前よく使っていた。しばらく更新が止まっていたが、最近更新された。

GSAS-IIからDysnomiaを使う

GSAS2-General-tab-Dysnomia.png
  1. これを書くためにFourier map controlsのところを見ていたら意外な発見(意外でもないか)。GeneralタブのFourier map controlsの所にUse Dysnomia?というチェックボックスがあった。DysnomiaがGSAS-IIから使えるようだ。これはFourier mapのところで、Reflection setsを選択した時にDysnomiaのチェックボックスが出てくるようだ(最初は出てない)。使い方は最初全然分からなかったが、取り敢えずをそこをチェックしておくと、Dysnomiaのタブができていた。ここでDysnomia実行時のパラメータが設定できる。そしてDysnomiaタブを選択中にOperationsメニューにRun Dysnomia等が出てくる。私のMacにはDysnomiaがインストールしてあるので、Run Dysnomiaをとりあえず実行してみると、エラーが出た。エラーの内容からはDysnomiaをgsas2full/GSASIIの中にフォルダー毎入れる必要があることがわかった。早速コピーして入れたが、さらに実行ファイルのdysnomiaをdysnomia64.exeとrenameする必要があった(これはWindows用の実行ファイル名だと思うが)。(2021/09/15)最新版でもこの辺は変わってなかった。
    GSAS2-Dysnomia-density.png
    再度Run Dysnomiaを実行すると、今回は最初にDysnomia論文引用要請のダイアログが出てきて、OKをクリックすると、Rietveld法の結果を使ってDysnomiaに電子密度分布をMEM法で計算させることができた。結果の電子密度ファイルはプロジェクト(.pgx)を保存しているところで見つけたので、Vestaで見てみると、当然ながらこの構造に対応する電子密度分布が正しく得られていた。
  2. PawleyをやらなくてもRietveld計算の後でDysnomiaを使うこともできるようだ。その前にFourier Mapを計算させる必要がある。Dysnomiaでよい結果を得るには、RietveldでよくRwpを下げてから使う必要があるだろう。それと空間群のセッティングを標準に直しておくこと。