两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 |
co:pd_100_结构优化 [2018/06/15 09:47] – [CO/Pd (100)的结构优化] fermi | co:pd_100_结构优化 [2018/06/15 10:22] (当前版本) – [CO/Pd (100)的结构优化] fermi |
---|
- 最终优化时,对底部的 Pd 原子施加 Fixed 约束。 | - 最终优化时,对底部的 Pd 原子施加 Fixed 约束。 |
- 最后,弛豫 CO 分子,计算吸附能。 | - 最后,弛豫 CO 分子,计算吸附能。 |
| |
| <WRAP center info 100%> |
| === 提示 === |
| **本教程使用特定版本的QuantumATK创建,因此涉及的截图和脚本参数可能与您实际使用的版本略有区别,请在学习时务必注意。** |
| </WRAP> |
| |
| |
{{ :co:introbar.png?direct&900 |}} | {{ :co:introbar.png?direct&900 |}} |
创建一个新的项目,命名为 “Pd100_CO”,打开 **Builder** {{:atk:builder.png?direct&25|}} 。 | 创建一个新的项目,命名为 “Pd100_CO”,打开 **Builder** {{:atk:builder.png?direct&25|}} 。 |
| |
♥ 点击 Add {{:atk:arrow.png?direct&5|}} From Database 将钯块体结构导入到 Stash,然后用发送按钮 {{:atk:sendto.png?direct&20|}} 传送构形到 **Script Generator** {{:atk:script_generator.png?direct&25|}}。 | * 点击 Add {{:atk:arrow.png?direct&5|}} From Database 将钯块体结构导入到 Stash,然后用发送按钮 {{:atk:sendto.png?direct&20|}} 传送构形到 **Script Generator** {{:atk:script_generator.png?direct&25|}}。 |
| * 在 Script Generator 中,双击添加 {{:atk:calculator.png?direct&25|}} **New Claculator** 和 {{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 模块到脚本,将默认输出文件名称改为 ''Pd_bulk.nc''。 |
♥ 在 Script Generator 中,双击添加 {{:atk:calculator.png?direct&25|}} **New Claculator** 和 {{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 模块到脚本,将默认输出文件名称改为 ''Pd_bulk.nc''。 | |
| |
{{ :co:pd_w1_2.png?direct&700 |}} | {{ :co:pd_w1_2.png?direct&700 |}} |
| |
♥ 双击 {{:atk:calculator.png?direct&25|}} **New Claculator** 模块,在随即打开的窗口中设置参数: | * 双击 {{:atk:calculator.png?direct&25|}} **New Claculator** 模块,在随即打开的窗口中设置参数: |
| * //k-point sampling//:9×9×9; |
◊ //k-point sampling//:9×9×9; | * //exchange-correlation//:GGA-PBE 泛函。 |
| * 打开 {{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 模块,如下图所示设置参数。特别地: |
◊ //exchange-correlation//:GGA-PBE 泛函。 | * 不勾选 //Constrain cell// 以确保应力弛豫; |
| * 降低 Stress tolerance 至 0.005 eV/Å<sup>3</sup>; |
♥ 打开 {{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 模块,如下图所示设置参数。特别地: | * 点击 //Save trajectory// 保存弛豫的轨迹,输入轨迹文件名称为 ''Pd_bulk.nc''。 |
| |
◊ 不勾选 //Constrain cell// 以确保应力弛豫; | |
| |
◊ 降低 Stress tolerance 至 0.005 eV/Å<sup>3</sup>; | |
| |
◊ 点击 //Save trajectory// 保存弛豫的轨迹,输入轨迹文件名称为 ''Pd_bulk.nc''。 | |
| |
{{ :co:pd_w2_2.png?direct&400 |}} | {{ :co:pd_w2_2.png?direct&400 |}} |
</WRAP> | </WRAP> |
| |
♥ 单击 OK,结构优化窗口关闭。 | * 单击 OK,结构优化窗口关闭。 |
| * 至此,脚本已经完成。点 {{:atk:sendto.png?direct&20|}} 按钮将其发送到 Job Manager {{:atk:job_manager.png?direct&25|}} 。保存出现在窗口的脚本并运行计算,耗时数秒钟。如果有需要,您可以在此 [[https://docs.quantumwise.com/_downloads/Pd_bulk.py|↓Pd_bulk.py]] 下载脚本。 |
♥ 至此,脚本已经完成。点 {{:atk:sendto.png?direct&20|}} 按钮将其发送到 Job Manager {{:atk:job_manager.png?direct&25|}} 。保存出现在窗口的脚本并运行计算,耗时数秒钟。如果有需要,您可以在此 [[https://docs.quantumwise.com/_downloads/Pd_bulk.py|↓Pd_bulk.py]] 下载脚本。 | |
| |
块体弛豫结束后,计算的输出结果会在 LabFloor 显示。ID 名字含有 //gID000// 和 //gID002// 的块体构形文件分别为最初和最终的结构,弛豫轨迹文件 ID 为 //gID001//。 | 块体弛豫结束后,计算的输出结果会在 LabFloor 显示。ID 名字含有 //gID000// 和 //gID002// 的块体构形文件分别为最初和最终的结构,弛豫轨迹文件 ID 为 //gID001//。 |
===== 构造 Pd(100) 面并弛豫 ===== | ===== 构造 Pd(100) 面并弛豫 ===== |
| |
♥ 拖拽弛豫后的块体构形到 **Builder** {{:atk:builder.png?direct&25|}}。 | * 拖拽弛豫后的块体构形到 **Builder** {{:atk:builder.png?direct&25|}}。 |
| * 打开 Builders {{:atk:arrow.png?direct&5|}} Surface (Cleave) 插件。 |
♥ 打开 Builders {{:atk:arrow.png?direct&5|}} Surface (Cleave) 插件。 | * 保留默认的 Miller 指数,单击 //Next//。 |
| * 保留默认的 1×1 表面晶格,单击 //Next//。 |
♥ 保留默认的 Miller 指数,单击 //Next//。 | * 在 //Out-of-plane cell vector// 下方选择 //Non-periodic and normal//(//slab//),4 层平面金属,顶部和底端分别有 10 Å 和 5 Å 的真空。单击 //Finish// 创建表面。 |
| |
♥ 保留默认的 1×1 表面晶格,单击 //Next//。 | |
| |
♥ 在 //Out-of-plane cell vector// 下方选择 //Non-periodic and normal//(//slab//),4 层平面金属,顶部和底端分别有 10 Å 和 5 Å 的真空。单击 //Finish// 创建表面。 | |
| |
{{ :co:pd_w4.png?direct&600 |}} | {{ :co:pd_w4.png?direct&600 |}} |
| |
♥ 发送板状结构到 **Script Generator** {{:atk:script_generator.png?direct&25|}} ,脚本中添加 {{:atk:calculator.png?direct&25|}} **New Claculator**,{{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 和 {{:atk:analysis.png?direct&25|}} **TotalEnergy** 模块,修改默认输出文件名称为 //Pd100.nc//。 | * 发送板状结构到 **Script Generator** {{:atk:script_generator.png?direct&25|}} ,脚本中添加 {{:atk:calculator.png?direct&25|}} **New Claculator**,{{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 和 {{:atk:analysis.png?direct&25|}} **TotalEnergy** 模块,修改默认输出文件名称为 //Pd100.nc//。 |
| |
{{ :co:pd_w5_2.png?direct&600 |}} | {{ :co:pd_w5_2.png?direct&600 |}} |
| |
♥ 按照以下设置计算器参数: | * 按照以下设置计算器参数: |
| * //k-point sampling//:9×9×1 k 点; |
◊ //k-point sampling//:9×9×1 k 点; | * //exchange-correlation//:GGA-PBE; |
| * //Poisson solver// 选择 //FFT2D//,平板之下设置 //Neumann// 边界条件,之上用 //Dirichlet// 边界条件。 |
◊ //exchange-correlation//:GGA-PBE; | |
| |
◊ //Poisson solver// 选择 //FFT2D//,平板之下设置 //Neumann// 边界条件,之上用 //Dirichlet// 边界条件。 | |
| |
{{ :co:pd_w6.png?direct&600 |}} | {{ :co:pd_w6.png?direct&600 |}} |
</WRAP> | </WRAP> |
| |
♥ 打开 {{:atk:optimization.png?direct&25|}} **OptimizeGeometry**,为力的弛豫做出如下设置: | * 打开 {{:atk:optimization.png?direct&25|}} **OptimizeGeometry**,为力的弛豫做出如下设置: |
| * 把轨迹保存到 //Pd100_traj.nc// 文件; |
◊ 把轨迹保存到 //Pd100_traj.nc// 文件; | * 点击 **Add Constraints** 打开 Constraints Editor; |
| * 用鼠标选中 Pd(100) 面最底部的 2 层,点击 //Add tag from selection// 中。那两个原子现在被标注为 “Selection 0”,然后为其选择 //Fixed// 约束。 |
◊ 点击 **Add Constraints** 打开 Constraints Editor; | |
| |
◊ 用鼠标选中 Pd(100) 面最底部的 2 层,点击 //Add tag from selection// 中。那两个原子现在被标注为 “Selection 0”,然后为其选择 //Fixed// 约束。 | |
| |
{{ :co:pd_w7.png?direct&550 |}} | {{ :co:pd_w7.png?direct&550 |}} |
| |
♥ 在 {{:atk:analysis.png?direct&25|}} **TotalEnergy** 模块没有需要编辑的,所以到这步脚本已经完成了。保存为 ''Pd100.py'',用 **Job Manager** {{:atk:job_manager.png?direct&25|}} 执行计算,大概需要 1 分钟。如果有需要,您可以在这 [[https://docs.quantumwise.com/_downloads/Pd100.py|↓Pd100.py]] 下载脚本。 | * 在 {{:atk:analysis.png?direct&25|}} **TotalEnergy** 模块没有需要编辑的,所以到这步脚本已经完成了。保存为 ''Pd100.py'',用 **Job Manager** {{:atk:job_manager.png?direct&25|}} 执行计算,大概需要 1 分钟。如果有需要,您可以在这 [[https://docs.quantumwise.com/_downloads/Pd100.py|↓Pd100.py]] 下载脚本。 |
| |
Pd(100) 面的结构优化完成后,结果会立即出现在 **LabFloor**。您还可以用 **Viewer** {{:co:viewer.png?direct&25|}} 把弛豫轨迹可视化。 | Pd(100) 面的结构优化完成后,结果会立即出现在 **LabFloor**。您还可以用 **Viewer** {{:co:viewer.png?direct&25|}} 把弛豫轨迹可视化。 |
将提供的 CO/Pd(100) 构形([[https://docs.quantumwise.com/_downloads/CO_Pd100.py|↓CO_Pd100.py]])移动到 **Script Generator**,添加 {{:atk:calculator.png?direct&25|}} **New Claculator** 和 {{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 模块。输入默认的输出文件名称为 ''Pd100_CO_rigid.nc'',然后编辑脚本: | 将提供的 CO/Pd(100) 构形([[https://docs.quantumwise.com/_downloads/CO_Pd100.py|↓CO_Pd100.py]])移动到 **Script Generator**,添加 {{:atk:calculator.png?direct&25|}} **New Claculator** 和 {{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 模块。输入默认的输出文件名称为 ''Pd100_CO_rigid.nc'',然后编辑脚本: |
| |
♥ 在 {{:atk:calculator.png?direct&25|}} **New Claculator** 模块,除了将密度网格截断降至 30 Hartree 外,其他参数使用跟之前弛豫 Pd(100) 时相同的设置。 | * 在 {{:atk:calculator.png?direct&25|}} **New Claculator** 模块,除了将密度网格截断降至 30 Hartree 外,其他参数使用跟之前弛豫 Pd(100) 时相同的设置。 |
| |
{{ :co:pd_w8_2.png?direct&600 |}} | {{ :co:pd_w8_2.png?direct&600 |}} |
| |
♥ {{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 模块的设置也与弛豫 Pd(100) 时相似,只是约束的选择有略微的不同: | * {{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 模块的设置也与弛豫 Pd(100) 时相似,只是约束的选择有略微的不同: |
| * 给金属板的所有原子加上 //Fixed// 约束; |
◊ 给金属板的所有原子加上 //Fixed// 约束; | * CO 分子施加 //Rigid// 约束(把 C 原子和 O 原子添加到组 “Selection 1”)。 |
| |
◊ CO 分子施加 //Rigid// 约束(把 C 原子和 O 原子添加到组 “Selection 1”)。 | |
| |
{{ :co:pd_w9.png?direct&600 |}} | {{ :co:pd_w9.png?direct&600 |}} |
</WRAP> | </WRAP> |
| |
♥ 保存脚本为 ''Pd100_CO_rigid.py'',用 **Job Manager** 运行。如果串行执行的话大概耗时 5 分钟。您还可以在此 [[https://docs.quantumwise.com/_downloads/Pd100_CO_rigid.py|↓Pd100_CO_rigid.py]] 下载脚本。 | * 保存脚本为 ''Pd100_CO_rigid.py'',用 **Job Manager** 运行。如果串行执行的话大概耗时 5 分钟。您还可以在此 [[https://docs.quantumwise.com/_downloads/Pd100_CO_rigid.py|↓Pd100_CO_rigid.py]] 下载脚本。 |
| |
<WRAP center info 100%> | <WRAP center info 100%> |
在此,您将以上一步得到的结果为初始状态,对 CO/Pd(100) 结构进行最终的结构优化。 | 在此,您将以上一步得到的结果为初始状态,对 CO/Pd(100) 结构进行最终的结构优化。 |
| |
♥ 把 ''Pd_CO_rigid.nc'' 里 ID 为 //gID002// 的结构发送到 **Scripter**,默认输出文件名设为 ''Pd_CO.nc''。 | * 把 ''Pd_CO_rigid.nc'' 里 ID 为 //gID002// 的结构发送到 **Scripter**,默认输出文件名设为 ''Pd_CO.nc''。 |
| * 再次添加 {{:atk:calculator.png?direct&25|}} **New Claculator**,{{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 和 {{:atk:analysis.png?direct&25|}} **TotalEnergy** 模块,参数编辑与之前步骤中的相似。只是,这次的 ATD-DFT 计算器的网格截断用 75 Hartree,且只对底部的 2 个 Pd 原子加 //Fixed// 约束。 |
♥ 再次添加 {{:atk:calculator.png?direct&25|}} **New Claculator**,{{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 和 {{:atk:analysis.png?direct&25|}} **TotalEnergy** 模块,参数编辑与之前步骤中的相似。只是,这次的 ATD-DFT 计算器的网格截断用 75 Hartree,且只对底部的 2 个 Pd 原子加 //Fixed// 约束。 | |
| |
{{ :co:pd_w10.png?direct&600 |}} | {{ :co:pd_w10.png?direct&600 |}} |
| |
♥ 保存脚本为 ''Pd_CO.py'',在 Job Manager 或终端执行运算。模拟一共需要约 20 分钟,但如果在更多的 CPU 上并行运行的话,过程会快很多。脚本可以在此下载:[[https://docs.quantumwise.com/_downloads/Pd100_CO.py|↓Pd100_CO.py]]。 | * 保存脚本为 ''Pd_CO.py'',在 Job Manager 或终端执行运算。模拟一共需要约 20 分钟,但如果在更多的 CPU 上并行运行的话,过程会快很多。脚本可以在此下载:[[https://docs.quantumwise.com/_downloads/Pd100_CO.py|↓Pd100_CO.py]]。 |
| |
<WRAP center tip 100%> | <WRAP center tip 100%> |
| |
{{ :co:relax.gif?direct&700 |}} | {{ :co:relax.gif?direct&700 |}} |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
为了计算得到 Pd(100) 面上 CO 的吸附能,您也需要弛豫单独的 CO 分子。我们可以通过以下步骤获得: | 为了计算得到 Pd(100) 面上 CO 的吸附能,您也需要弛豫单独的 CO 分子。我们可以通过以下步骤获得: |
| |
♥ 在 **Builder** 里点击 Add {{:atk:arrow.png?direct&5|}} New Configuration 添加新的结构; | * 在 **Builder** 里点击 Add {{:atk:arrow.png?direct&5|}} New Configuration 添加新的结构; |
| * 选择 **Molecular Builder**,在打开的面板中点击 Fragments {{:atk:arrow.png?direct&5|}} Carbon monoxide; |
♥ 选择 **Molecular Builder**,在打开的面板中点击 Fragments {{:atk:arrow.png?direct&5|}} Carbon monoxide; | |
| |
{{ :co:pd_w11.png?direct&700 |}} | {{ :co:pd_w11.png?direct&700 |}} |
| |
♥ 下一步,选择 ''New Configuration'' 的 Stash 里的 H 原子,将其替换为 CO 片段,关闭 Molecular Builder 窗口,将 Stash 里文件名称更改为 ''CO''。 | * 下一步,选择 ''New Configuration'' 的 Stash 里的 H 原子,将其替换为 CO 片段,关闭 Molecular Builder 窗口,将 Stash 里文件名称更改为 ''CO''。 |
| |
{{ :co:pd_w12.png?direct&600 |}} | {{ :co:pd_w12.png?direct&600 |}} |
现在,您只需要弛豫 CO 原子坐标、计算总能量。把结构发送到 **Script Generator**,添加 {{:atk:calculator.png?direct&25|}} **New Claculator**,{{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 和 {{:atk:analysis.png?direct&25|}} **TotalEnergy** 模块。默认输出文件名称处输入 CO.nc,然后按照以下对模块稍作编辑: | 现在,您只需要弛豫 CO 原子坐标、计算总能量。把结构发送到 **Script Generator**,添加 {{:atk:calculator.png?direct&25|}} **New Claculator**,{{:atk:optimization.png?direct&25|}} **OptimizeGeometry** 和 {{:atk:analysis.png?direct&25|}} **TotalEnergy** 模块。默认输出文件名称处输入 CO.nc,然后按照以下对模块稍作编辑: |
| |
♥ {{:atk:calculator.png?direct&25|}} **New Claculator**:选择 GGA-PBE 泛函; | * {{:atk:calculator.png?direct&25|}} **New Claculator**:选择 GGA-PBE 泛函; |
| * {{:atk:optimization.png?direct&25|}} **OptimizeGeometry**:您可以保存轨迹文件或减小 force tolerance,但这不是强制性的。 |
♥ {{:atk:optimization.png?direct&25|}} **OptimizeGeometry**:您可以保存轨迹文件或减小 force tolerance,但这不是强制性的。 | * 将脚本保存为 CO.py 并运行,计算速度非常快。脚本也可以在此处下载:[[https://docs.quantumwise.com/_downloads/CO.py|↓CO.py]]。 |
将脚本保存为 CO.py 并运行,计算速度非常快。脚本也可以在此处下载: [[https://docs.quantumwise.com/_downloads/CO.py|↓CO.py]]。 | |
| |
您将会发现 C-O 键长的弛豫结果为 1.143 Å,与实验数据非常吻合。 | 您将会发现 C-O 键长的弛豫结果为 1.143 Å,与实验数据非常吻合。 |