seminar:graphene
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
seminar:graphene [2019/12/03 15:37] – [計算の実行] kimi | seminar:graphene [2022/08/23 13:34] (現在) – 外部編集 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
====== 総合演習 ====== | ====== 総合演習 ====== | ||
- | グラフェンを例に、より詳しい計算の演習を行おう。 | + | グラフェンを例に、より詳しい計算の演習を行う。 |
- | ===== 計算の実行 | + | |
+ | ===== 計算の前に ===== | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | ===== プログラムの概要 | ||
<code python> | <code python> | ||
a0 = 2.461 # Lattice constant of Graphene | a0 = 2.461 # Lattice constant of Graphene | ||
行 10: | 行 15: | ||
c3 = (0.0, 0.0, a0*8.0) | c3 = (0.0, 0.0, a0*8.0) | ||
- | unit_cell | + | from ase import Atom |
+ | atom1 = Atom(' | ||
+ | atom2 = Atom(' | ||
- | # --------------------------- | ||
- | # Common part of calculations | ||
- | # --------------------------- | ||
from ase import Atoms | from ase import Atoms | ||
- | box1 = Atoms(list_of_atoms, pbc = True) | + | box1 = Atoms([atom1, atom2], pbc = True) |
- | box1.set_cell(unit_cell, scale_atoms = True) | + | box1.set_cell([c1, c2, c3], scale_atoms = True) |
from ase.calculators.jacapo import Jacapo | from ase.calculators.jacapo import Jacapo | ||
- | solver1 = Jacapo(**kwargs) | + | solver1 = Jacapo(nbands = 8, kpts = (2, 2, 1), pw = 150, dw = 150) |
box1.set_calculator(solver1) | box1.set_calculator(solver1) | ||
solver1.calculate() | solver1.calculate() | ||
行 26: | 行 31: | ||
===== 単位格子の設定 ===== | ===== 単位格子の設定 ===== | ||
<code python> | <code python> | ||
- | a0 = 2.461 # Lattice constant of Graphene | + | b0 = 1.42 # C-C bond length |
from math import sqrt | from math import sqrt | ||
- | c1 = ( a0*sqrt(3.0)/ | + | a0 = b0*sqrt(3.0) |
- | c2 = (-a0*sqrt(3.0)/ | + | ax = a0*sqrt(3.0)/ |
- | c3 = (0.0, 0.0, a0*8.0) # Height of 3D unit cell | + | ay = a0/2.0 |
+ | az = a0*8 # Height of 3D unit cell | ||
+ | c1 = ( ax, ay, 0.0) | ||
+ | c2 = (-ax, ay, 0.0) | ||
+ | c3 = (0.0, 0.0, az) | ||
unit_cell = [c1, c2, c3] # Unit cell | unit_cell = [c1, c2, c3] # Unit cell | ||
行 38: | 行 47: | ||
<code python> | <code python> | ||
+ | v1 = (1.0/3.0, 2.0/3.0, 0.5) | ||
+ | v2 = (2.0/3.0, 1.0/3.0, 0.5) | ||
+ | positions = [v1, v2] | ||
from ase import Atom | from ase import Atom | ||
- | atom1 = Atom(' | ||
- | atom2 = Atom(' | ||
- | list_of_atoms = [atom1, atom2] | + | list_of_atoms = [] |
+ | for pos in positions: | ||
+ | atm = Atom(' | ||
+ | list_of_atoms.append(atm) | ||
+ | |||
+ | # # list_of_atoms is a list of [atom1, atom2] | ||
</ | </ |
seminar/graphene.1575355057.txt.gz · 最終更新: 2022/08/23 13:34 (外部編集)