一个基于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 查看散列)