当前位置: 首页>>代码示例>>Python>>正文


Python Vasp.get_occupation_numbers方法代码示例

本文整理汇总了Python中vasp.Vasp.get_occupation_numbers方法的典型用法代码示例。如果您正苦于以下问题:Python Vasp.get_occupation_numbers方法的具体用法?Python Vasp.get_occupation_numbers怎么用?Python Vasp.get_occupation_numbers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vasp.Vasp的用法示例。


在下文中一共展示了Vasp.get_occupation_numbers方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Atoms

# 需要导入模块: from vasp import Vasp [as 别名]
# 或者: from vasp.Vasp import get_occupation_numbers [as 别名]
from ase import Atom, Atoms
import matplotlib.pyplot as plt
import numpy as np
a = 3.61
atoms = Atoms([Atom('Cu', (0, 0, 0))],
              cell=0.5 * a * np.array([[1.0, 1.0, 0.0],
                                       [0.0, 1.0, 1.0],
                                       [1.0, 0.0, 1.0]])).repeat((2, 2, 2))
SIGMA = [0.001, 0.05, 0.1, 0.2, 0.5]
for sigma in SIGMA:
    calc = Vasp('bulk/Cu-sigma-{0}'.format(sigma),
                xc='PBE',
                encut=350,
                kpts=[4, 4, 4],
                ismear=-1,
                sigma=sigma,
                nbands=9 * 8,
                atoms=atoms)
    if calc.potential_energy is not None:
        nbands = calc.parameters.nbands
        nkpts = len(calc.get_ibz_k_points())
        occ = np.zeros((nkpts, nbands))
        for i in range(nkpts):
            occ[i, :] = calc.get_occupation_numbers(kpt=i)
        max_occ = np.max(occ, axis=0) #axis 0 is columns
        plt.plot(range(nbands), max_occ, label='$\sigma = {0}$'.format(sigma))
plt.xlabel('band number')
plt.ylabel('maximum occupancy (electrons)')
plt.ylim([-0.1, 2.1])
plt.legend(loc='best')
plt.savefig('images/occ-sigma.png')
开发者ID:beeruyue,项目名称:dft-book,代码行数:33,代码来源:script-97.py


注:本文中的vasp.Vasp.get_occupation_numbers方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。