24小时热门版块排行榜    

查看: 1501  |  回复: 23

yongning88

铜虫 (小有名气)

[求助] 势函数的构件 已有1人参与

我按照文献中的公式和参数计算了一下pair-potentiial, 算出的值和文献中给出的图一样(如图3所示),可为什么当 r 小于1.5 A 时,对势就很大(如图5所示),文献中没给出这部分的值,而LAMMPS中给出的势文件却是有个峰值的(如图4所示)。跪求大牛们的帮助。

势函数的构件
function.PNG


势函数的构件-1
parmeters.PNG


势函数的构件-2
pair_potential_in-paper.PNG


势函数的构件-3
pair_potential_for_LAMMPS.PNG


势函数的构件-4
pair_potenial_in_paper.PNG
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

老虎大王

木虫 (著名写手)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
月只蓝: 金币+10, 感谢指导! 2014-05-16 20:11:55
引用回帖:
17楼: Originally posted by yongning88 at 2014-05-14 21:28:31
谢谢您的回复,其他的都明白了,可现在还是不明白的是,如果势函数不能取很大,也就是 r 的值不能太小,但构件势函数文件时,r得以零为起点,那对于这个部分的势函数值怎么得到?...

这个,我想,我已经说得比较清楚了。可是你好像还是不大清楚。现在我给你一个例子,比如说,我要对某种立方晶体拟合L-J势函数的参数: E=(A/r)^6-(B/r)^12,要拟合的就是A和B两个参数。我选择晶体的结合能Ec,晶胞体积V0, 体弹性模量B,以及弹性系数C11和C12等来做为拟合目标。拟合之后:
1)我获得了A和B的值。现在我的势函数就完整了。
2)现在我做E-r图。做为一个数学函数,r 可以从零取到无穷大,都有对应的E值。
3)但是对于我的模拟工作来说,r很小的时候,虽然有对应的E值,但这些值在模拟上是用不到的。r很大的时候,同样如此。
4)我发表这个势函数的曲线图的时候,我不需要从r=0开始画图,并且我要避免从r=0开始画图。因为r很小的时候,势能非常大,比如在30000以上,这样我就需要把纵坐标范围定得很大,这就把后面实际上有用的部分掩盖掉了,后面的E值的波动在图上就反映不出来了。
5)所以我画图的时候,要从某个r值开始画,这个时候,E值还是比较大,但是能够保证我后面的E值的波动可以清楚地显示。
6)这就是你看到的文献的图上,r不从零画的原因。

总结一下,
我没有说势函数不能取很大,我是说两点:
A) 作图的时候,如果把r 很小的时候的势函数曲线作出来,纵坐标范围就要定得很大,后面的E值的波动在图上就反映不出来了,而只有后面的E值才对于模拟是真正有用的。
B) r很小的时候,模拟上用不到,所以你根本不要去纠结r很小时候的势能的情况,你计算势函数值的时候,要把精力放在后面的部分。后面的部分和文献一致了,你就算对了,后面的部分和文献不一致,那么说明你和文献作者之间至少有一方出错了。但是前面的r很小的部分的一致性是不需要考虑的。
18楼2014-05-15 08:25:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

lsloneil

专家顾问 (正式写手)

你是如何用lammps得到图4和图5的?
2楼2014-04-29 10:31:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yongning88

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by lsloneil at 2014-04-29 10:31:08
你是如何用lammps得到图4和图5的?

这个不是用LAMMPS得到的,是用MATLAB 算的,我是想自己构架那个可以在LAMMPS中用的势函数
3楼2014-04-29 10:37:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fanarsenal

木虫 (正式写手)


月只蓝: 金币+1, 鼓励交流! 2014-04-30 13:22:50
mark一下。
楼主的那张图跟文献一样?我觉得从这个尺度看哪有一样的,或者楼主标清楚一下图几。。。
最好把文献贴出来,帖子里面只放自己的图。
4楼2014-04-30 09:37:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老虎大王

木虫 (著名写手)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
月只蓝: 金币+3, 感谢指导! 2014-04-30 11:06:35
原子离得近,当然势能就很大了,但是原子不可能离那么近的。像你这么做图,把势函数的细节全部掩盖掉了。
5楼2014-04-30 10:20:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yongning88

铜虫 (小有名气)

引用回帖:
5楼: Originally posted by 老虎大王 at 2014-04-30 10:20:36
原子离得近,当然势能就很大了,但是原子不可能离那么近的。像你这么做图,把势函数的细节全部掩盖掉了。

不好意思这几天放假,没及时回复,那对于原子很近的情况是怎么处理的呢?
6楼2014-05-03 19:02:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老虎大王

木虫 (著名写手)

【答案】应助回帖

★ ★ ★
月只蓝: 金币+3, 感谢指导! 2014-05-16 20:10:35
引用回帖:
6楼: Originally posted by yongning88 at 2014-05-03 19:02:45
不好意思这几天放假,没及时回复,那对于原子很近的情况是怎么处理的呢?...

原子离得很近的情况,比如r<1.0ang,那基本上是没有什么实际意义的,原子不会靠得这么近,如果你模拟中原子真要是靠得这么近,那一定是弄错了。这一部分的势函数不需要拟合,因为实际上用不到。只要在r 比较小的的时候势能足够大,能够阻止原子继续靠近就可以了。你忽略掉这一部分就行了,不必纠结。主要是看后面的是否一致。
7楼2014-05-05 09:13:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yongning88

铜虫 (小有名气)

引用回帖:
7楼: Originally posted by 老虎大王 at 2014-05-05 09:13:09
原子离得很近的情况,比如r<1.0ang,那基本上是没有什么实际意义的,原子不会靠得这么近,如果你模拟中原子真要是靠得这么近,那一定是弄错了。这一部分的势函数不需要拟合,因为实际上用不到。只要在r 比较小的 ...

谢谢您的解释,既然r很小是可以忽略不用拟合,那为什么在有些已有的势函数文件中,对势值是从零开始增长,直到出现峰值,他这有事怎么处理的呢??
8楼2014-05-05 09:42:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老虎大王

木虫 (著名写手)

★ ★ ★
月只蓝: 金币+3, 感谢指导! 2014-05-16 20:11:11
引用回帖:
8楼: Originally posted by yongning88 at 2014-05-05 09:42:33
谢谢您的解释,既然r很小是可以忽略不用拟合,那为什么在有些已有的势函数文件中,对势值是从零开始增长,直到出现峰值,他这有事怎么处理的呢??...

他既然提出了一个函数,这个函数的参数拟合出来之后,自然会有一个函数值随r变化的过程,r从零开始增长,不久出现峰值,这是这个函数的性质所决定的,是一个数学问题。而这个函数在r很小的时候的性质,是不影响它的使用的。一个势函数的可用性和势函数的好坏,不是看这个函数在r很小的时候的情况,而是看这个函数在原子最近邻距离的附近开始之后的情况,比如r=1.0ang 或者1.5ang以后的情况。
9楼2014-05-06 09:36:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yongning88

铜虫 (小有名气)

引用回帖:
9楼: Originally posted by 老虎大王 at 2014-05-06 09:36:17
他既然提出了一个函数,这个函数的参数拟合出来之后,自然会有一个函数值随r变化的过程,r从零开始增长,不久出现峰值,这是这个函数的性质所决定的,是一个数学问题。而这个函数在r很小的时候的性质,是不影响它的 ...

对于我问题中给出的对势公式和拟合出来的参数值,我用MATLAB从r=0开始算了下,如图5所示,这个关于r的函数就没有峰值,也就是从无穷大趋向于零。如果我要用这个公式来建立一个势函数文件,需要从r=0,dr=0.0134A,截断半径取为6.68A,也就是500个对势值。选取r=0.67A时,对势值为910eV,这个为最小的原子间距,也就是最大的对势值,那对于r<0.67A的对势值怎么选取?
10楼2014-05-06 11:14:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yongning88 的主题更新
信息提示
请填处理意见