本文整理汇总了Python中ase.calculators.vasp.Vasp.neb_kwargs方法的典型用法代码示例。如果您正苦于以下问题:Python Vasp.neb_kwargs方法的具体用法?Python Vasp.neb_kwargs怎么用?Python Vasp.neb_kwargs使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ase.calculators.vasp.Vasp
的用法示例。
在下文中一共展示了Vasp.neb_kwargs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: neb_initialize
# 需要导入模块: from ase.calculators.vasp import Vasp [as 别名]
# 或者: from ase.calculators.vasp.Vasp import neb_kwargs [as 别名]
def neb_initialize(neb_images, kwargs):
"""Creates necessary files for an NEB calculation"""
for a in neb_images:
log.debug(a.numbers)
calc = Vasp()
# how to get the initial and final energies?
initial = neb_images[0]
log.debug(initial.numbers)
calc0 = initial.get_calculator()
log.debug('Calculator cwd = %s', calc0.cwd)
log.debug('Calculator vaspdir = %s', calc0.vaspdir)
# we have to store the initial and final energies because
# otherwise they will not be available when reread the
# directory in another script, e.g. jaspsum. The only other
# option is to make the initial and final directories full
# vasp calculations.
CWD = os.getcwd()
try:
os.chdir(os.path.join(calc0.cwd, calc0.vaspdir))
e0 = calc0.read_energy()[1]
calc.neb_initial_energy = e0
finally:
os.chdir(CWD)
final = neb_images[-1]
log.debug(final.numbers)
calc_final = final.get_calculator()
log.debug(calc_final.cwd)
log.debug(calc_final.vaspdir)
try:
os.chdir(os.path.join(calc_final.cwd, calc_final.vaspdir))
efinal = calc_final.read_energy()[1]
calc.neb_final_energy = efinal
finally:
os.chdir(CWD)
# make a Vasp object and set inputs to initial image
calc.int_params.update(calc0.int_params)
calc.float_params.update(calc0.float_params)
calc.exp_params.update(calc0.exp_params)
calc.string_params.update(calc0.string_params)
calc.bool_params.update(calc0.bool_params)
calc.list_params.update(calc0.list_params)
calc.dict_params.update(calc0.dict_params)
calc.input_params.update(calc0.input_params)
calc.neb_kwargs = kwargs
# this is the vasp images tag. it does not include the endpoints
IMAGES = len(neb_images) - 2
calc.set(images=IMAGES)
calc.neb_images = neb_images
calc.neb_nimages = IMAGES
calc.neb = True
return calc