AiiDA插件,用于运行CRYSTAL17代码
项目描述
aiida-crystal17
运行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的本地版本(在从发行商下载副本之后),我必须
-
移除可执行文件的隔离
xattr -c crystal xattr -c properties
-
在预期的文件夹中创建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
-
在
~/.bashrc
中定义环境变量,如cry17_scripts/cry17.bashrc
中详细说明 -
将
cry17_scripts/runcry17
脚本复制或符号链接到/usr/local/bin/
许可证
见LICENSE
文件
联系方式
项目详情
aiida-crystal17-0.11.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8a21dcf6137092ebb3e1e35c3385debbb7f8e5d29986dd2754944bf84af1ee81 |
|
MD5 | 8b5f273e44e000f154e22d52840bd0f9 |
|
BLAKE2b-256 | 0051111a37f747b0ee580f8a51530d2eee0ca62781dcb0b506ecd9d3a0efd32e |
aiida_crystal17-0.11.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4ac5747a206ad332060bdd391ee5ba35e090d3ec2a49fc2314207b62b494635d |
|
MD5 | 5967e825fcb28d6a0239e153feece39e |
|
BLAKE2b-256 | c041c2e82efd35a75055300ae390628b6268fe285f2e4855b9c548662af93acf |