UserStress 教程

UserStress 是用 Perl 语言编写的 Materials Studio 插件,其主要功能为自动沿着晶体的 a 轴、b 轴或者 ab 双轴拉伸二维材料,并计算其应变-能量变化关系。

主页

https://github.com/liujiacode/UserStress

版本

1.1

环境

Materials Studio 8.0

安装

  1. 打开 Materials Studio。
    <div>
第一步。
</div>
  2. 下载 UserStress。将 UserStress 文件夹里的 UserStress1.1.pl 文件复制到项目文件目录下。
    <div>
第二步。
</div>
  3. 点击 Tools → Scripting → Library…,打开 Script Library 对话框。
    <div>
第三步。
</div>
  4. 在 Script Library 对话框中,选择 Library 选项卡。点击右侧 Folder 按钮框里的 Add 按钮,新建一个文件夹并命名为“UserStress”。
    <div>
第四步。
</div>
  5. 点击 File 按钮框里的 Add 按钮。在弹出的 Add From Project 对话框中选择项目文件目录下的 UserStress1.1.pl 文件。点击 OK 按钮返回 Script Library 对话框。
    <div>
第五步。
</div>
  6. 导入 UserStress1.1.pl 文件后 Script Library 对话框如下图所示。
    <div>
第六步。
</div>
  7. 在 Script Library 对话框中,选择 User Menu 选项卡。
    <div>
第七步。
</div>
  8. 点击 Insert 按钮框里的 Command 按钮,新建一个命令并命名为“UserStress”。在 Title 文本框里输入“UserStress”,在 Description 文本框里输入“Run UserStress”,点击 Run On 选项框旁的 ▼ 并选择“Server”,点击 Requires 选项框旁的 ▼ 并选择“3D Atomistic document”,点击 Uses 选项框旁的 ▼ 并选择“Current folder only”。
    <div>
第八步。
</div>
  9. 点击 Script 选项框旁的 …,并在弹出的 Choose Document 对话框中选择“UserStress”文件夹下的“UserStress1.1.pl”文件。点击 OK 按钮返回 Script Library 对话框。
    <div>
第九步。
</div>
  10. 导入 UserStress1.1.pl 文件后 Script Library 对话框如下图所示。
    <div>
第十步。
</div>
  11. 点击 Arguments 按钮,弹出 Define Arguments for UserStress 对话框。
    <div>
第十一步。
</div>
  12. 点击 click to add argument 新建参数,并将 Name、Data type 和 Default value 分别设置为“stress_list”、“String”和“(0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06)”。
    <div>
第十二步。
</div>
  13. 点击 click to add argument 新建参数,并将 Name、Data type 和 Default value 分别设置为“along_a”、“Integer”和“1”。
    <div>
第十三步。
</div>
  14. 点击 click to add argument 新建参数,并将 Name、Data type 和 Default value 分别设置为“along_b”、“Integer”和“1”。
    <div>
第十四步。
</div>
  15. 点击 click to add argument 新建参数,并将 Name、Data type 和 Default value 分别设置为“along_ab”、“Integer”和“1”。
    <div>
第十五步。
</div>
  16. 点击 click to add argument 新建参数,并将 Name、Data type 和 Default value 分别设置为“module”、“String”和“DMol3”。
    <div>
第十六步。
</div>
  17. 点击 click to add argument 新建参数,并将 Name 和 Data type 分别设置为“settings”和“String”。
    <div>
第十七步。
</div>
  18. 关闭 Define Arguments for UserStress 对话框以及 Script Library 对话框。安装完成。

示例

  1. 在项目文件目录下新建一个石墨烯结构,命名为“graphene.xsd”。点击 DMol3 图标弹出 DMol3 Calculation 对话框,在对话框里设置结构优化的计算参数。
    <div>
第一步。
</div>
  2. 参数设置好后,点击 Files… 按钮,弹出 DMol3 Job Files 对话框。在弹出的对话框中点击 Save Files 按钮,保存计算文件。
    <div>
第二步。
</div>
  3. 双击打开“graphene DMol3 GeomOpt”文件夹里的“graphene.xsd”文件。点击菜单栏里的 User 下拉菜单,选择 UserStress 选项。
    <div>
第三步。
</div>
  4. 在弹出的 UserStress 对话框中将 settings 设置为“graphene”。点击 OK 开始运行。
    <div>
第四步。
</div>
  5. 正在运行。
    <div>
第五步。
</div>
  6. 运行完成。
    <div>
第六步。
</div>
  7. 双击打开“graphene UserStress”文件夹里的“Summary.std”文件。表格里“a axis”、“b axis”和“ab axes”选项卡分别储存仅沿 a 轴拉伸、仅沿 b 轴拉伸以及沿 ab 轴同时拉伸的计算结果。表格里第一列储存的是拉伸后的晶体结构,双击可以查看结构。第二列储存的是拉伸轴。第三列储存的是应变数据。第四列和第五列储存的是 a 和 b 轴的晶格常数。第六列储存的是拉伸后晶体结构的能量。第七列储存的是每次计算的收敛情况。
    <div>
第七步。
</div>
  8. 选择“ab axes”选项卡,同时选中选中 C 列(应变)和 F 列(能量)。
    <div>
第八步。
</div>
  9. 右键单击,在下拉菜单中选择 Quick Plot,做应变-能量关系图。
    <div>
第九步。
</div>
  10. 沿 ab 轴同时拉伸时的应变-能量关系如下图所示。可以看到在 3% 应力下能量最低。
    <div>
第十步。
</div>
  11. 同理可以做仅沿 a 轴拉伸时的应变-能量关系,如下图所示。
    <div>
第十一步。
</div>
  12. 同理可以做仅沿 b 轴拉伸时的应变-能量关系,如下图所示。
    <div>
第十二步。
</div>

参数

  1. 应力列表(stress_list)
    • 说明:施加应力值组成的列表。注意,只需给出正应力即可,脚本会自动计算负应力和无应力情况下的结构能量。
    • 取值:(float, float, ...)
    • 默认值:(0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06)
  2. 是否仅沿a轴拉伸(along_a)
    • 说明:是否计算仅沿 a 轴施加应力的情况。取 1 时沿此方向拉伸,取 0 时则不拉伸。
    • 取值:0 或者 1
    • 默认值:1
  3. 是否仅沿 b 轴拉伸(along_b)
    • 说明:是否计算仅沿 b 轴施加应力的情况。取 1 时沿此方向拉伸,取 0 时则不拉伸。
    • 取值:0 或者 1
    • 默认值:1
  4. 是否沿ab轴同时拉伸(along_ab)
    • 说明:是否计算沿 ab 轴同时施加应力的情况。取 1 时沿此方向拉伸,取 0 时则不拉伸。
    • 取值:0 或者 1
    • 默认值:1
  5. 计算模块(module)
    • 说明:使用什么模块进行结构优化。模块名称应与前面所设置参数时用的模块一致。目前仅支持 CASTEP 和 DMol3 模块。
    • 取值: DMol3 或者 CASTEP
    • 默认值:DMol3
  6. 设置文件(settings)
    • 说明:之前所保存的参数文件名称。给出“ - Calculation”之前的名称即可。如计算参数文件为“graphene - Calculation”,则此处应填写“graphene”。
    • 取值:string
    • 默认值:无

许可协议

UserStress 遵守由自由软件基金会发布的 GNU 通用公共许可协议发布,不作任何担保。更多细节请参看 GNU 通用公共许可协议 3.0(GPL 3.0)。

文章作者: 喵函数
文章链接: https://eigenmiao.site/2020/07/19/userstress-tutorial-zh/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 本征喵的小站