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


Python Vasp.encutgw方法代码示例

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


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

示例1: test_encut

# 需要导入模块: from pylada.vasp import Vasp [as 别名]
# 或者: from pylada.vasp.Vasp import encutgw [as 别名]
def test_encut():
    from os.path import dirname
    from pickle import loads, dumps
    from quantities import eV, hartree
    import quantities
    import numpy
    from pylada.vasp import Vasp
    from pylada.crystal import Structure

    structure = Structure([[0, 0.5, 0.5], [0.5, 0, 0.5], [0.5, 0.5, 0]], scale=5.43, name='has a name')\
        .add_atom(0, 0, 0, "Si")\
        .add_atom(0.25, 0.25, 0.25, "Si")
    a = Vasp()
    a.add_specie = "Si", "{0}/pseudos/Si".format(dirname(__file__))

    o = a._input['encut']
    d = {'Encut': o.__class__}
    d.update(quantities.__dict__)
    d.update(numpy.__dict__)
    assert a.ediff is None
    assert o.output_map() is None
    assert eval(repr(o), d).output_map() is None
    assert eval(repr(o), d).keyword == 'encut'
    assert loads(dumps(o)).output_map() is None

    a.encut = 1e0
    assert abs(a.encut - 1e0) < 1e-8
    assert abs(float(o.output_map(structure=structure, vasp=a)['encut']) - 245.345) < 1e-8
    assert abs(float(eval(repr(o), d).output_map(
        structure=structure, vasp=a)['encut']) - 245.345) < 1e-8
    assert abs(float(loads(dumps(o)).output_map(
        structure=structure, vasp=a)['encut']) - 245.345) < 1e-8
    assert abs(eval(repr(o), d).value - 1.0) < 1e-8
    assert abs(loads(dumps(o)).value - 1.0) < 1e-8
    a.encut = 0.8
    assert abs(a.encut - 0.8) < 1e-8
    assert abs(float(o.output_map(structure=structure, vasp=a)['encut']) - 245.345 * 0.8) < 1e-8
    assert abs(float(eval(repr(o), d).output_map(
        structure=structure, vasp=a)['encut']) - 245.345 * 0.8) < 1e-8
    assert abs(float(loads(dumps(o)).output_map(
        structure=structure, vasp=a)['encut']) - 245.345 * 0.8) < 1e-8
    assert abs(eval(repr(o), d).value - 0.8) < 1e-8
    assert abs(loads(dumps(o)).value - 0.8) < 1e-8
    a.encut = 200
    assert abs(a.encut - 200) < 1e-8
    assert abs(float(o.output_map(structure=structure, vasp=a)['encut']) - 200) < 1e-8
    assert abs(float(eval(repr(o), d).output_map(
        structure=structure, vasp=a)['encut']) - 200) < 1e-8
    assert abs(float(loads(dumps(o)).output_map(structure=structure, vasp=a)['encut']) - 200) < 1e-8
    assert abs(eval(repr(o), d).value - 200) < 1e-8
    assert abs(loads(dumps(o)).value - 200) < 1e-8
    a.encut = 200 * eV
    assert abs(a.encut - 200 * eV) < 1e-8
    assert a.encut.units == eV
    assert abs(float(o.output_map(structure=structure, vasp=a)['encut']) - 200) < 1e-8
    assert abs(float(eval(repr(o), d).output_map(
        structure=structure, vasp=a)['encut']) - 200) < 1e-8
    assert abs(float(loads(dumps(o)).output_map(structure=structure, vasp=a)['encut']) - 200) < 1e-8
    assert abs(eval(repr(o), d).value - 200 * eV) < 1e-8
    assert abs(loads(dumps(o)).value - 200 * eV) < 1e-8
    assert eval(repr(o), d).value.units == eV
    assert loads(dumps(o)).value.units == eV
    a.encut = (200 * eV).rescale(hartree)
    assert a.encut.units == hartree
    assert abs(a.encut - 200 * eV) < 1e-8
    assert abs(float(o.output_map(structure=structure, vasp=a)['encut']) - 200) < 1e-8
    assert abs(float(eval(repr(o), d).output_map(
        structure=structure, vasp=a)['encut']) - 200) < 1e-8
    assert abs(float(loads(dumps(o)).output_map(structure=structure, vasp=a)['encut']) - 200) < 1e-8
    assert abs(eval(repr(o), d).value - 200 * eV) < 1e-8
    assert abs(loads(dumps(o)).value - 200 * eV) < 1e-8
    assert eval(repr(o), d).value.units == hartree
    assert loads(dumps(o)).value.units == hartree

    o = a._input['encutgw']
    d = {'EncutGW': o.__class__}
    d.update(quantities.__dict__)
    d.update(numpy.__dict__)
    assert a.ediff is None
    assert o.output_map() is None
    assert eval(repr(o), d).output_map() is None
    assert eval(repr(o), d).keyword == 'encutgw'
    assert loads(dumps(o)).output_map() is None
    a.encutgw = (200 * eV).rescale(hartree)
    assert a.encutgw.units == hartree
    assert abs(a.encutgw - 200 * eV) < 1e-8
    assert abs(float(o.output_map(structure=structure, vasp=a)['encutgw']) - 200) < 1e-8
    assert abs(float(eval(repr(o), d).output_map(
        structure=structure, vasp=a)['encutgw']) - 200) < 1e-8
    assert abs(float(loads(dumps(o)).output_map(
        structure=structure, vasp=a)['encutgw']) - 200) < 1e-8
    assert abs(eval(repr(o), d).value - 200 * eV) < 1e-8
    assert abs(loads(dumps(o)).value - 200 * eV) < 1e-8
    assert eval(repr(o), d).value.units == hartree
    assert loads(dumps(o)).value.units == hartree
开发者ID:,项目名称:,代码行数:97,代码来源:


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