aiida工作流和源代码引擎的cp2k插件。

aiida-cp2k的Python项目详细描述


aiida cp2k

aiida工作流和源代码引擎的cp2k插件。

logo

安装

如果使用pip,则可以将其安装为:

pip install aiida-cp2k

功能

遵循“启用而不妨碍”的原则,此插件通过一组经过良好测试的功能提供对cp2k所有功能的访问:

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)
  • 如果找不到警告(example),则认为计算失败。

  • aiida和cp2k之间的几何转换精度至少为1e-10_ngstróm(example)。

  • python代码符合Flake8编码约定。

测试

每个提交和拉取请求都由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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Webapp在项目重命名后显示404页   java为什么GUI不工作?   java多通HashCode与Equal实现   java Kotlin+spring+mustache@Controller不工作(白标签错误页面),但@RestController工作   从站点请求数据时出现java错误429   java Spninx在印度俚语中的准确性很差   java获取@postpdate中的@PreUpdate值   Java CRUD DAO持久性设计   java类的组合   java Android:将位图保存到外部存储失败   sql创建数据库模式的目录(Java)   java关于线程等待/通知   java重试:我不能使用textarea关于“textalign:center”的样式   java对象作为实例变量,在其中使用新运算符   编码URL解码:Java中的UnsupportedEncodingException   关于数据库的java条形图   java从CSV读取以填充包含复选框和字符串的tableview   java如何使用数组或ArrayList中的值加载JComboBox?   java如何从列表中创建对象的2D数组?   当我想加载listview时,java Android ArrayAdapter崩溃