跳到内容

消息-byu/enumlib

简要说明

此代码生成派生超结构父母的晶格。它适用于一般晶格,包括“多晶格”,如HCP,其在单元单元中具有多个晶格点。该代码可以枚举所有浓度或在有限的浓度范围内。

截至2011年12月,两种模式(所有浓度与限制浓度浓度。范围)也可以与站点限制一起使用——一些原子父晶格中的某些站点上可能不允许类型。在其他换句话说,不同原子可能占据的位置在每个父晶格站点上必须相同。你可以有两个母晶格中的位置,其中一个可能由A或B原子填充第二个位置可能由B和C原子填充,因为例子。(但请参阅示例文件中的示例5以了解一些警告。)

截至2016年10月,浓度限制的计数还可以在枚举中包括位移方向(用户可以指定从格子)。

有关算法及其应用的讨论,请参阅以下出版物。如果您在出版物中使用此代码,我们如果您能在下面引用适当的论文,我们将不胜感激。谢谢您。

Gus L.W.Hart和Rodney W.Forcade,“生成算法衍生结构”,《物理评论B》77 224115,(2008年6月26日)

Gus L.W.Hart和Rodney W.Forcade,“生成导数多点阵结构:在hcp合金中的应用”物理学。版本B 80 014120(2009年7月)

Gus L.W.Hart、Lance J.Nelson和Rodney W.Forcade,“发电固定浓度下的衍生结构,“Comp.Mat.Sci.59101-107(2012年3月)

Wiley S.Morgan,Gus L.W.Hart,Rodney W.Forcade,“为具有高构型自由度的系统生成导数超结构”,Comp。材料科学。136 144-149(2017年5月)

编译代码

要手动编译代码,请使用--递归标志:

git克隆--递归https://github.com/msg-byu/enumlib.git

我们需要编译西姆利布前子模块正在编译enumlib。
转到枚举库/symlib/src目录:
cd枚举库/symlib/src

设置环境变量以标识fortran编译器:
[在bash shell中,gfortran编译器]
导出F90=gfortran
[生成文件也认识到ifort公司]

然后使用Makefile进行编译:
制作

(或者,不设置90层首先,您可以在生成过程中指定变量:使F90=gfortran.)

接下来,使枚举库本身
光盘..//型钢混凝土
制作

最后,要制作用于枚举的独立可执行文件,请执行以下操作:
生成枚举。x

可以在OSX和Linux上使用conda编译enumlib。待办事项因此,请使用以下命令:

conda安装--通道matsci枚举库

如果您在编译时遇到问题,请给我发一个便条,我会尝试帮助你。gus.hart@gmail.com, 801-422-7444

如何使用代码:

示例输入文件位于输入('enumlib/support/input')目录。

要在枚举中包括位移方向,还需要必须提供箭头.in其中的文件示例还可以可以在('enumlib/support/input')目录中找到。

关于如何运行几个示例的代码的详细说明输入文件可以在枚举库/支持/示例文件。

aux_src公司VASP POSCAR制作目录,图片2D枚举等。

品牌Str.py<--为所需的枚举结构制作POSCARS。(制造商Str。xfortran代码已被此python脚本取代。)绘制2Dplot。x<--制作绘制2D枚举结果的程序。做波利亚。x<--制作一个预测最大值的程序系统的独特结构(该程序给出了一个上限用户应该期望的解决方案数量,因为polya算法计算超周期结构,但enum.x不计算)。

品牌Str.py是可以通过键入来访问的python代码python makeStr.py[struct#]-标志进入航站楼结构#指定所需结构号的整数结构_编号.out文件。脚本的其他选项包括:

-元素[元素列表]<--此选项使用Vegard定律进行初始猜测单元格的晶格参数。如果使用此选项,请列出系统中以空格分隔的列表中的元素,例如Al-Cu-Ni合金.

-位移[距离]<--此选项按给定的晶格参数的分数。这仅在置换时有效枚举中包含了方向。使用此选项时,将所需位移量表示为晶格的分数参数。

-嘎嘎声[数量]<--通过位移最大分数的随机分布由指定位移标志。

如果您有问题,请发送电子邮件或致电:gus.hart@gmail.com, 801-422-7444