差分

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

ab_initio:ase2dacapo_1 2013/10/30 20:36 現在
ライン 1: ライン 1:
 +====== 初めての第一原理計算(ASE2/Dacapo編) ======
 +pythonがインタープリタであることを活かして、一つ一つ入力しながら一酸化炭素(CO)の全エネルギーを計算してみよう。
 +
 +4Ax4Ax4Aの箱の中央に炭素(C)原子を、そこから1.1A離れたところに酸素原子を配置し、
 +価電子の状態をエネルギーの低い方から6個計算する。箱は周期的に並べられていると考える。
 +
 +まず、python を起動する。
 +<code>
 +  $ python
 +</code>
 +<code python>
 +  >>> from ASE import ListOfAtoms
 +  >>> box = ListOfAtoms([], cell = (4,4,4))
 +</code>
 +これで、周期的に並べられる4Ax4Ax4Aの箱を用意したことになる。
 +<code python>
 +  >>> from ASE import Atom
 +  >>> box.append(Atom('C', (2, 2, 2)))
 +  >>> box.append(Atom('O', (3.1, 2, 2)))
 +</code>
 +これで、CO分子を箱に入れたことになる。
 +<code python>
 +  >>> from Dacapo import Dacapo
 +  >>> c = Dacapo(nbands = 6)
 +  >>> box.SetCalculator(c)
 +</code>
 +計算条件、ここでは「6個の電子状態を計算する」という条件を設定している。
 +COの価電子数は4(炭素)+6(酸素)で10。スピンの多重度2で割ると5個。最低5個の状態を計算しなければならないので1増やして6に設定している。((実際の計算ではもう少し大きめにする。どのくらい大きめにするかは一度計算してみてその結果から決める。))
 +<code python>
 +  >>> c.Calculate()
 +</code>
 +とすることで計算はスタートする。((この例以外はこのやり方でやってはいけない。とっても時間がかる。))
 +<code python>
 +  Running /usr/bin//dacapo_2.7.7.run ./tmp0NttLG out.nc -out out.txt -scratch . -stop stop
 +  >>>
 +</code>
 +プロンプト(>>>)が戻ってきたら
 +<code python>
 +  >>> box.GetPotentialEnergy()
 +-591.60403519340969
 +</code>
 +と入力すれば全エネルギーが表示される。
ab_initio/ase2dacapo_1.txt · 最終更新: 2013/10/30 20:36 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