# Si(111)スラブ模型

3×3の大きさの(111)面を6層(3二重層)重ねたスラブ模型1)`ListOfAtoms`オブジェクトをつくる。

```from math import sqrt
from Numeric import array
############################################
dh = 1.48        # Si-H  bond length
b  = 2.35        # Si-Si bond length
############################################
c = b*4/sqrt(3)  # lattice constant of cubic cell
a = c/sqrt(2)    # side of triangle in (111) plane
d = b + b/3      # separation of double layers along [111] direction
############################################
NV = 6 # NV-double layer spacing for vacuum
NL = 3 # Slab contains NL double layers
N = 3  # NxN super structure
############################################
######### unit cell (super cell) setting ##########
u1 = a*sqrt(3)/2*N
u2 = a/2*N
u3 = d*(NL + NV)
a1 = (u1, u2, 0)
a2 = (u1, -u2, 0)
a3 = (0, 0, u3)
###################################################
###################################################
from ASE import Atom
atoms = []
for iLayer in range(NL*2):
iHLayer = iLayer%2
iDLayer = iLayer/2
iShifts = ((iLayer + 1)/2)%3
for iX in range(N):
for iY in range(N):
xPos = (iX + iShifts/3.)/N
yPos = (iY + iShifts/3.)/N
zPos = ((1 + iDLayer)*d + iHLayer*b/3)/u3
atoms.append(Atom('Si', (xPos, yPos, zPos), tag = 1))
# ----------------------------------------------------------
###################################################
from ASE import ListOfAtoms
slab = ListOfAtoms(atoms)
slab.SetUnitCell([a1, a2, a3])
###################################################```

できたら最後に

```from ASE.IO.xyz import WriteXYZ
WriteXYZ('slab_model.xyz', atoms = slab)
```

を付け加えてxyzフォーマットファイルを作成し、Jmol/iMolでできを確認せよ。

```# ----------------------------------------------------------
for iX in range(N):
for iY in range(N):
xPos = (iX*1.)/N
yPos = (iY*1.)/N
zPos = (d - dh)/u3
atoms.append(Atom('H', (xPos, yPos, zPos)))
for iX in range(N):
for iY in range(N):
xPos = (iX + (NL%3)/3.)/N
yPos = (iY + (NL%3)/3.)/N
zPos = (NL*d + b/3 + dh)/u3
atoms.append(Atom('H', (xPos, yPos, zPos)))```
1) 板状の構造模型
seminar/slabmodel.txt · 最終更新: 2009/05/09 18:14 by kimi