新しいEXPO2 の履歴(No.11)


新しいEXPO2について

EXPOv2-menu.png

 新しいEXPO2 2.2.26が2024年7月にリリースされました。現在WindowsとLinux版が利用できます(Mac版はまだです)。Windows版をちょっといじったところではGUIがモダンになっていて多少変更があるようですが、機能的に新しい部分は見つかりませんでした(しかしないとも言えない)。なお、2024/10/23時点で最新版は2.3.3で10/18にリリースされています。

バグ?

 しかし1つ問題を見つけました。FileメニューからなぜかNewがなくなっているのです(右のスクリーンショット)。以前のEXPOの計算で作成した*.expファイル等があるならば、Load&GoやLoad Projectで計算開始できますが、Newがないと新規の解析ができません。回折データは読めるのですが、そこから先が進めません(2.2.26の時点では)。多分今後訂正されるとは思いますが…フォームから要望を送ろうとしたのですが、うまくいきませんでした。
 その後、作者らに直接コンタクトしてNewの問題を尋ねました。それによるとNewはなくても計算できるようにしているとのことでした。実際、バージョン2.3.3を使ったところ、Newなしで新規計算ができるようになってました(これ2.2.26の時には確かできなかったのですが…)。

新規初期構造解析の方法

 現在Newがないので新規計算を開始する方法が以前とは異なっています。
 まず回折データをFileメニューからImport Diffraction Patternで読み込みます。ここでX線(実験室系)、放射光か中性子か、波長、2つ目の波長があるかどうか(Kalpha2がある場合に対応)を尋ねるダイアログが出てきます(以前はなかったものです)。ここをその回折データに合わせて設定して、OKボタンをクリック。パターンが表示されるはず。
 解析の角度範囲を絞りたい場合はPatternメニューからRangeを選んで、最小角度と最大角度を設定します。OKをクリック。
 次にバックグラウンドを決めます。PatternメニューからBackground->Generate Backgroundを選んで、関数形やその次数を設定します。パターンにバックグランドのポイントが丸印で表示されるので、それを見て問題なければOKをクリック。普通はデフォルト設定で問題ないのでまずはそれで試します。
 私はスムージングはしないのでパス。次にピークサーチをします。PatternメニューからPeak Searchを選ぶ。パターンを見て、ピークが検出されていることを確認。あまりよくない場合は、Peak Search Conditionsを選んで、そこでパラメーターを変えて、主なピークが検出されるように、またノイズをピークとして拾わないように調整します。個別にピークの追加・削除も可能です。もし不純物相のピーク位置が分かっているなら削除しておいた方がIndexがうまくいくはずです。OKをクリック。
 次はIndexで特に拘りがなければN-TREOR09を選択して、パラメーターを設定してRunボタンをクリックする。特に重要なのはimpurity linesの数で、多いと計算に時間がかかります。ある程度体積や格子定数が推定できる時は範囲を狭めておくと速く計算が済みます。しばらく待つと格子定数の候補を出してくるので、M20などのfigure of meritパラメーターを参考に選びます(候補が複数ある場合)。M20等の値が低く、候補数が多い場合は多分正しい格子定数が得られてません。N-TREOR09に戻って設定を変えるか、他の指数付プログラムを試した方がいいかも。よい候補が見つかったら、そのラインを選択して、OKボタンをクリック。ここでダイアログが出てきます。空間群サーチをするかどうか(するがデフォルト)、Cell Contentは必ず入力する必要があります。分からない時はとりあえず化学組成通りに入れると、密度を計算してくれるので、それらしい密度になるようにその化学組成の何倍かにしてみます。ここは初期構造を解くときには重要な情報ですが、Rietveldだけをやるなら適当でいいはずです。よければOKボタンをクリック。
 これで赤バックグラウンドのNextアイコンが上部のアイコンの中央あたりに出てきたはずです。これは以前のバージョンで右端に出てきたNext >と同じ役割で、ここをクリックすると先に計算が進みます。なのでこれ以降は以前と基本同じ操作になります。NextボタンをクリックするとまずLe Bail fittingが行われて、空間群サーチが行われて、空間群候補リストのダイアログが出てきます。ここで適当な空間群を選んで、OKボタンをクリック。またNextボタンをクリックすると選ばれた空間群でまたfittingを行い、その強度をベースに初期構造を直接法で1つ求めてくれます。RefineメニューからRietveld法へ進むこともできます。

新規Rietveld精密化の方法

 Rietveld法だけを行う場合は、回折パターンを読んだ後に構造ファイルcifを読み込んで、すぐRefineメニューのRietveldで実行できます。これは1相の場合です。多相がGUIから出来るか試したのですが、どうもまだ対応してないようです。GUIからやると最後に読んだ構造しかrefinementには使われません。以前通り*.expをマニュアルで直して対応する必要があるようです。以前のバージョン用に作った3相の.expファイルを使ってみたら正常にrefineされました。なのでEXPOでRietveldの多相解析のやり方はまだ使えます。

対応策

(以上の事情なので最新版では以下の対応は不要ですが、*.expファイルの解説になっているので残しておきます)
 現状でも*.expファイルをエディタか何かで作ってやれば新規計算を行うことができます(普通のテキストファイル)。以下に1つforsterite.expの例を置いておきます。%がある行は命令を指定しているようなもので、その中にパラメータが指定されて場合もあります(%dataなど)。マニュアルに詳しい説明があります。%dataは使うデータを指定する部分で、rangeは2thetaの計算で使う領域の指定。patternは粉末回折データの場所の指定で、この場合は同じディレクトリにあるforsterite.xyを使うようにしています。また、X線波長はCu Kalpha1を使用。Kalpha1+2の場合は、次の行にalpha2を追加します。contは1格子中の原子の数ですが、最初から分かっていれば入れておきます。指数付もできてない状態なら適当な値でいいです(何もないと指数付の後に入力を求められるはずです)。指数付にはntreorを選択してます(%ntreor)。この例の場合(%continue)だと、Nextボタンをクリックして進んでいくと直接法を使って構造を求めて終わりになります。そこからRietveldへ進むこともメニューから可能です(ただ直接法で求まった構造は似た散乱因子の原子を取り違えていたり、重複する原子があったりする場合があるので、その際はRietveldする前に構造をeditする必要があります)。

%structure forsterite
%job structure forsterite
%data
range 5.000 100.000
pattern forsterite.xy
wave 1.540560
cont Mg8 Si4 O16
%ntreor
%continue

 Load Examplesには3つのチュートリアルファイルがあるので、それらの*.expoファイルも見ると参考になると思います。cimeは放射光データで、ntreorで指数付をして、直接法で構造を解く場合。mercaはCu Ka1で、既に格子定数、空間群、Zは分かっていて、直接法で構造を解く場合。paracetamolもCu Ka1で、格子定数、空間群、Zは分かっていて、シミュレーテッドアニーリングで分子を動かして構造を解く場合。