Si や Ge の価電子帯の等エネルギー面は球形ではなく,結晶軸の特定の方向が 突出した形になっている. このようなエネルギー面は fluted surface あるいは warped surface と呼ばれている. もともとは価電子帯の準位をなす波動関数がp波の対称性を有していることから このような異方性が出現している. 具体的にどの程度の異方性であるのか,視覚的に見たいと思い, 価電子帯のエネルギー面を3次元 (3D) で描画してみることにした. 3Dの描画ソフトとしては,時々簡単なグラフを描いているGnuplot (4.4) に 3次元描画機能があるので,Gnuplot を使うことにした. しかしながら,私はGnuplotを使いこなすほどにGnuplotを熟知しているわけではない. それで,まずネットで球に近い閉じた曲面を描画している例を探したが,ぴったりと当てはまる ものがなかなか見つからない. 球やドーナッツのような数式で記述できる閉じた3次元表面の描画例はあるのだが, 数値計算結果のデータファイルを取り込んで閉曲面を描画している例は, 相当時間を掛けて調べたつもりであったが,結局見当たらなかった. そこで仕方がないので,Gnuplot の使い方やマニュアルをネットで検索して読みながら, warped surface の3D 描画方法を自分で考えてみた. かなりの時間を掛けて,悪戦苦闘の末, 一応メッシュで描いた3D像を不十分ながらもようやく作成することができた. 苦労したので,その方法をメモしておこう. warped band のエネルギー \cal{E} は次式で表される.
3D描画には ということは,Gnuplot での内部処理は,格子の最小単位の四角形を 端のほうから次々に曲面上に描く作業をしているということに違いない.そういうことがわかる. それなら,最小単位となる四角形の頂点の座標が定義できさえすれば良いので, xy面内の格子点は必ずしも直線上に並んでいる必要はないはずである. そこで,簡単なデータファイルを作って試してみると,確かにその通りで, xy面内の格子点の並びが曲がっていても ギザキザでも3Dメッシュを描いてくれることがわかった. しかし,3次元空間の閉曲面をこの方法で,つまりxy平面上の 格子を閉曲面に射影して上の書式のようなデータを作ることはできない. なぜなら,z座標が2価になったり,射影点が存在しない格子点が出てくるからである. それなら,閉曲面の上に直接(M+1) \times (N+1)の格子を
描けばよい.もしこれが描ければその格子点の座標を上の書式で並べれば3D 描画ができる.
しかし,これには次の2つの問題がある.
四角形の格子で閉曲面を区切るには,迂回方法として, 北極と南極に小さい穴を開けて,それ以外の部分を経度線と緯度線で区切って 等価的な矩形の格子にすることができる. これでも良いのかもしれないが,何かごまかしているようで気持ちが悪い. それで極座標の方位角,極角を2次元面としてこの上に格子を描き, それを閉曲面に転写することを考えよう. これで解決したような気になるが,ちょっと考えると, 北極,南極に接するところが,四角形ではなく三角形になってしまうことがわかる. やはり,三角形の問題は避けられない. Gnuplotが内部処理している内容を考えると, 三角形のpelette を3次元の閉曲面に描画するのも,四角形を描画するのと 本質的には差がないと考えられる.それなら,この三角形を,四角形で2つの頂点の座標が たまたま一致している場合とみなせば同じように処理してくれるのではないだろうか. そこで,また簡単なデータファイルを作って試してみると,問題なく描画してくれる. これなら問題ない.ということで問題は解決してしまった.残ったのは rの計算だけであるが, これは簡単な プログラム で計算できる. プログラムでは,まず\phi-\theta面で (M+1) \times (N+1)の格子を作り, 各格子点で, (2)\hspace{8mm} x=r \cos\phi\sin\theta (3)\hspace{8mm} y= r\sin\phi\sin\theta (4)\hspace{8mm} z= r\cos\theta として,この x, yから r を求め z を求めている. こうして得られた一連のデータを用いて最初に示した書式に沿ってデータファイルを作れば良い. 以上のようにして作成したファイル
set ticslevel 0 set hidden3d splot "warped_band-1.txt" using 1:2:3 with line ls 0 その結果,次のような3Dのメッシュ表示が得られる. |
![]() ![]() |
以上の画像は3Dメッシュ画像であって,色彩や濃淡による
3D画像ではない.
Gnuplot では |