NetLogo 3Dプログラミング(その1:NaCl型結晶構造)

陽イオンと陰イオンのクーロン力(引力及び斥力)による結合がイオン結合である。イオン結合による結晶をイオン結晶といい、イオン結晶は異符号の電荷を持つイオン間の引力が最大になり、同符号の電荷を持つイオン間の斥力が最小になるように、陽イオンと陰イオンとが3次元の空間配置を取ったときに安定になる。イオン結晶で、各イオンがどのような空間配置を取るかは、イオン半径や電荷などで決まる。イオン結晶では、NaCl型(岩塩型)結晶構造、CsCl型結晶構造など様々な結晶構造を取り得る。

陽イオンと陰イオンが3次元的に隣どうしに配置する結晶構造がNaCl型結晶構造である。NetLogo 3Dでは、タートルの形を "circle" とすると、任意のサイズ・色で任意の場所に、球を簡単に作成できるので、各結晶構造モデルを簡単に描くことができ、いろいろな角度や位置から結晶構造モデルを眺めることができる。次は、NetLogo 3D で作成したNaClの結晶構造モデルをある方向から眺めたもので、Na+(黄色の球) と Cl-(緑色の球) の半径比が実際のイオン半径比になるようにした。

このNaCl結晶構造モデルのプログラムコードは

to setup
  ca
  crt 125
  let :num 0
  let :i -2
  let :j -2
  let :k -2
  repeat 5 [
   set :j -2
   repeat 5 [
    set :k -2
    repeat 5 [
     ask turtle :num [set shape "circle"
     ifelse ((:i + :j + :k ) mod 2) = 0 [set size 4.50][set size 6.48 ]
     setxyz :k * 5.49 :j * 5.49 :i * 5.49
     ifelse ((:i + :j + :k ) mod 2) = 0 [set color yellow][set color green]
    ]
    set :num :num + 1
    set :k :k + 1
   ]
   set :j :j + 1
   ]
  set :i :i + 1
  ]
end

と簡単である。ヨウ化リチウム LiI もNaCl型結晶構造を取る。次の図は、LiIの結晶構造モデルを、Li+(赤色の玉)とI-(紫色の玉)の半径比が実際のイオン半径比となるように、NetLogo 3D で作成したものである。


哲猫