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


Python Vasp.vaspdir方法代码示例

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


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

示例1: read_neb_calculator

# 需要导入模块: from ase.calculators.vasp import Vasp [as 别名]
# 或者: from ase.calculators.vasp.Vasp import vaspdir [as 别名]
def read_neb_calculator():
    """Read calculator from the current working directory.

    Static method that returns a :mod:`jasp.Jasp` calculator.
    """
    log.debug('Entering read_neb_calculator in {0}'.format(os.getcwd()))

    calc = Vasp()
    calc.vaspdir = os.getcwd()
    calc.read_incar()
    calc.read_kpoints()

    if calc.in_queue():
        return ([None for i in range(calc.int_params['images'] + 2)],
                [None for i in range(calc.int_params['images'] + 2)])

    # set default functional
    # if both gga and xc are not specified
    if calc.string_params['gga'] is None:
        if calc.input_params['xc'] is None:
            calc.input_params['xc'] = 'PBE'

    images = []
    log.debug('calc.int_params[images] = %i', calc.int_params['images'])
    # Add 2 to IMAGES flag from INCAR to get
    # first and last images
    for i in range(calc.int_params['images'] + 2):
        log.debug('reading neb calculator: 0%i', i)
        cwd = os.getcwd()

        os.chdir('{0}'.format(str(i).zfill(2)))
        if os.path.exists('CONTCAR'):
            f = open('CONTCAR')
            if f.read() == '':
                log.debug('CONTCAR was empty, vasp probably still running')
                fname = 'POSCAR'
            else:
                fname = 'CONTCAR'
        else:
            fname = 'POSCAR'

        atoms = read(fname, format='vasp')

        f = open('ase-sort.dat')
        sort, resort = [], []
        for line in f:
            s, r = [int(x) for x in line.split()]
            sort.append(s)
            resort.append(r)

        images += [atoms[resort]]
        os.chdir(cwd)

    log.debug('len(images) = %i', len(images))

    calc.neb_images = images
    calc.neb_nimages = len(images) - 2
    calc.neb = True
    return calc
开发者ID:jkitchin,项目名称:vasp,代码行数:61,代码来源:neb.py


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