があらんどう

伽藍洞です。

He原子のエネルギー準位を表示してみる@Labview & igor

原子のエネルギー準位データベースとしてNIST(アメリカ標準技術研究所)の公開している
NIST atomic spectra databaseがあげられる。

ここでは様々な原子の準位や遷移が確認できてすごく便利だ。
数値データだけでなく、グロトリアン図としてグラフィカルに表示させることも可能だ。

今回はこのNIST atomic spectra databaseのLevelsをからデータを出力させてエネルギー準位をLabviewとigorを使ってプロットしようという試み。
こんな感じの図をプロットすることを目指す。

Atomic spectra databaseの調べ方

まずはデータベースの見方から。
検索エンジンでNIST atomic databaseなどで知らべると以下のサイトが検索結果に表示される。
www.nist.gov
アクセスするとLINES、LEVELS、GROUND STATES & IONIZATION ENERGIES、LIBSから選択できる。
今回はエネルギー準位を調べて表示したいのでLEVELSを選択。
個人的には遷移を調べるためにLINESを選択することもある。

クリックすると別ページに遷移する。
ページの上部にあるSpectrum:の右にある入力欄に調べたい原子を入力する。
今回は中性のヘリウム原子のエネルギー準位を調べたいのでHe Iと入力する。
ここで一価のイオンを調べたい場合はHe IIと入力する。

次に下の入力欄に表示させるデータの詳細を決められる。
今回はエネルギー単位をエレクトロンボルトにしたいのでeVを選択(デフォルトではcm-1)。
今回はランデのg因子等は非表示にしてPrincipal configuration、 Principal term、 Level、J のみチェックをいれた。(リファレンスも非表示)
その後Retrive Dataと書かれたボタンをクリックすると表になったエネルギー準位のデータが表示される。
以上の設定だと 電子配置のconfiguration、最外殻電子の軌道のterm、電子スピンと軌道の合成角運動量J、エネルギーの順番に表示される。

このHTMLの表のままだと取り扱いにくいので一度戻って、Format output:をCSV(text)に変更してもう一度Retrive Dataにして出力。
出力結果をCtrl + Aで全選択してコピー(Ctrl + C)する。メモ帳アプリを起動してペースト(Ctrl + P)。これをhe_nist.csvなどの名前で保存。(ファイル形式をすべてのファイルに)。

Labviewで準位を整理

エネルギー準位を軌道の角運動量とスピン角運動量による状態ごとに(つまりTermごとに)整理していく。
今回は2電子系なのでシングレットとトリプレットになる。また軌道角運動量はS、P、D、Fについて合計2×4=8個のtermについて整理する。
CSVからTermを読み込んで分類し、エネルギーを整理して表示するプログラムになっている。

プログラムの内部はこんな感じ(小さくてとても読めないが・・・)。ファイルを読み込んでconfigurationやTermの列ごとに分類。Termの記述を基に行を分類・整理。整理した準位をエネルギーでグラフにプロットして示している。

また、エネルギーの基準(どこをエネルギーゼロにとるか)にするかを選択できる。基底状態(最もエネルギーの低い状態)かイオン化エネルギーを基準にしてすべてのエネルギーをマイナスにして表示するか選べるようになっている。今回はイオン化エネルギー基準にする。

実際にCSVを読み込んでみた様子がこちら。

1S、3S、1P、3P、1D、3D、1F、3Fの順に並んでおり、軌道角運動量が異なるたびに一列間をあけている。(1や3はシングレット、トリプレットなので本当は左上につく)

これをきれいにグラフ化するためにCSVなどで出力する。
データとしては0が1S、1が3Sというような分類になっていて2列目がエネルギーの値になっている。
0, xx.xxxx
0. xx.xxxx
0, xx.xxxx
1, xx.xxxx
1, xx.xxxx
1, xx.xxxx
2, xx.xxxx
2, xx.xxxx
2, xx.xxxx

Igorでプロット

出力した結果をigorでプロットして見やすいグラフにする。
プロットには以下のigorマクロを使った。イオン化エネルギーを基準に撮っておることを前提にプロットしているので注意。
保存したCSVを読み込む wavc0とwave1として読み込まれていることを前提とする。

#pragma TextEncoding = "UTF-8"
#pragma rtGlobals=3				// Use modern global access method and strict wave access
#pragma DefaultTab={3,20,4}		// Set default tab width in Igor Pro 9 and later

macro level_plot()
Display/T wave1 vs wave0
ModifyGraph mode=3,marker=9,msize=8
ModifyGraph mrkThick=1
ModifyGraph mirror=2
label left "Energy [eV]"
ModifyGraph tick(top)=3,noLabel(top)=2
ModifyGraph fSize(left)=16

make/D/N=2/O limit_level
make/D/N=2/O limit_x

limit_level = 0
limit_x[0] = -10
limit_x[1] = 20
AppendToGraph/T limit_level vs limit_x
ModifyGraph standoff=0
SetAxis left -25,0.5
SetAxis top -0.5,10.5
ModifyGraph rgb(limit_level)=(0,0,0)

TextBox/C/N=text0/F=0/A=MC "\\Z14\\S1\\M\\Z14S"
TextBox/C/N=text0/Z=1/A=LT/X=2.00/Y=-7
TextBox/C/N=text1/F=0/A=MC "\\Z14\\S3\\M\\Z14S"
TextBox/C/N=text1/Z=1/A=LT/X=10.00/Y=-7
TextBox/C/N=text2/F=0/A=MC "\\Z14\\S1\\M\\Z14P"
TextBox/C/N=text2/Z=1/A=LT/X=30.00/Y=-7
TextBox/C/N=text3/F=0/A=MC "\\Z14\\S3\\M\\Z14P"
TextBox/C/N=text3/Z=1/A=LT/X=38.00/Y=-7
TextBox/C/N=text4/F=0/A=MC "\\Z14\\S1\\M\\Z14D"
TextBox/C/N=text4/Z=1/A=LT/X=56.00/Y=-7
TextBox/C/N=text5/F=0/A=MC "\\Z14\\S3\\M\\Z14D"
TextBox/C/N=text5/Z=1/A=LT/X=64.00/Y=-7
TextBox/C/N=text6/F=0/A=MC "\\Z14\\S1\\M\\Z14F"
TextBox/C/N=text6/Z=1/A=LT/X=84.00/Y=-7
TextBox/C/N=text7/F=0/A=MC "\\Z14\\S3\\M\\Z14F"
TextBox/C/N=text7/Z=1/A=LT/X=92.00/Y=-7

このマクロを動かすと以下のようなグラフが得られる。

縦軸はエネルギーであり、横方向にTerm(項記号)ごとにまとめたエネルギー準位をプロットした。
こうするとエネルギー準位もみやすくなるのではないだろうか。

遷移を調べる

せっかくなので遷移についても見ていこう。
最初に説明したNISTのatomic databaseに戻る。選択画面からLinesを選ぶ。原子はもちろんHe Iを入力して中性ヘリウムの遷移を調べる。例えば400~750nmの範囲に波長を絞ってRetrive Dataをクリック。一覧が表示されると思うが。例えば728.135nmの遷移に注目してみる。
この遷移はヘリウムのスペクトルランプで観測しやすい発光線である。
Lower levelとUpper levelの電子配置とTermを見てみる。スペクトルランプによる発光で考えるとUpper levelが光の放出前であり、Lower levelが放出後である。

Upper level   1s3s  \   ^1S
Lower level   1s2p  \   ^1P

である。これを先ほどのエネルギー準位のなかで記すと次のようになる。

高校でも習う電子配置で考えると以下のようになる。
ヘリウムの二つの電子のうち一つは基底状態にいる。もう一方が励起状態にいるわけだが、放出前には3sなのでM殻にいることになる。放出後は2pなのでL殻にいることになる。すなわち図で表すと以下のようになる。

角運動量に関して放出前はsなので角運動量  L = 0であることがわかる。さらに放出後はpなので  L = 1である。つまり角運動量 \Delta L = -1である。いわゆる遷移選択測をみたしていることも確認できる。
さらに電子スピンの配置もシングレットからシングレットへの遷移である。

もう少しこすってみる

今回作成したエネルギー準位の図を横方向に眺めてみる。すると横方向に近いエネルギーのかたまりがあることが見て取れる。これが角運動量によるエネルギーのシフトなのであるが、これについて高校の範囲+アルファで書いておこうと思う。
高校化学の範囲だとK殻L殻M殻というエネルギーの違いが示される。これが電子配置(configration)の1、2、3に相当する。
NISTのdatabaseを見直して各エネルギーのエネルギーを見直してみると以下のような電子配置になっていることがわかる。

高校における電子配置の図でこれらを書き示すと

となる。高校の範囲だと1s2s1s2pあるいは1s3s, 1s3p, 1s3dこれらはすべて同じエネルギーを持っているということだったが実際はこのようにエネルギーが分裂している。これを微細構造と呼ぶ。これについて簡単に記述していく。
まずは基底状態である 1s^2について。これについては最もエネルギーが低い状態というのはわかりやすい、上の電子配置のポンチ絵をみても明らかである。K殻にはいっている二つの電子のスピンはパウリの排他律に従ってスピンが反平行になっている。つまり、全スピンとしてはS=0となる。つまり、項記号の左家は
一方で軌道角運動量Ls軌道が示す通りL=0になる。以上からTerm、項記号としては^1Sとなる。さらにスピン軌道相互作用に由来するLS結合による量子数Jについて考えるとL=0S=0よりJ=0となる。項記号の右下に書くことが多いので^1S_0とまとめて書くことができる。
次に電子のうち一個が励起した状態になる。その中でも最もエネルギーが低いのが1s2sである。2s軌道には電子が上向きの電子スピンと下向きの電子スピンのいずれかが入れる。(正確には上向きと下向き両方入れるけどするともっとエネルギーが上がってしまう。)よりエネルギー低い状態を考えると1s軌道に入っている電子とスピンが平行である方がエネルギー的に得になる。つまり全スピンS=1になる。また、軌道角運動量はもちろんL=0、スピン軌道相互作用の結果J=1。以上から項記号は^3S_1。ここでエネルギー準位の図を確認してもらえば2番目にエネルギーが低いのが1s2s \    ^3S_1であることがわかるだろう。
三番目にエネルギーの低い準位は先ほどとは軌道は同じでスピンの方向が逆になった状態である。つまり、反平行なので全スピンS=0。つまり、J=1以上より項記号は1s2s \    ^1S_0になる。これが3番目であることも確認できる。
4番目は2つ目の電子の軌道角運動量l=1となっている電子配置。すなわち1s2pである。全スピンは反平行のS=0と平行のS=1になるので、この電子配置でもシングレットとトリプレットに分かれる。やはりエネルギー的に得をするのは平行のS=1のときである。軌道角運動量は2pに電子が入ったのでL=1である。ここから合成角運動量Jを考える。詳細は省くが、量子力学角運動量の合成によるとJ=2, 1, 0となる。ここまでさらっと合成角運動量Jをだしてきたが、そもそもこれは何なのか。詳細に述べるのは別記事にするとして簡単にここでは述べておく。
今考えているヘリウム原子系では角運動量量子数は、軌道角運動量量子数、スピン量子数と角運動量量子数が存在する。この二つの角運動量はそれぞれ個別に見た場合正しいのだろうが、遠目から原子を眺めた場合全体の角運動量としては別の値として見えるだろう。これが角運動量の合成である。つまり全体の角運動量を確認した場合軌道角運動量量子数もスピン量子数も量子数として良い量子数ではなくなってしまう。(良い量子数とはある特定の量子状態を特定できる値である。)量子状態を指定する良い量子数はもはや二つを合成したJという量子数になっている。これがJの起源であり、角運動量の合成である。Jができた結果もとのエネルギーからは微妙にエネルギーがシフトしたり、分裂したりするのだが、これが微細構造分裂である。
つまり、今回新たな量子数としてJ=2, 1, 0が生まれたわけだが、先ほど述べたようにすべてエネルギーが微妙に異なる。実際一本に見えるエネルギー準位をよく拡大してみると以下の図のように三本に分裂している。

縦軸を見てもらえば右の拡大図が0.0003eVの範囲であることがわかる。これだけ小さい構造なので「微細」構造なのである。

まだまだこすれるけどまたの機会に

今回得られた結果を理解するためにヘリウム原子のシュレディンガー方程式を解いてみようという話になる。これを楽しむことももちろんできるのだが、それだけで十分1記事になるのでとりあえずここらへんでおしまいにしたい。
今回は簡単に角運動量の合成について特に微細構造について述べたが、角運動量の合成の詳細もについてもまだまだ語るところがあるので別の機会に記事にしたい。