24小时热门版块排行榜    

查看: 1663  |  回复: 7

ShawnXu1986

新虫 (初入文坛)

[交流] 水分子模拟,如何解决由于正负电荷点过于靠近导致的平均动能过大问题?

各位前辈,大家好。

小弟自己写了个水分子模拟程序,NVE ensemble,使用了TIP3P, TIP5P水分子模型。在计算库仑力时使用的是Ewald summation。

在这两个模型中,正电荷位于H原子上,负电荷位于O原子上或者M site上。当O 原子和H原子特别靠近时,由于正负电荷吸引,库仑力会使得这两个原子靠近,但越靠近库仑力越大,则两个原子更加靠近!! 由于LJ势能只应用在O-O 原子之间,所以没有排斥力使得这一对OH原子分开,这两种原子只能由极高的速度逃脱彼此,避免碰撞在一起。

但这就导致了整个系统的平均动能变得非常大,使得模拟的温度不合常理的高(大于10000K)。 

我想到的一个办法是在每一步都对速度进行等比缩小,使得系统平均动能给出的温度能够靠近我想要的温度(比如300K)。但这个办法并不可行。因为两个电荷点避免碰撞在一起需要两个电荷点有较高的速度,如果没有速度,那么这两个电荷就最终重叠到一起了,使得计算崩溃。

请各位能够帮帮我,支出我的理解是否有误,并请给我指出正确的方向,非常感谢
回复此楼

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ShawnXu1986

新虫 (初入文坛)

自己顶
2楼2015-12-14 13:37:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mzhyan

至尊木虫 (文坛精英)


小木虫: 金币+0.5, 给个红包,谢谢回帖
还是祝福吧,呵呵呵呵呵呵呵呵呵呵。
3楼2015-12-14 13:56:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

纳米之心

木虫 (文坛精英)

祝福楼主
火星人要回火星了!!!
4楼2015-12-14 14:25:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luojing1336

银虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
可以考虑使用 速度-温度修正公式
5楼2015-12-17 12:59:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Ninazizi

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
加上O-H作用的LJ势。。。。
6楼2015-12-17 15:48:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
我怀疑你使用的势函数不对, 一般使用这两个水模型时都是刚性的, 而且不会出现你说的那种情况. 建议你仔细检查先所用的参数对不对. 是不是单位弄错了.
7楼2015-12-18 12:24:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ShawnXu1986

新虫 (初入文坛)

非常感谢楼上各位的回复

经过这几天的研究,我发现导致系统平均动能非常高的是由极高的LJ势能导致的(当我不计算库仑力,只计算LJ力时,系统还是具有极高的平均动能)。原因为:当原子间距离小于sigma时,LJ势能对距离非常敏感,随距离减小急速升高。而我在对系统进行初始化时,各个分子在计算区域中是随机分布的,这导致有可能两个O原子时间距离很小。

由于我用的时NVE ensemble, 要达到想要的温度,解决这个问题的办法就是进行速度等比缩小。这样由势能转化为的动能被人工冷却。在我的求助贴中,我提到这个办法不可行,其实是由于我的程序中关于缩小速度的部分没有写正确导致的,misleading 请各位谅解。现在我的程序已经能够正确运行计算比热,能够得到正确的结果。

在TIP3P和TIP5P中,虽然没有O-H作用的LJ势,但是O-O原子间的LJ势是能够抵抗O-H之间的库仑力的。我对我的程序进行测试发现,当不加LJ势时,系统平均动能会越来越大,最终计算崩溃。但加上LJ势后,系统会达到平衡。
8楼2015-12-19 11:09:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ShawnXu1986 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见