問題 13 のヒント

「金」のクラスターを作図せよ、というのが問題ですが、ここでは鉄を例として作図してみます。一番大きいものは、「直径 2 nm の球形粒子を切り出せ」ということですから、あらかじめ一辺 2 nm (= 20 Å)  以上の立方体形の鉄原子の結晶構造を作り、そこから丸く切り出せばよいでしょう。

鉄の場合、単位格子の一辺は 2.867 Å ですから、一辺 20 Å 以上にするには、(20/2.867) = 6.98 なので、7 回単位格子を繰り返せばよいのですが、はじっこの鉄原子がないので、余裕をみて 8 回繰り返しましょう。
 に作ったエクセルファイルを利用するなどして、鉄の単位格子を 8 回繰り返したファイルを作成します。

x, y, z の各方向に 8 回繰り返すとなると、8 × 8 × 8 = 512 回!繰り返さねばなりません。少し楽をすることを考えます。

n進数の考え方を使って、平行移動の計算を行う

整数化された平行移動のベクトルは、例えば、
 (0, 0, 0)から始まって(0, 0, 1), (0, 0, 2), (0, 0, 3) … といって (0, 0, 7) と、まず z 方向に 8 回繰り返します。
続いて y 方向 に 1 づつずらしたパターンを
(0, 1, 0),  (0, 1, 1), (0, 1, 2), (0, 1, 3) …  (0, 1, 7),
(0, 2, 0),  (0, 2, 1), (0, 2, 2), (0, 2, 3) …  (0, 2, 7),
(0, 3, 0),  (0, 3, 1), (0, 3, 2), (0, 3, 3) …  (0, 3, 7),


(0, 7, 0),  (0, 7, 1), (0, 7, 2), (0, 7, 3) …  (0, 7, 7),
と 8 回繰り返します。
今度は x 方向に 1 ずらし、
(1, 0, 0), (1, 0, 1), (1, 0, 2), (1, 0, 3) …  (1, 0, 7)

とやるわけですが、これは 8進数 と同じパターンです!

10進数 を n 進数に変換した各桁の数値は、エクセルの mod 関数と int 関数を使って計算できます。

mod(数値, 除数)
数値を除数で割った余りを返す

int(数値)
数値を最も近い整数に切り捨てる

A列に 0~511 までの 512 個の数値を入れ、

B列 (x方向の平行移動値, 8進数の3桁目)
= mod(int(A4/8^2),8)
C列 (y方向の平行移動値, 8進数の2桁目)
= mod(int(A4/8^1),8)
D列 (z方向の平行移動値, 8進数の1桁目)
= mod(int(A4/8^0),8)

としてコピーすれば、平行移動の部分は一気にできます 1)7 進数の場合は、8 のところ (2 箇所) を 7 に変えます。

エクセルファイル

鉄の場合は単位格子中の原子は 2 個ですから、作った 512 行分 を下にコピーし、単位格子内の位置のベクトルを(0.5, 0.5, 0.5)に変えればよいですね。これで総計 1024 原子分のファイルができます。

この時点の結晶モデル

各原子の、立方体中心からの距離を求める

上記の立方体の中心座標は、概ね、繰り返しの 4 回目 (2.867 Å  × 4) より、 (11.468, 11.468,  11.468) あたりだと思われます。エクセルのシート上で、各原子の、立方体の中心からの距離を求めましょう。三平方の定理から

 \sqrt{(x-11.468)^2+(y-11.468)^2+(z-11.468)^2}

とすれば距離を求めることができます 2)エクセルでは、2 乗の計算は ˆ2、ルートの計算は ˆ(1/2) または =SQRT() で行うことができます

L列に中心からの距離を入れる

距離の小さい順に並べなおす(ソート)

ここでエクセルのソート機能を使って、行を距離の小さい順に並べます。

下記のように、並びなおしたい部分(4行目より下全部)を選択した状態で、上部メニューから [データ]-[並び替え] を選びます。

並びなおしたい部分を選択
並び替え

出てきたウィンドウで、最優先されるキーに [列L](距離) を、順序に [小さい順](昇順) を選び、[OK] を押します。

並びなおし後

これで、L列 (距離) の小さい順に、行ごとにデータが並びなおされます 3)最初の行(4行目)にある鉄原子は立方体中心からの距離が 0 Å。すなわち、ちょうど中心にあることがわかります。続いて、距離 2.483 Å に 8 個の原子 (5~12行目) があることがわかります。これは体心立方格子の最隣接原子数  8 と対応しています。

これで例えば、直径 1 nm の球形に切り出したい場合は、距離が 0 から 5 Å までの行を選んで、 .xyz ファイルを作成すれば図は出来上がりです。(1 行目の原子数は修正する必要あり) 

「表面」にある原子の数を見積もる

問題では、「表面」にある原子の数を見積もる(数える) 必要があります。
これは厳密には難しいですが、上のエクセルファイルの「中心からの距離」を使い、表面から原子1個分の厚みの範囲にある原子数を数えてみてはどうでしょうか。
鉄の  Atomic 半径は 1.26 Å のようなので4)vesta で、半径の種類を指定するウィンドウ中で Radius として値を見ることができます。、直径は 2.52 Å。先ほど直径 1 nm のクラスターを切り出した際には、中心から 0~5 Å の距離の原子を取り出しましたから、そのうち 2.48~5 Åの範囲(厚み 2.52 Å)にあるものを数えると表面「近く」にある原子の数になっていると思います。

ここで決めた「厚み 2.52 Å」が妥当かどうかは、実際のモデル図で確かめてみるとよいと思います。ここで「表面に存在している原子」とした鉄原子を、モデル図上で色を付けるなどして、明らかに表面にあるのに数えられていないとか、明らかに表面にはない(外から見えない)のに表面原子として数えられているとか、がないかを調べます。

各原子の色は vesta 左メニューで、通常 [Style]となっているタグを [Objects]に切り替え、C L S V と出ている C を設定することで変えることができます 5)ちなみに、 C は Color, L は Label(ラベル, 文字), S は Select(選択), V は Visible(表示)の設定です。

原子ごとの色の変更

脚注

1 7 進数の場合は、8 のところ (2 箇所) を 7 に変えます。
2 エクセルでは、2 乗の計算は ˆ2、ルートの計算は ˆ(1/2) または =SQRT() で行うことができます
3 最初の行(4行目)にある鉄原子は立方体中心からの距離が 0 Å。すなわち、ちょうど中心にあることがわかります。続いて、距離 2.483 Å に 8 個の原子 (5~12行目) があることがわかります。これは体心立方格子の最隣接原子数  8 と対応しています。
4 vesta で、半径の種類を指定するウィンドウ中で Radius として値を見ることができます。
5 ちなみに、 C は Color, L は Label(ラベル, 文字), S は Select(選択), V は Visible(表示)の設定です。