这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
adf:isothermcurveofadsorption [2024/01/26 20:13] – liu.jun | adf:isothermcurveofadsorption [2024/01/26 22:56] (当前版本) – [概述] liu.jun | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ======基于GCMC巨正则系综蒙特卡洛预测吸附等温线====== | + | ======基于 GCMC 预测吸附等温线:CO$_2$ 在 IRMOF-1 中的吸附====== |
关键词:MOF材料;IRMOF-1;GCMC;巨正则系综蒙特卡洛;ReaxFF | 关键词:MOF材料;IRMOF-1;GCMC;巨正则系综蒙特卡洛;ReaxFF | ||
+ | |||
+ | 软件版本要求:AMS2023 及以上。 | ||
=====概述===== | =====概述===== | ||
- | 吸附等温线表示“主体材料”在给定温度和压力下,摄入给定数量“客体分子”的性质。吸附等温线是负载与压强的函数,负载通常表示为每千克主体材料吸附多少摩尔客体分子,单位为 mol/ | + | 吸附等温线表示“主体材料”在给定温度和压力下,摄入给定数量“客体分子”的性质。吸附等温线是负载与压强的函数,负载通常表示为每千克主体材料吸附多少摩尔客体分子,单位为 mol/ |
+ | |||
+ | 实际上可以使用各种力场、机器学习势、DFTB(DFTB中D3(BJ)色散修正对此应该会有较好效果)、MOAPC,甚至基于 BAND 的 DFT,使用过程基本上没有大的区别,不过本例中以 ReaxFF/ | ||
=====建模===== | =====建模===== | ||
行 26: | 行 30: | ||
保存并运行作业。例如作业名为:IRMOF-1_ref_ReaxFF。 | 保存并运行作业。例如作业名为:IRMOF-1_ref_ReaxFF。 | ||
- | ====在指定压强下的化学势计算==== | + | ====在指定温度、压强下的化学势计算==== |
GCMC 模拟时,需要提供在指定的这个温度、压强下,体系的化学势。化学势 μ(T,P) 的通用定义如下: | GCMC 模拟时,需要提供在指定的这个温度、压强下,体系的化学势。化学势 μ(T,P) 的通用定义如下: | ||
行 58: | 行 62: | ||
**注:** | **注:** | ||
- | * 上表中查阅到的 298K 以上的焓值和熵值,也可以通过 Shomate 方程计算得到,具体参考 [[https:// | + | * 上表中查阅到的 298K 以上的焓值和熵值,也可以通过 Shomate 方程计算得到,具体参考 [[https:// |
* 根据焓和熵的来源,以及您使用的精度和转换因子,您独立计算的数字可能略有不同。 | * 根据焓和熵的来源,以及您使用的精度和转换因子,您独立计算的数字可能略有不同。 | ||
+ | ===== 巨正则系综蒙特卡洛模拟 ===== | ||
+ | |||
+ | 可以直接从前面优化 IRMOF-1 的窗口开始,重新打开该窗口时,会询问是否 update the coordinates,点击 Yes 更新为优化后的结构,Task 从 Geometry Optimization 改为 GCMC。后面的模拟,我们将冻结主体材料 IRMOF-1,将整个 IRMOF-1 创建为 Region,例如名为 host。然后 Model → Geometry Constraints and PES Scan,选中一个原子后,点击 (fixed position) 前面的 +: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 然后设置 GCMC 相关的参数 Model → GCMC: | ||
+ | * Number of GCMC:100000 | ||
+ | * Temperature:298.15 K | ||
+ | * Add molecules within:5.0 | ||
+ | * Add molecules not closer than:1.2 | ||
+ | |||
+ | 然后设置负载分子 CO$_2$ 相关参数,点击 Molecules 前的 +,新产生的 Molecule 选项选择 New Molecule,如此左边窗口就新增了一个窗口,底部mol-1、mol-2可以切换,其中 mol-1 应为 IRMOF-1,那么在 mol-2 中可以将之前优化得到的 CO$_2$ 粘贴进来。如此 Molecule 选项就变为了 Mol-2,如果我们关心的是 20 bar 下的情况,则Chemical potential 输入 该压强下的化学势 | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 点击上图中 Minimization details 后面的 > 按钮,将 Convergence 选项改为 Basic,Maximum number of iterations 设置为 5000,如此使得 GCMC 较为容易收敛。< | ||
+ | |||
+ | 保存并运行作业,此计算可能需要几天时间。**这里我们计算的是 20 bar,类似地,我们还需要进行不同压强下的计算**,多个作业在同一个文件夹下更好,以便于后面使用 Python 对结果进行后处理。 | ||
+ | |||
+ | 用户下载并解压得到 analyze_gcmc.py 文件,将其放置于作业所在文件夹。AMSJobs窗口也进入作业所在文件夹,然后 Help → Command-line,打开命令行后,输入 sh 回车,输入命令运行该脚本: | ||
+ | < | ||
+ | amspython -u analyze_gcmc.py *.results/ | ||
+ | </ | ||
+ | 如果有多个作业,可以在后面添加其他作业的ams.rkf文件。格式类似:amspython -u analyze_gcmc.py 1.results/ | ||
+ | |||
+ | 将得到类似如下接受率与负载曲线: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 红色曲线为接受率(接受的 GCMC 步数与 GCMC步骤总数之比),蓝色曲线为负载情况。可以看到从 40000 步到 80000 步,基本上逐渐达到收敛,因为我们只计算了 10 万步,最终负载大约 17 mol/kg 左右。 | ||
+ | |||
+ | =====总结===== | ||
+ | 综上,在 20 bar、298.15K 下,我们计算得到的负载约为 17mol/ | ||
+ | |||
+ | 最终的负载情况优化得到的结构看起来如此: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 不过可以看到实际上还没有完全收敛的样子,因此实际上用户可以尝试计算更多步数,例如 15~20 万步,或许可以得到更接近实验的结果。 | ||
+ | |||
+ | 最后,我们另外类似地计算5、10、15 bar 的吸附等温线,得到的4个值,绘制为曲线(如下图所示)。为了与实验结果比较,可以用最后 40000 个 GCMC 步的负载均值来作为极限载荷,误差条对应标准偏差。 | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | 我们可以得出结论:CHOZn.ff 很好地再现了 IRMOF-1 的实验等温线。 | ||
+ | 注意:与实验相比,其他体系的绝对等温线可能没有那么准确,不过如果力场得到了很好的优化(训练集中更好地覆盖的主体/ |