aiida工作流和源代码引擎的cp2k插件。
aiida-cp2k的Python项目详细描述
aiida cp2k
aiida工作流和源代码引擎的cp2k插件。
安装
如果使用pip
,则可以将其安装为:
pip install aiida-cp2k
功能
遵循“启用而不妨碍”的原则,此插件通过一组经过良好测试的功能提供对cp2k所有功能的访问:
- 完整的CP2K input必须作为嵌套的python字典(example)提供:
params = {'FORCE_EVAL': {'METHOD': 'Quickstep', 'DFT': { ... }}}
calc.use_parameters(ParameterData(dict=params))
- 节参数作为键
_
存储在字典中:
xc_section = {'XC_FUNCTIONAL': {'_': 'LDA'}}
- 重复部分存储为列表:
kind_section = [{'_': 'H', 'BASIS_SET': 'DZVP-MOLOPT-GTH', 'POTENTIAL': 'GTH-LDA'},
{'_': 'O', 'BASIS_SET': 'DZVP-MOLOPT-GTH', 'POTENTIAL': 'GTH-LDA'}]
- 大多数数据文件(基集、伪势、vdw等)都是从cp2k的data directory中自动发现的。
dft_section = {'BASIS_SET_FILE_NAME': 'BASIS_MOLOPT', ...}
- 其他数据文件可以添加为aiida singlefiledata(example):
water_pot = SinglefileData(file="/tmp/water.pot")
calc.use_file(water_pot, linkname="water_pot")
- 起始几何图形可以提供为aiida structuredata(example):
atoms = ase.build.molecule('H2O', vacuum=2.0)
calc.use_structure(StructureData(ase=atoms))
- 或者,起始几何图形可以包含在cp2k输入(example)中:
coord_section = {' ': ['H 2.0 2.0 2.737166',
'H 2.0 2.0 2.000000']},
- 要重新启动计算,可以附加父文件夹(example):
calc2.use_parent_folder(calc1.out.remote_folder)
- 默认情况下,仅检索输出和重新启动文件(如果存在)。根据请求检索其他文件(example):
settings = {'additional_retrieve_list': ["*.cube"]}
calc.use_settings(ParameterData(dict=settings))
- 最后的几何图形从重新启动文件(如果存在)中提取并存储在aiida中(example):
print(calc.out.output_structure)
- 从cp2k输出中,只解析警告和最终能量(example):
print(calc.res.nwarnings, calc.res.energy, calc.res.energy_units)
测试
每个提交和拉取请求都由TravisCI自动测试。
要在本地运行测试,请安装Docker并执行以下命令:
git clone https://github.com/cp2k/aiida-cp2k
docker build -t aiida_cp2k_test aiida-cp2k
docker run -it --init aiida_cp2k_test