差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

seminar:slabmodel 2009/05/01 15:20 seminar:slabmodel 2009/05/09 18:14 現在
ライン 1: ライン 1:
 +====== Si(111)スラブ模型 ======
 +3x3の大きさの(111)面を6層(3二重層)重ねたスラブ模型((板状の構造模型))の''ListOfAtoms''オブジェクトをつくる。
<code python> <code python>
from math import sqrt from math import sqrt
ライン 35: ライン 37:
      zPos = ((1 + iDLayer)*d + iHLayer*b/3)/u3       zPos = ((1 + iDLayer)*d + iHLayer*b/3)/u3
      atoms.append(Atom('Si', (xPos, yPos, zPos), tag = 1))       atoms.append(Atom('Si', (xPos, yPos, zPos), tag = 1))
 +# ----------------------------------------------------------
 +###################################################
 +from ASE import ListOfAtoms
 +slab = ListOfAtoms(atoms)
 +slab.SetUnitCell([a1, a2, a3])
 +###################################################
 +</code>
 +
 +できたら最後に
 +<code>
 +from ASE.IO.xyz import WriteXYZ
 +WriteXYZ('slab_model.xyz', atoms = slab)
 +</code>
 +を付け加えてxyzフォーマットファイルを作成し、Jmol/iMolでできを確認せよ。
 +
 +以下のようにして、スラブの表面と裏面のダングリングボンドを水素で終端できる。
 +<code python>
# ---------------------------------------------------------- # ----------------------------------------------------------
for iX in range(N): for iX in range(N):
ライン 48: ライン 67:
    zPos = (NL*d + b/3 + dh)/u3     zPos = (NL*d + b/3 + dh)/u3
    atoms.append(Atom('H', (xPos, yPos, zPos)))     atoms.append(Atom('H', (xPos, yPos, zPos)))
-################################################### 
-from ASE import ListOfAtoms 
-slab = ListOfAtoms(atoms) 
-slab.SetUnitCell([a1, a2, a3]) 
-################################################### 
-from ASE.IO.xyz import WriteXYZ 
-WriteXYZ('slab_model.xyz', atoms = slab) 
</code> </code>
 +
 +
seminar/slabmodel.txt · 最終更新: 2009/05/09 18:14 by kimi
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0