最密充填構造の断面・表面 (3)

(2x2) の吸着構造を描く

Part (1)に戻る
<原子の平面位置を仕分ける>

一種類の原子が下地の金属原子の上で吸着する場合を考えます。 原点からの距離 R を前頁の原子について計算し、小さい順に並べ替えます。

  • R=a: 図の赤丸は下地の表面構造そのものになります。
  • R=√2 a:次の黄色は45°傾いた正方形を形成します。
  • R=2a: 黄緑の位置に吸着すれば (2x2)構造となります。

<単位構造>

すべての吸着原子を表すための単位構造です。線形代数的には二本の直交ベクトルを取ればよいのですが、ここでは正方形の4隅に出るベクトルの組を単位構造とします。

<(100)面の構造>

<(100)面における(2x2)吸着構造>

再帰的にすべての点を生成することを試みます。今対象としている点が未処理(有効)であれば●をつけて次に行き、処理済みであれば何もしません。 簡略化コードは次のような感じです。Iter(0) で0番目の点から出発して●を打っていきます。

  PROCEDURE Iter(currpos: INTEGER);
    BEGIN
      FOR i:=0 TO 3 DO
        rxy.x:= proj[currpos].x + ofs*cos(th[i]);
        rxy.y:= proj[currpos].y + ofs*sin(th[i]);
	    IF isInside(rxy) AND isMatched(nextPos) THEN
	      Iter(nextPos);
	    END;
	  END;
    END Iter;
指定した領域内であることをisInside で確認し、nextPos番目の原子位置が有効であることをisMatched で確認します。 右図では吸着原子は下地原子の 1.4倍の大きさです。
<(100)面における(2x2)吸着構造>

<(111)面における(2x2)吸着構造>

上の th を 0, 60, ...,300°として Iter関数を実行すれば吸着原子が描けます。

<(111)面における(2x2)吸着構造>

3-8-2021, S. Hayashi