计算化学公社

标题: 使用CP2K 做分子动力学模拟,气固模型 建模求助 [打印本页]

作者
Author:
风飞    时间: 2021-6-21 22:15
标题: 使用CP2K 做分子动力学模拟,气固模型 建模求助
本帖最后由 风飞 于 2021-6-23 01:02 编辑

各位老师,
        我想使用CP2K做气固表面的分子动力学模拟,我的模型搭建拟采用思路如下:
1,晶胞切面,例如111面,然后设置真空15埃
2,使用Atomsk将111面菱形的构型转变成正交构型,(我尝试转变成cube构型,但是失败了)
3.然后在上述正交构型的晶胞结构中加入12个水和1个甲苯分子

但是存在如下疑问,
1. 我的上述建模过程是否有合适?
2. 请问在使用CP2K跑分子动力学模拟的时候,根据我的体系真空层是否可以设置的小一些,因为我加入12个水和1个甲苯后,还有很多的空间

3. 我想研究水和甲苯在催化剂表面的吸附情况, 我的反应体系是水和甲苯中C的比例是2:1,  所以我此处用了1个甲苯(7个C)和12个水分子, 请问个数是否合适?
     因为我的实际反应温度高达500-700oC,所以不用考虑水密度和甲苯密度,该模型属于气固反应模型

4. 甲苯和水分子放的位置是否有要求呢?

5. 我看到中跑动力学大多数用的是立方盒子,此处,根据我模型的特点(111面),我使用Atomsk搭建的是一个长方体盒子, 请问是否有必要将其转变成立方体盒子,如果需要,该怎样操作呢?






作者
Author:
sobereva    时间: 2021-6-23 00:45
1 看具体做什么,表面上看没必然问题

2 反正原子距离盒子边界得有足够距离,否则结果不可靠

3 “不同考虑水密度和甲苯密度”病句
这种方式构建模型的话,无法考虑诸如两个甲苯近距离出现的情况应当说清楚基于什么理论跑动力学,诸如基于力场的话,这样的模型就太小了

5 没必要非得立方的,有些体系就是没法弄成立方的

作者
Author:
风飞    时间: 2021-6-27 23:13
本帖最后由 风飞 于 2021-7-14 23:04 编辑
sobereva 发表于 2021-6-23 00:45
1 看具体做什么,表面上看没必然问题

2 反正原子距离盒子边界得有足够距离,否则结果不可靠

老师,您好,
         抱歉,已修改,
         根据您说的,使用Multiwfn设置的MD输入文件如下,麻烦您看看是否合适            (, 下载次数 Times of downloads: 119)
        1)我想使用的CP2K的AIMD理论来跑甲苯和水在MgAl2O4表面的分子动力学,此次为了考虑甲苯和甲苯之间相互作用,此次加入了2个甲苯和28个水分子(水分子和C的比例为2),您看这个体系是否合适呢? 对于其他体系(CO和H2O),有看到是分别放一个H2O/CO在固体表面, 我的是放一个呢还是放多个合适呢?  
        2)里面大多数使用的Multiwfn的默认参数,增大了 STEPS, CUTOFF, MAX_SCF
        3)使用NVT系综,热浴是CSVR      
        4)此外,看到CP2K中没有升温速度,只有一个目标温度,如果要跑875 K条件下分子动力学,是否可以在300K, 400K, 500K, 600K,700K,800K, 825K条件下, 每个温度下跑NVT,每个跑3ps左右,一步一步的跑到875K,然后在875K条件下跑20ps ,(跑完300K的NVT,提取最终坐标用于400K的初始坐标,然后再跑,以此类推)  您看这种方式是否合适?因为之前看到您说初始温度设置太高,体系容易崩溃      
       5)如果使用5)中的方法合适,请问这样的温度梯度以及每个温度梯度的停留的时间是否合适呢?














作者
Author:
sobereva    时间: 2021-6-28 07:19
你这个体系尺寸对于跑动力学来说也太小了,X方向那么窄,运动行为会和现实情况明显不符
我不清楚你的研究的侧重点是什么。比如关注的是真实情况中大量甲苯分子的分布特征,应该用经典分子动力学程序跑大得多的体系,考虑至少几十个甲苯。

没必要各个温度下分别跑NVT。如果怕升温太快,可以把热浴的时间常数设大,设得越大热浴效果会越弱,向目标温度变化会越慢。
作者
Author:
风飞    时间: 2021-6-29 12:31
本帖最后由 风飞 于 2021-6-29 14:11 编辑
sobereva 发表于 2021-6-28 07:19
你这个体系尺寸对于跑动力学来说也太小了,X方向那么窄,运动行为会和现实情况明显不符
我不清楚你的研究 ...

老师,您好,关于水和甲苯之间的相互作用,之前已经使用GROMACS研究, 现在是引入催化剂,想研究水和甲苯在催化剂表面的吸附和解离情况且反应温度对其的影响。我在前期已经采用QE计算了MgAl2O4表面对H2O和甲苯分别吸附的情况,现在是想跑AIMD研究温度对其在表面的吸附和解离的影响。

1. 在之前我在纠结是否把甲苯和水一起放在催化剂表面一起跑AIMD?


2. 如果单独放水和甲苯在MgAl2O4表面,进行上述研究,可以分别放14个水分子或者3个甲苯分子在MgAl2O4表面吗?其对应的输入文件如下,请问现在的尺度和参数是否合适呢?是否再减小些呢
(, 下载次数 Times of downloads: 39) (, 下载次数 Times of downloads: 20)


作者
Author:
sobereva    时间: 2021-6-30 03:42
风飞 发表于 2021-6-29 12:31
老师,您好,关于水和甲苯之间的相互作用,之前已经使用GROMACS研究, 现在是引入催化剂,想研究水和甲苯 ...

如果你不需要考虑水与甲苯的相互作用,可以这么建模。但是吸附的分子距离表面太近了,从Multiwfn主功能0的图来看,在默认成键判断阈值下小分子都和表面成键了。应当摆得再远点

另外,我不清楚为什么体系的Y比X方向长那么多。一般建议接近正方形。
作者
Author:
风飞    时间: 2021-6-30 12:17
本帖最后由 风飞 于 2021-6-30 15:48 编辑
sobereva 发表于 2021-6-30 03:42
如果你不需要考虑水与甲苯的相互作用,可以这么建模。但是吸附的分子距离表面太近了,从Multiwfn主功能0 ...

嗯,好的, 谢谢老师, 那我再摆远些,

1.  我之前建模是切面后直接扩胞,然后在使用ATOMSK进行转换结果导致Y轴的长度接近X的2倍,我现在建模是,先切面后,然后用Atomsk进行转换成正交,然后在进行2*1扩胞,使得X方向和Y方向的长度差不多,然后在进行2*2扩胞,结果如下,您看是否合适?
(, 下载次数 Times of downloads: 34)

2.  此外, 在进行结构优化任务时,底层原子被固定,请问在跑AIMD时,设置热浴原子范围的时候,是选择全原子呢还是热浴固定原子之外的原子呢?

3.  另外 结构优化时的 CUTOFF 和   REL_CUTOFF 的值是否需要和跑AIMD的值一样呢? 导入结构后,在设置AIMD任务时,Multiwfn 默认的CUTOFF 和   REL_CUTOFF 是300和40;而在跑结构优化时Multiwfn 默认的CUTOFF 和   REL_CUTOFF 是400和55

4.  最后, 进行AIMD计算之前, 我先对结构进行了优化,请问这样做是否合适,结构优化结束后,发现4个收敛阈值只有前面两个是YES,后面两个是NO(如下图所示),请问是否影响结果呢?
如果有影响,请问怎样调整合适呢?其收敛标准和完整的输入文件如下: (, 下载次数 Times of downloads: 17)
(, 下载次数 Times of downloads: 39) (, 下载次数 Times of downloads: 46)





作者
Author:
sobereva    时间: 2021-7-1 04:35
风飞 发表于 2021-6-30 12:17
嗯,好的, 谢谢老师, 那我再摆远些,

1.  我之前建模是切面后直接扩胞,然后在使用ATOMSK进行转换 ...

1 没问题

2 固定之外的

3 没有要求必须一样。
不用太在意Multiwfn默认的,该设多少和体系包含的元素、基组关系很密切。由于动力学要跑的步数非常多,所以Multiwfn默认的才稍微低一了一些来降低耗时。根据实际情况怎么合适怎么设。

4 动力学之前的优化不需要收敛得太精确。只要把斥力基本释放开就够了
作者
Author:
风飞    时间: 2021-7-13 15:36
本帖最后由 风飞 于 2021-7-13 16:06 编辑
sobereva 发表于 2021-7-1 04:35
1 没问题

2 固定之外的

老师,您好,跑出的能量结果如下,看别人文献中的能量都比较平,而我的结果,感觉起伏还是有些大,请问是否有问题呢,是我跑的时间不够吗?(目前是5ps, 每步1fs,)请问该怎样调节合适呢?我目前的输入文件如下: (, 下载次数 Times of downloads: 32)   

目前我是在300 K的温度下跑的,使用的热浴时间常数是200fs, 请问如果在900 oC(973K)的条件下跑,如果要增大热浴时间,一般设置多大合适呢?体系共366个原子,固定了地面的192个原子, 催化剂表面有14个水分子。 根据您前文所述“ 如果怕升温太快,可以把热浴的时间常数设大,设得越大热浴效果会越弱,向目标温度变化会越慢”,感觉如果增大了热浴时间,动力学的时间也需要增加, 那么动力学的时间增加大多少合适呢?  

其实我是想看看水在载体表面的解离行为,在前期的300K的温度下跑的时候,发现在130fs的时候一个水分子在载体表面有解离的趋势了,到300 fs的时候,第二水分子有解离的趋势,到700 fs的时候第三个水分子发生解离, 在随后的运动中,主要是水分子和水分子之间的相互作用,并且发现水和水之间的相互作用会促进水的解离
(, 下载次数 Times of downloads: 39)



作者
Author:
sobereva    时间: 2021-7-13 15:57
看起来平不平和坐标轴范围有关系
当前结果没什么显著问题
“热浴时间”指代不明,顶多是热浴的时间常数。说清楚单位
作者
Author:
风飞    时间: 2021-7-13 16:36
sobereva 发表于 2021-7-13 15:57
看起来平不平和坐标轴范围有关系
当前结果没什么显著问题
“热浴时间”指代不明,顶多是热浴的时间常数。 ...

老师,您好,热浴时间常数的单位是fs,  在300K的模拟条件下,我之前的热浴时间常数是200fs,  在手册中了解到‘:Time constant of the CSVR thermostat. A small time constant will result in strong thermostatting (useful for initial equilibrations) and a large time constant would be adequate to get weak thermostatting in production runs’   请问如果我现在的模拟温度变成973K(700 oC),根据经验,请问这个热浴时间常数设置成多少合适呢?
作者
Author:
sobereva    时间: 2021-7-13 16:48
100~500 fs是常用范围,根据希望的热浴耦合强度适当选择
作者
Author:
风飞    时间: 2021-7-14 11:14
本帖最后由 风飞 于 2021-7-14 16:58 编辑
sobereva 发表于 2021-7-13 16:48
100~500 fs是常用范围,根据希望的热浴耦合强度适当选择

老师,您好,在文献中看到大多数动力学模拟都有一个预平衡的阶段,然后是采样阶段,此外,感觉大多数文献中用的是Nose-Hoover热浴,可是之前看到您说过,Nose-Hoover很不适合尚未达到平衡状态的模拟,因此建议使用CSVR,此外,对于高温模拟(例如700oC)使用较小的热浴时间常数可以较快的保持至指定温度位置,但是对轨迹的影响也比较大,

因此,对于我的体系,请问对于高温模拟(例如700 oC, 973K),请问是否有必要先使用CSVR热浴,采用较大的热浴时间常数400fs 使之达到快速达到预平衡,然后再使用Nose-Hoover thermostat 热浴采用小的热浴时间常数100fs, 进行采样呢?我昨天尝试在700oC, 耦合时间常数设置为400fs ,步长是1.0fs, 跑了600多步,结果如下:由图可知,感觉在400fs的时候, 达到了预定温度,500-600fs的时候差不多达到平衡,请问是否可以提取最后的结构(最后一步的结构),然后再改成Nose-Hoover thermostat热浴且使用较小的热浴时间常数(例如100fs), 进行计算呢?
(, 下载次数 Times of downloads: 35)

作者
Author:
sobereva    时间: 2021-7-14 16:19
风飞 发表于 2021-7-14 11:14
老师,您好,在文献中看到大多数动力学模拟都有一个预平衡的阶段,然后是采样阶段,此外,感觉大多数文献 ...

一律用CSVR热浴,不要用Nose-Hoover,也没必要之后切换成Nose-Hoover

热浴的时间常数越小热浴效果才越强,你搞反了
作者
Author:
风飞    时间: 2021-7-14 18:45
本帖最后由 风飞 于 2021-7-17 22:00 编辑
sobereva 发表于 2021-7-14 16:19
一律用CSVR热浴,不要用Nose-Hoover,也没必要之后切换成Nose-Hoover

热浴的时间常数越小热浴效果才越 ...

老师, 我已经修改了上述内容,
抱歉,是我弄糊涂了,我理了一下,请问关于热浴时间常数理解是如下这样的吗?

1.热浴时间常数越小,耦合强度越强,到达目标温度的速度越快,对轨迹的影响越大;与此相反,热浴时间常数越大,耦合强度越弱,到达目标温度的速度越慢,对轨迹的影响越小

2. 对于高温模拟,如果初速度直接对应很高温度,出现崩溃,可以尝试增大热浴热浴时间常数

作者
Author:
sobereva    时间: 2021-7-14 22:40
风飞 发表于 2021-7-14 18:45
老师, 我已经修改了上述内容,
抱歉,是我弄糊涂了,我理了一下,请问关于热浴时间常数理解是如下这样 ...

1 是
2 这和热浴没直接关系。初速度太大导致一开始崩溃了,热浴都还没来及生效
作者
Author:
风飞    时间: 2021-7-15 10:09
本帖最后由 风飞 于 2021-7-15 12:31 编辑
sobereva 发表于 2021-7-14 22:40
1 是
2 这和热浴没直接关系。初速度太大导致一开始崩溃了,热浴都还没来及生效

嗯, 好的, 谢谢老师,我尝试了一下:目标温度为973 K, 热浴时间常数是400 fs, 使用的是CSVR热浴,步长是1 fs, 跑了1300多步,温度和能量随时间的变化如下,感觉温度偏离的有些多,请问是理解为还没有达到平衡呢?还是因为热浴时间常数太大,导致还没有达到目标温度呢?可是,目前的温度明显高于973 K,应该是到了,但是不稳定,感觉起伏太大了,请问这个怎么调节呢?
(, 下载次数 Times of downloads: 38)



作者
Author:
sobereva    时间: 2021-7-15 12:29
风飞 发表于 2021-7-15 10:09
嗯, 好的, 谢谢老师,我尝试了一下:目标温度为973K, 热浴时间常数是400fs, 使用的是CSVR热浴,热浴的 ...

没有“热浴的步长”一说

再继续跑跑
另外,时间常数400 fs略大,我大多都用200 fs
作者
Author:
风飞    时间: 2021-7-17 22:05
本帖最后由 风飞 于 2021-7-17 22:07 编辑
sobereva 发表于 2021-7-15 12:29
没有“热浴的步长”一说

再继续跑跑

老师, 您好,我已修改上述错误描述。此外,我尝试使用热浴时间常数200 fs 和400 fs ,目标温度为973K, 步长1fs, 进行模拟,得到的温度随时间的变化如下图,感觉都是偏离目标温度,请问是不是我的其他参数设置有问题呢?
我的输入文件如下:
(, 下载次数 Times of downloads: 10)
(, 下载次数 Times of downloads: 52)


作者
Author:
sobereva    时间: 2021-7-17 23:41
再继续跑
作者
Author:
风飞    时间: 2021-7-20 14:51
sobereva 发表于 2021-7-17 23:41
再继续跑

老师,您好,我现在跑了3925步(3925fs),温度和能量随时间的变化如下,感觉还是没有达到目标温度的趋势,请问是继续跑了,还是?
(, 下载次数 Times of downloads: 54)

作者
Author:
sobereva    时间: 2021-7-20 18:42
风飞 发表于 2021-7-20 14:51
老师,您好,我现在跑了3925步(3925fs),温度和能量随时间的变化如下,感觉还是没有达到目标温度的趋势 ...

也许和当前设热浴的部分与设了FIXED_ATOMS的部分有直接成键作用有关,不好说。姑且用当前的结果应该也能说明实际问题
作者
Author:
风飞    时间: 2021-7-22 21:11
本帖最后由 风飞 于 2021-7-22 21:36 编辑
sobereva 发表于 2021-7-20 18:42
也许和当前设热浴的部分与设了FIXED_ATOMS的部分有直接成键作用有关,不好说。姑且用当前的结果应该也能 ...

嗯, 老师,我尝试减少固定原子的数目,又跑了1600多步, 温度还是向之前一样,一直呈现上升趋势,没有稳定趋势,
我固定原子和热浴原子的情况如下,您看是否有问题呢?固定原子部分和热浴部分的确有成键作用,但是感觉不可避免,请问是否有改进建议呢?此外,热浴和固定原子部分的输入文件如下:
如果实在不行,就只能用当前结果了
(, 下载次数 Times of downloads: 46)

(, 下载次数 Times of downloads: 61)






作者
Author:
sobereva    时间: 2021-7-23 03:40
风飞 发表于 2021-7-22 21:11
嗯, 老师,我尝试减少固定原子的数目,又跑了1600多步, 温度还是向之前一样,一直呈现上升趋势,没有稳 ...

我个人也没什么额外建议,更多的只有开发者能给出comment了,可以到邮件列表问问
作者
Author:
get-it    时间: 2021-7-23 03:52
我觉得你最好找找相关的文献,看看别人怎么模拟的,否则可能会白费工夫。
作者
Author:
风飞    时间: 2021-7-23 13:41
get-it 发表于 2021-7-23 03:52
我觉得你最好找找相关的文献,看看别人怎么模拟的,否则可能会白费工夫。

嗯,相关文献,我综合起来看过, 但是他的描述都没那么的细,请问您那边是否有推荐呢?我主要是做固体表面的吸附反应动力学
作者
Author:
风飞    时间: 2021-7-23 13:41
sobereva 发表于 2021-7-23 03:40
我个人也没什么额外建议,更多的只有开发者能给出comment了,可以到邮件列表问问

嗯, 好的 谢谢老师,我也再去找找
作者
Author:
风飞    时间: 2021-7-25 05:51
本帖最后由 风飞 于 2021-7-26 12:14 编辑
sobereva 发表于 2021-7-23 03:40
我个人也没什么额外建议,更多的只有开发者能给出comment了,可以到邮件列表问问

老师,您好,

1.  请问对于气固模型,在进行表面吸附构型以及吸附能等相关研究时,往往需要固定固体表面模型的底部原子,请问对于在高温下进行AIMD模拟时,请问还需要固定底部原子吗?

2.  此外,在使用CP2K跑AIMD时,有如下两种设置:设置1(不固定底部原子,且只热浴指定范围原子) 和 设置2(固定底部原子且热浴非固定原子),请问设置1和设置2的区别是?
    我的理解是,设置1,底部原子会随着热浴原子的运动而运动,即底部原子坐标会变化;
                      设置2, 底部原子不会随着热浴原子的运动运动,即底部原子坐标不会发生变化;
    请问是这样的理解的吗?
3. 此外,请问在高温下(973K)下进行NVT模拟时,请问需要设置TEMP_TOL的值吗?  默认值为0

(, 下载次数 Times of downloads: 39)








作者
Author:
sobereva    时间: 2021-7-26 01:06
风飞 发表于 2021-7-25 05:51
老师,您好,

1.  请问对于气固模型,在进行表面吸附构型以及吸附能等相关研究时,往往需要固定固体表 ...

1 需

2 “且热浴固定原子外的原子”语义不明。如果是指不固定的部分使用热浴,是这样

3 一般用默认的0就行。如果不为零,则实际温度与参考温度偏差超过这个值,会被强行scale到这个范围内
作者
Author:
风飞    时间: 2021-7-26 12:57
sobereva 发表于 2021-7-26 01:06
1 需

2 “且热浴固定原子外的原子”语义不明。如果是指不固定的部分使用热浴,是这样

嗯,好的  谢谢老师,语义不明处已修改,

按照您说的,对于气固模型需要固定原子,

对于之前的问题,我在CP2K的邮件列表问了, 有老师说让我分段进行:
他的建议描述如下:
I forgot to mention, when all commented things work well, if you want to thermalize the system after running a production dynamics, it is advisable to run the thermalization in two steps instead of just one run. I use a two step procedure, running first a thermalization with a short TIMECON (50 or 100 fs) and REGION MASSIVE, to have a strong coupling and fast temperature stabilization, then restart using a higher TIMECON (200 fs or what you want for production) and REGION GLOBAL, restarting the thermostat between step 1 and 2. With this procedure usually you obtain a better thermalization in a short number of steps.’

我尝试了该的方式,发现使用REGION MASSIVE 时和原子位置固定有冲突,但是和热浴原子范围没有冲突,请问我在原子固定的设置方面也是使用分段进行呢?还是?
即,在到达目标温度前,使用REGION MASSIVE  且不固定原子,但是热浴指定原子,到达稳定的目标温度后,设置REGION GLOBA,且开始对非热浴区域进行固定
此外,请问对于TEMP_TOL=0 这个参数,请问对于当温度偏差多大的时候,使用合适呢?
我尝试,在目标温度973K的条件下,使用TEMP_TOL=0,REGION GLOBA   没有固定原子,跑了1.5 ps   发现温度偏差是-29K-42K(即944-1014K) ,请问有必要使用TEMP_TOL这个参数吗?




作者
Author:
风飞    时间: 2021-7-26 12:59
本帖最后由 风飞 于 2021-7-26 22:03 编辑
sobereva 发表于 2021-7-26 01:06
1 需

2 “且热浴固定原子外的原子”语义不明。如果是指不固定的部分使用热浴,是这样

嗯,好的  谢谢老师,语义不明处已修改,

按照您说的,对于气固模型需要固定原子,

对于之前的问题,我在CP2K的邮件列表问了, 有老师说让我分段进行:
他的建议描述如下:
I forgot to mention, when all commented things work well, if you want to thermalize the system after running a production dynamics, it is advisable to run the thermalization in two steps instead of just one run. I use a two step procedure, running first a thermalization with a short TIMECON (50 or 100 fs) and REGION MASSIVE, to have a strong coupling and fast temperature stabilization, then restart using a higher TIMECON (200 fs or what you want for production) and REGION GLOBAL, restarting the thermostat between step 1 and 2. With this procedure usually you obtain a better thermalization in a short number of steps.’

我尝试了该的方式,发现使用REGION MASSIVE 时和原子位置固定有冲突,但是和热浴原子范围没有冲突,请问我在原子固定的设置方面也是使用分段进行呢?还是?
即,在到达目标温度前,使用REGION MASSIVE  且不固定原子,但是热浴指定原子,到达稳定的目标温度后,设置REGION GLOBA,且开始对非热浴区域进行固定
此外,请问对于TEMP_TOL=0 这个参数,请问对于当温度偏差多大的时候,使用合适呢?
我尝试,在目标温度973K的条件下,使用TEMP_TOL=0,REGION GLOBA   没有固定原子,跑了1.5 ps   发现温度偏差是-29K-42K(即944-1014K) ,请问有必要使用TEMP_TOL这个参数吗? (, 下载次数 Times of downloads: 40)





作者
Author:
chen0201    时间: 2023-3-14 21:41
风飞 发表于 2021-7-14 11:14
老师,您好,在文献中看到大多数动力学模拟都有一个预平衡的阶段,然后是采样阶段,此外,感觉大多数文献 ...

您好,我想请问一下,预平衡和平衡的温度设置关键参数怎么设置呢?
作者
Author:
sobereva    时间: 2023-3-15 03:14
chen0201 发表于 2023-3-14 21:41
您好,我想请问一下,预平衡和平衡的温度设置关键参数怎么设置呢?

“平衡”指代不明

预平衡的情况,如果想让温度尽快平衡到参考温度,就把热浴的时间常数用小点的,比如50至100(Multiwfn创建的输入文件里默认用200,适合产生相使用)




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3