计算化学公社

标题: cp2k跑AIMD怎么设置升温呢 [打印本页]

作者
Author:
qwe1832518773    时间: 2021-2-12 15:23
标题: cp2k跑AIMD怎么设置升温呢
想跑一个反应,实验下是逐渐升高温度到2500度才能观察到反应发生(2h),想用AIMD简单的模拟一下。记得之前看到过论坛里sob老师给一个帖子回复说,如果一下子给很高的温度的话,随机生成的初速度不如逐渐升温得到的好(这个帖子一时半会搜不到了,但是应该是这个意思)
因此打算从300K开始逐渐升温至2500度,每一个温度停留1ps,这样该写什么指令呢,应该不能继续用NPT系综了吧,下面是我以前恒温AIMD任务的温度设置部分,需要怎么修改呢?

&MD
        ENSEMBLE NPT_I
        TEMPERATURE 300
        TIMESTEP 0.5
        STEPS 2000        
            &BAROSTAT
              PRESSURE 1
              TEMPERATURE 300
            &END BAROSTAT
            &THERMOSTAT
            TYPE NOSE
             REGION GLOBAL
             &NOSE
               TIMECON 1000
               LENGTH 3
               MTS 2
             &END NOSE
         &END THERMOSTAT
    &END MD

麻烦各位dalao帮我看看了,给您们拜年了,牛年大吉!!!




作者
Author:
sobereva    时间: 2021-2-12 16:26
没法通过一个文件实现,需要靠批处理文件

初速度直接对应很高温度的话很容易崩

这和NPT完全没有矛盾之处。热浴建议改用CSVR,Nose-Hoover很不适合尚未达到平衡状态的模拟
作者
Author:
qwe1832518773    时间: 2021-2-13 12:39
sobereva 发表于 2021-2-12 16:26
没法通过一个文件实现,需要靠批处理文件

初速度直接对应很高温度的话很容易崩

谢谢sob老师大过年的给我回复,我想知道比如一个任务,比如1ps内从0K升到300K,这样的升温改用什么指令呢?我网上搜了一下好像没有搜到相关的信息,应该不是直接写一个TEMPERATURE 300吧
作者
Author:
啦啦黑还黑    时间: 2021-2-13 18:53
一个文件也能退火升温,改用NVE系综,别用0K作为初始问题,设置初始温度10 K,设置annealing 1.001          但是没有办法控制升温的时间1ps,这个要自己算一下大概跑多少步。
作者
Author:
sobereva    时间: 2021-2-14 20:15
NVE结合ANNEALING的退火方式相当于用最原始的速度调解法来变温,而且是每一步都这么调一次速度,这完全抑制了真实热浴下理应有的热涨落,人为因素过强。迫不得已可以用,但仅限用于变温过程的目的,跑特定温度下的动力学现象还是应当结合热浴。


“直接写一个TEMPERATURE 300”只是要求让温度平衡到300 K,并不体现“1ps”(如果额外指定/读取初速度,热浴的时间常数决定了从初始温度平衡到平均300K过程的快慢)。CP2K这方面做得不理想,应该增加一个像GROMACS的控制热浴的参考温度变化的选项。


作者
Author:
nusiew    时间: 2021-6-30 19:33
请问楼主解决这个问题了吗

作者
Author:
star2128    时间: 2023-1-6 19:41
啦啦黑还黑 发表于 2021-2-13 18:53
一个文件也能退火升温,改用NVE系综,别用0K作为初始问题,设置初始温度10 K,设置annealing 1.001         ...

请问NVE如何设置初始温度啊?只有一个TEMPERATURE不是目标温度么。




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