跳转到主要内容

一个基于Pearson符号或空间群的Python代码库,用于初始化不同的晶体结构。

项目描述

一个Python包,用于初始化不同的晶体结构。以俄罗斯数学家、晶体学家和矿物学家命名:Evgraf Fedorov。此包提供方法来生成用户定义的任何2D和3D系统中的晶体结构,并提供访问Aflow中定义的590种已知晶体结构的方法。用户可以使用此包以numpy数组的形式获取必要的数据,用于使用HOOMD-Blue等软件构建具有特定晶体结构的系统进行模拟和分析。此外,该包还提供对所有3D空间群、2D平面群以及点群操作的访问,允许用户应用不同的对称操作。

安装

使用pip安装

要使用包管理器pip安装该包,请执行

$ pip install fedorov --user

要升级软件包,只需执行带有 --upgrade 选项的相同命令。

$ pip install fedorov --user --upgrade

从源安装

或者,您可以克隆 git 仓库 并执行 setup.py 脚本来安装软件包。

git clone https://github.com/glotzerlab/fedorov.git
cd fedorov
python setup.py install --user

文档

  • 文档链接:待添加网站链接

您还可以使用 sphinx 构建文档

您可以使用 conda 安装 sphinx

conda install sphinx

或 pip

pip install sphinx

要在源目录中构建文档,请运行以下命令

cd doc
make html
# Then open _build/html/index.html

要构建文档的 PDF 版本(需要 LaTeX 和/或 PDFLaTeX)

cd doc
make latexpdf
# Then open _build/latex/fedorov.pdf

快速入门

此软件包提供生成已知或用户定义的晶体结构的方法。例如,从以下 列表 生成任何已知晶体结构

import numpy as np
from fedorov import SpaceGroup, Prototype, AflowPrototype
from fedorov import convert_to_box
# generate the exact prototype provided by Aflow, use prototype_index [0, 589]
prototype_index = 5
new_structure = AflowPrototype(prototype_index=prototype_index, print_info=True,
                               set_type=True)
basis_vectors, type_list = new_structure.get_basis_vectors()
lattice_vectors = new_structure.get_lattice_vectors()
Lx, Ly, Lz, xy, xz, yz = convert_to_box(lattice_vectors)

更多示例请见 此处

测试

您可以通过在存储库根目录中执行以下命令来测试此软件包

python -m pytest tests/

致谢

致谢

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪一个,请了解有关 安装软件包 的更多信息。

源分发

fedorov-0.1.0.tar.gz (84.5 kB 查看散列)

上传时间:

构建分发

fedorov-0.1.0-py3-none-any.whl (140.8 kB 查看散列)

上传时间: Python 3

支持者