24小时热门版块排行榜    

查看: 4773  |  回复: 15
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

对天空说lrj

金虫 (正式写手)

[求助] Nose-Hoover 热浴控温,lammps来讲就是指的fix nvt 吧?为什么温度会大增导致原子丢失 已有6人参与

我做热导率想先按照文献的方法模拟一遍验证自己的程序对不对,据文献里的表述“前50 万步,将整个系统置于NVE 系综中,对上下固壁和液体区域分别使用温度/速度调节法使系统在100 K 下达到平衡状态。后500 万步,利用Nose-Hoover 热浴来对上下固壁分别进行控温,给液体区域沿y 向施加一个温度梯度.”
对于上面描述的控温我使用如下的命令
fix NVE all nve
fix 2 all temp/rescale 100 100 100 0.1 1.0
run 500000
unfix 2
fix NHlo Plow nvt temp 110 110 100
fix NHhi Pup nvt temp 90 90 100
run 5000000
第二个run的时候我没有对液相进行任何控温,Nose-Hoover 热浴控温,对于lammps来讲就是指的fix nvt 吧?但是这样运行之后前面还有nve,体系的温度就会不断增加,最后丢失原子,麻烦前辈看看我的问题出在哪里?
回复此楼
我若盛开,蝴蝶自来
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

电容2016

新虫 (初入文坛)

引用回帖:
9楼: Originally posted by tang_wei at 2015-12-30 09:36:55
我也遇到了这个问题,初始速度后然后nve系宗,按理说温度应该是不变的,但是运行一段时间后温度持续升高,最后原子跑丢失了。

请问问题解决了吗?我也遇到类似的问题,正急呢。
10楼2016-01-19 21:23:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

yy8790

木虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
在nvt命令之前可以试一下  “unfix NVE”
3楼2015-07-29 02:37:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

对天空说lrj

金虫 (正式写手)

引用回帖:
3楼: Originally posted by yy8790 at 2015-07-29 02:37:49
在nvt命令之前可以试一下  “unfix NVE”

我试过了,这样之后液相速度位置就没法迭代,就会完全静止不动了,我也不知道为什么?而且导出的液相区还是有温度的
我若盛开,蝴蝶自来
4楼2015-07-29 08:48:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luzihen

金虫 (正式写手)

【答案】应助回帖

我做热导率想先按照文献的方法模拟一遍验证自己的程序对不对,据文献里的表述“前50 万步,将整个系统置于NVE 系综中,对上下固壁和液体区域分别使用温度/速度调节法使系统在100 K 下达到平衡状态。后500 万步,利用Nose-Hoover 热浴来对上下固壁分别进行控温,给液体区域沿y 向施加一个温度梯度.”
###############################################################
这里文献的描述不准确,NVE系宗能量是invariant。
###############################################################



对于上面描述的控温我使用如下的命令
fix NVE all nve
fix 2 all temp/rescale 100 100 100 0.1 1.0
run 500000
unfix 2
fix NHlo Plow nvt temp 110 110 100
fix NHhi Pup nvt temp 90 90 100
run 5000000
第二个run的时候我没有对液相进行任何控温,Nose-Hoover 热浴控温,对于lammps来讲就是指的fix nvt 吧?但是这样运行之后前面还有nve,体系的温度就会不断增加,最后丢失原子,麻烦前辈看看我的问题出在哪里?
###############################################################
第二个run的时候你每步的对上下两个区域进行了两次积分,一个根据NVE,就是F=ma,另一次根据NVT,就是F=ma+一个量。我估计你体系出问题就是这个原因。
所以,在第二个run的时候,你应该对上下两部分NVT,中间NVE。不要有overlap。
还有一种方法是用郎之万thermalstat,lammps里的郎之万热浴不会直接进行积分,所以可以写成fix all nve+fix Nhi Langevin。
###############################################################
5楼2015-09-03 15:23:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见