跳转到主要内容

AiiDA插件,用于运行CRYSTAL17代码

项目描述

aiida-crystal17

CI Coverage Status Docs status PyPI Conda DOI

运行CRYSTAL17代码的AiiDA插件。代码主要针对CRYSTAL17进行测试,但输出解析也针对CRYSTAL14进行了测试。

文档: https://readthedocs.org/projects/aiida-crystal17

安装

要从Conda安装(推荐):

>> conda install -c conda-forge aiida-crystal17 aiida-core.services

要从PyPI安装:

>> pip install aiida-crystal17

要安装开发版本

>> git clone https://github.com/aiidaplugins/aiida-crystal17 .
>> cd aiida-crystal17
>> pip install -e .  # also installs aiida, if missing (but not postgres)
>> #pip install -e .[pre-commit,testing] # install extras for more features
>> verdi quicksetup  # set up a new profile
>> verdi calculation plugins  # should now show the calclulation plugins (with prefix crystal17.)

开发

针对模拟CRYSTAL17可执行文件进行测试

由于CRYSTAL17是受许可的软件,因此无法在Travis CI上获取可执行文件的副本。因此,为测试目的创建了一个模拟可执行文件(mock_runcry17)(这也有助于加快测试运行)。

该可执行文件计算所提供输入文件的md5哈希值,并尝试与预计算的哈希值字典进行匹配。如果找到,则将匹配的输出(从test/output_files)写入stdout。

以下将发现并运行所有单元测试

>> pip install -e .[testing]
>> reentry scan -r aiida
>> pytest -v

要省略调用外部可执行文件(如crystal17)的测试

>> pytest --cry17-skip-exec

要调用实际的可执行文件(例如,使用crystal17而不是mock_crystal17)

>> pytest --cry17-no-mock

要将calcjob执行的结果输出到特定目录

>> pytest --cry17-workdir "test_workdir"

编码风格要求

代码风格使用flake8进行测试,配置在.code.yapf中,代码应使用yapf进行格式化(配置在.code.yapf中)。

使用aiida-crystal17[code_style]安装将使pre-commit包可用,这将确保通过重新格式化代码并在提交前测试lint错误来通过这些测试。可以通过以下方式设置:

>> cd aiida-crystal17
>> pre-commit install

您可以选择单独运行yapf和flake8

>> yapf -r -i .  # recrusively find and format files in-place
>> flake8

编辑器如VS Code也具有自动代码格式化工具,可以遵循此标准。

本地安装CRYSTAL17

要在mac上设置CRYSTAL17的本地版本(在从发行商下载副本之后),我必须

  1. 移除可执行文件的隔离

    xattr -c crystal
    xattr -c properties
    
  2. 在预期的文件夹中创建lapack/blas库的版本

    sudo port install lapack
    sudo cp /opt/local/lib/lapack/liblapack.3.dylib /usr/local/opt/lapack/lib/liblapack.3.dylib
    sudo cp /opt/local/lib/lapack/libblas.3.dylib /usr/local/opt/lapack/lib/libblas.3.dylib
    
  3. ~/.bashrc中定义环境变量,如cry17_scripts/cry17.bashrc中详细说明

  4. cry17_scripts/runcry17脚本复制或符号链接到/usr/local/bin/

许可证

LICENSE文件

联系方式

chrisj_sewell@hotmail.com

项目详情


下载文件

下载您平台上的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分发

aiida-crystal17-0.11.0.tar.gz (1.3 MB 查看哈希值)

上传时间

构建分发

aiida_crystal17-0.11.0-py3-none-any.whl (1.4 MB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面