この文書の現在のバージョンと選択したバージョンの差分を表示します。
seminar:al_eos 2014/02/01 10:29 | — 現在 | ||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | ====== アルミニウム結晶の状態方程式(エネルギーの体積依存性) ====== | ||
- | <code python> | ||
- | def get_fcc_unitcell(p): | ||
- | c = [( 0.0, p/2.0, p/2.0), | ||
- | (p/2.0, 0.0, p/2.0), | ||
- | (p/2.0, p/2.0, 0.0)] | ||
- | return c | ||
- | |||
- | b = 4.05 | ||
- | |||
- | from ase import Atom, Atoms | ||
- | from ase.calculators.jacapo import Jacapo | ||
- | bulk = Atoms([Atom('Al', (0, 0, 0))], pbc = True) | ||
- | |||
- | para = {} | ||
- | para.update(kpts = (4, 4, 4)) | ||
- | para.update(nbands = 6) | ||
- | para.update(ft = 0.01) | ||
- | |||
- | print 'Volume(A^3) Energy(eV)' | ||
- | |||
- | for fraction in [0.9, 0.95, 1.0, 1.05, 1.1]: | ||
- | ncfile = 'bulkAl_%1.2f.nc' % fraction | ||
- | new_cell = get_fcc_unitcell(b*(fraction**(1./3.))) | ||
- | bulk.set_cell(new_cell, scale_atoms = True) | ||
- | para.update(atoms = bulk) | ||
- | solver = Jacapo(ncfile, **para) | ||
- | vol = bulk.get_volume() | ||
- | eng = bulk.get_potential_energy() | ||
- | print vol, eng | ||
- | </code> | ||
- | <code sh> | ||
- | $ python Al_equation_of_state.py | ||
- | Volume(A^3) Energy(eV) | ||
- | 14.946778125 -56.4090488622 | ||
- | 15.7771546875 -56.4473195776 | ||
- | 16.60753125 -56.4583266527 | ||
- | 17.4379078125 -56.4483594784 | ||
- | 18.268284375 -56.4233507908 | ||
- | $ | ||
- | </code> | ||
- | {{:seminar:al.png?512|アルミニウム結晶のエネルギーの体積依存性}} | ||
- | |||