24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1598  |  回复: 11
本帖产生 2 个 1ST强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wangsong1016

铜虫 (初入文坛)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
youzhizhe(金币+2, 1ST强帖+1): 谢谢交流。 2011-05-02 19:56:53
引用回帖:
Originally posted by gavinliu7390 at 2011-04-12 23:19:52:
正常 。   因为你是用热浴的方法加热。
温度本身就是一个统计平均值。  只是长时间的模拟,求平均后才是真实的温度。
一段时间后, 温度的震荡应该逐渐变小。

我没有用过nose模块,不过我在用verletMD计算时出现过类似的温度起伏,甚至是剧烈起伏的问题。
    我想可能有如下的原因给你参考。
    首先宏观体系的温度就如二楼所说是个统计平均值,实际上是对分子热运动的一个平均描述。
    到了微观层次,按照能量均分定理,每个原子,每个自由度能量是1/2kBT,简化考虑就可以采用1/2kBT=1/2mv**2。意思是在一维无转动的情况下,这一个自由度的能量对应于粒子平动的动能。在程序中就是这么计算得到的温度。输出文件中有一个systemlable.XV里面有各个原子不同方向的速度。通过公式就可以把各个速度对应的能量转化为温度。
    你在输入文件中给定了初始的温度,程序就给各个原子不同的速度让其震动起来。但是原子一旦发生震动,势能必然变化,那么各个原子的动能(速度)也随之变化,因为总能量要保持守恒。这样就导致了体系温度的变化。这种涨落是不可避免的,不算是错误,但是可能与我们想要的所谓恒定温度情况有较大的偏差。
4楼2011-04-16 22:25:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

wangsong1016

铜虫 (初入文坛)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
youzhizhe(金币+2, 1ST强帖+1): 谢谢交流。 2011-05-03 10:48:12
引用回帖:
Originally posted by 轻风龙骑士 at 2011-05-02 14:59:18:
谢谢啊,后来我查了资料,明白了。现在我问题是:是不是一般认为如果跑一个恒温动力学,在温度变化范围达到设定温度的上下10%的时候,在设定温度下达到了平衡态?那么如果初始构型不是设定温度下的稳定相,是不 ...

恒温的动力学过程我没有计算过,所以对过程不太了解。至于10%是否合适我觉得也很难界定,这根据你的体系的大小不同应该是不一样的。体系越小,涨落就越大。计算50个原子时涨落应该大于500个原子,两个体系都用10%应该是不合适的。我这里也不敢给你定量的结论,很不好意思。
    还有一个是我认为你所说的相变应该是宏观的一个过程,某个温度下的稳定相应该是在固体的宏观尺度范围内进行考虑,但是看固体的微观结构,还是应该有很剧烈的涨落的。计算到百十个原子的时候,无论涨落是否很大应该都很难反映出宏观固体状态。
    我有个想法就是如果你想做一个恒温的计算,可否考虑计算时间长一点。比如你要一个100K的温度,你让体系自己运行,跑个2000或者3000个MD过程,然后再看一下他的温度变化范围,有可能就是在你100K的温度上下有较大的波动。但是你把3000个温度取个平均值试试,也许就是100K左右的温度。温度本来就是一个较长时间对能量统计平均值,如果做了这么长那个时间的模拟,温度平均值能够是你所希望得到的那个值,我觉得应该是比较有说服力了。
6楼2011-05-03 10:34:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 轻风龙骑士 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见