X-ray Laue backscattering pattern simulator
Introduction
[Web App.] X-ray Laue Backscattering Pattern Simulator
固体物理の実験をしていると、しばしば結晶の方位を決める必要が出てきます。(単結晶が育成可能な物質を研究している場合、という条件付きですが。)
例えば磁化や電気抵抗の異方性を測りたい場合や、X線や中性子散乱実験をするために試料の方位を定めてサンプルホルダーにセットする場合などが考えられます。そんな時、最もよく使われるのが、X線背面反射ラウエ法ではないかと思います。試料に白色X線を当て、そこから生じたBragg反射をX線イメージングプレートやCCDカメラなどで測定する方法で、大学などで使ったことがある人も多いのではないかと思います。ちなみに私の出身大学にも古いX線ラウエ装置があり、私が卒業研究を始めた頃はポラロイドフィルムでX線写真を撮っていました。
ここに示したのは物性研のラウエ装置です。中央の穴から入射X線が出てきて、ゴニオメーターに取り付けた試料に当たります。
その後、Bragg散乱されたX線は入射方向と逆方向に跳ね返るように飛んでいき、検出器(この場合はイメージングプレート、写真の白い部分です)に当たって検出されます。このような方法を背面反射と言います。
X線ラウエで測定された例の一つとして、cubicの結晶の[111]軸に(ほぼ)平行にX線を入射した場合の散乱パターンを示します。Cubicの[111]軸は三回回転対称性を持っているので、散乱パターンも三回対称であることがわかると思います。
このように、特徴的な対称性を持つ軸をただ見つけるだけだったら割と簡単なのですが、実際はこの後で試料を切ったり、試料ホルダにマウントしたりする必要があります。その際に以下のような疑問が出てくることがあります。
目的の軸がずれているように見えるけど、何度くらいずれているのか分からない。
(上記の例では)三回対称の[111]軸が入射X線と平行になっていることは分かったけど、[111]と直交する[1-10]軸や、[11-2]軸がどちらの方向を向いているか分からない。
Tetragonalの結晶の[001]軸から入射して、4回対称は見えたけど、それに垂直な方向で[100]と[110]方向の区別がつかない。
結晶がorthorhombic, あるいはmonoclinicなので、狙った軸方向の反射がどのようなパターンになるか分からない。
これらの疑問の多くは、LauePtなどのシミュレーションソフトウェアを用いることで解決することができると思います。ただ、シミュレーションと実験の模様を見比べて「絵合わせ」をするのはなかなか面倒ですし、測定した画像の中にどこまでの反射が入っているかは、検出器の面積と、試料-検出器間距離に依存します。
さらに測定したラウエパターンの原点が画像の中心からずれている、なんてこともあると思います。
このような場合でも、定量的に結晶方位とそのずれ角等を評価するには測定した散乱パターンの画像とシミュレーションを重ねて表示するのが一番です。このプログラムを使ってやってみましょう。
How to use
Crystal structure
Crystal structure : 格子定数のa,b,c,α,β,γを入力して「Set lattice」を押してください。
Reflection condition : 空間群によってきまる反射条件のうち、全てのhklに適用されるgeneralなものを選択してください。
Orientation : 結晶の方位を決めるために2つのベクトルを入力します。これらは逆空間のベクトルであることに注意してください。u, v ベクトルのうち、uが入射X線に平行方向、vがuとは独立で水平面にあるベクトルです。
Incident X-ray beam
λmin : X線の管球と印加電圧によって決まる、X線波長の「最小値」を定義します。波長が短いほど逆空間の広い領域にアクセスすることができ、多数の反射が得られます。シミュレーションの点数が多すぎる時にはλminを大きくすると点の数を減らすことができます。
Observed Laue pattern
測定されたラウエパターンの画像をシミュレーションと重ねることができます。画像ファイルのフォーマットは、jpg, png, bmpなどです。読み込まれた画像のサイズを認識して、「Detector map」の表示画面も自動的にリサイズされます。
Simulation
Sample rotation : シミュレーションの中で試料を回転させることができます。x,y,z軸それぞれに対して、「rotate」ボタンを押すと、その前のテキストボックスに指定された角度だけ回転させることができます。
Detector params : 下記の項目の設定ができます。
Sample-detector distance: 試料-検出器間距離です。(Note: 物性研のラウエでは湾曲IPを使っていますが、測定後のデータ処理で仮想的にフラットな検出器面のデータに変換することができます。その時に試料-検出器間距離を誤って入力すると画像自体が歪んでしまうので注意してください。その変換時の歪みはこのプログラム上では考慮されません。)
Vertical length of the detection area: 検出器の縦方向の幅です。物性研Laueの縦方向の幅は80 mm程度なので、これがデフォルト値になっています。検出器の横方向の幅は画像のピクセル数から自動的に計算されます。
Offset of the center position: 実際の測定データとシミュレーションを重ねた時に、中心がずれていることがあると思います。その場合は、シミュレーションの原点をずらすためのオフセットを(X_offset, Y_offset)のようにピクセル単位で入力してください。
Target reflection: (Ht,Kt,Lt)で指定した反射がシミュレーション上で二重丸でハイライトされます。ここで、散乱ベクトル(Q)はQ=ki-kfで定義されていることに注意してください。a*軸がビームと同じ方向を向いている時、100反射が検出器に写ることになります。
Detector map
シミュレーションおよび測定したLaue patternが表示されます。rotateボタンで試料を回転させ、シミュレーションのパターンも回転することを確認してみましょう。デフォルトサイズは1200x400 pixelですが、読み込ませた実験データのピクセルサイズに合わせて自動的にリサイズされます。
Sample orientation viewer
入射中性子の方向と逆格子基底a*, b*, c*を三次元描画しています。下の「Camera angle」のスライドバーを動かして、視点を変えてみましょう。各軸が入射X線に対してどのように向いているかがわかるはずです。
Tutorial
まずはすでに測定されたデータを使ってやってみましょう。下記のリンクは物性研ラウエを使って測定された、あるTetragonalの結晶のラウエ写真です。ダウンロードして、デスクトップなど適当なところに保存してください。
[Example] ISSP_Laue_example01.bmp
結晶構造の情報は以下の通りです。
Crystal structure : a=b=4.1, c=10.2,α=β=γ=90
Reflection condition : H+K+L=2n
Orientation : u=(0,0,1), v =(1,1,0)
Observed Laue patternのセクションから画像ファイルを読み込ませます。
すると、このようにシミュレーションの中心と、測定画像の中心がずれていることがわかると思います。
これを補正するために「Offset of the center position」に
(-6, -7)
と入力し「Set」を押します。
この測定を行った時は、試料とフィルムの距離が約50 mmでした。そこで、「Sample-detector distance」に「50」を入力して「Set」を押します。
だいぶ良くなってきました。
「rotate z+」でz軸(鉛直軸)を中心に1度回転させ、さらに反射の数を制限するために λminを「0.65」くらいに設定してみましょう。
最後にSample-detector distanceを「50.5」に微調整しました。全ての反射がシミュレーションとぴったり合っていることがわかると思います。
この時に入射X線に対して逆格子基底がどのような方向を向いているか、Sample orientation viewerを使ってみてみましょう。
c軸がX線とほぼ平行になっており、a*, b*軸が±45方向に向いているということがわかると思います。これで「4回対称の軸は見つかったけど、どっちが[100]でどっちが[110]かなぁ」と悩まなくて良くなると思います。
あとはみなさん自身のサンプルで試してみてください。ソースコードも
https://github.com/taro-nakajima/X-ray_Laue_backscattering_simulator
で公開されていますので、プログラムが好きな人は自分で改良してみてください。