基于皮尔逊符号或空间组初始化不同晶体结构的python代码repo
fedorov的Python项目详细描述
一个python包来初始化不同的晶体结构。以俄罗斯数学家、晶体学家和矿物学家的名字命名:Evgraf Fedorov。这个软件包提供了在2D和3D系统中生成任何用户定义的晶体结构的方法,并包括对在Aflow中定义的590个已知晶体结构的访问。用户可以使用该软件包以numpy数组的形式获取必要的数据,用于HOOMD-Blue等软件构建任何具有特定晶体结构的系统进行仿真分析。此外,该软件包还提供对所有三维空间组、二维平面组以及点组操作的访问,这些操作允许用户应用不同的对称操作。在
安装
从源安装
或者,您可以克隆git repository并执行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
快速启动
此软件包提供生成已知或用户定义的晶体结构的方法。例如,要从这个list生成任何已知的晶体结构:
importnumpyasnpfromfedorovimportSpaceGroup,Prototype,AflowPrototypefromfedorovimportconvert_to_box# generate the exact prototype provided by Aflow, use prototype_index [0, 589]prototype_index=5new_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)
更多的例子可以在here找到。在
测试
您可以通过执行以下操作来测试此包:
python -m pytest tests/
在存储库根目录中。在
学分
见Credits。在
- 项目
标签: