24小时热门版块排行榜    

查看: 3320  |  回复: 17

pgi1706

木虫 (小有名气)

[求助] 采用murn.f计算体积弹性模量不正确?

采用候老师的murn.f处理数据,计算体积弹性模量,发现与文献差别很大,不知是何原因?
输入文件如下:
2
0.03125
10.891 10.900 50
10
10.891 -.22071146E+03
10.892 -.22071168E+03
10.893 -.22071160E+03
10.894 -.22071159E+03
10.895 -.22071141E+03
10.896 -.22071119E+03
10.897 -.22071098E+03
10.898 -.22071078E+03
10.899 -.22071043E+03
10.900 -.22071035E+03
其中第一行 2 表示采用eV为能量单位,第二行是原胞与晶胞比例,结构为面心立方,我采用2*2*2超晶胞,是不是0.25/8=0.03125?
后面行就不解释了,可是采用murn.f得到的结果部分如下:

FIT BY MURNAGHAN EQUATION EQUATION OF STATE
-------------------------------------------------------------------------------

ITER ALATT0   VOL0 (ULA**3)  B0 (MBAR)     B0PRIME      E0 (EV)    SUM OF SQUARES
                                                                           IERR

   20  20.5838    272.53892     72.82852   2131.16340   -220.71167      0.00000
                                                                              0
   20  20.5838    272.53892     72.82852   2131.16340   -220.71167      0.00000
                                                                              0
-------------------------------------------------------------------------------

      ALATT0   VOL0 (ULA**3)  B0 (MBAR)     B0PRIME       E0 (EV)      E0 (RY)

alat=  20.58383 b0=   72.8285 b0p=  2131.163 E0=  -8.110822
       20.5838    272.53892     72.82852   2131.16340   -220.71167    -16.22185
       10.8925
-------------------------------------------------------------------------------

        alat(A)          energy(Ryd)            alat(bohr)          ener gy(H)
-------------------------------------------------------------------------------

       10.89100         -16.2218344       20.58101          -8.1109172
       10.89118         -16.2218385       20.58136          -8.1109193
       10.89137         -16.2218418       20.58170          -8.1109209

发现B0=72.8285Mbar,B0'=2131.163,而文献的结果却是B0=89.67Gpa,B0'=4.44,相差几个数量级,以前在做弹性力学计算时,也总得不出正确的结果,不知是何原因?
能不能帮我验算一下?能量-晶格常数已经贴出来了,非常感谢!
回复此楼

» 猜你喜欢

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

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

pgi1706

木虫 (小有名气)

顶一下阿,在线等
2楼2011-09-15 14:48:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

thelrgbird

金虫 (小有名气)

不懂……帮顶~
3楼2011-09-15 18:47:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bingmou

金虫 (著名写手)

【答案】应助回帖

★ ★
pgi1706(金币+5): 谢谢版主,按你的意思,我再试试 2011-09-16 10:32:03
zzy870720z(金币+2): 谢谢指点 2011-09-16 18:02:17
一般体弹性模量的计算是很不准确的,但是数量级应该是正确的,而数量可以相差50%。不应该差距几个数量级的。
我记得好像应该采用原胞的长度而不是2×2×2的长度,其次是能量应该是平均到每个原子的能量
4楼2011-09-16 05:03:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nright

铜虫 (小有名气)

★ ★
zzy870720z(金币+2): 谢谢指点,以后回答问题请选择“应助回帖”,呵呵 2011-09-16 18:02:52
晶格参数的变化的步长太小了,不同晶格参数对应的能量太接近,算得的弹性模量当然不准确。
这样算试一下:如果平衡体积为V0(应该接近实验V0),算5个点,体积分别为1.10V0,1.05V0,V0,0.95V0,0.90V0,然后用这5个点的晶格参数和能量拟合,应可以得到正确的体模量。
5楼2011-09-16 14:52:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pgi1706

木虫 (小有名气)

引用回帖:
5楼: Originally posted by nright at 2011-09-16 14:52:29:
晶格参数的变化的步长太小了,不同晶格参数对应的能量太接近,算得的弹性模量当然不准确。
这样算试一下:如果平衡体积为V0(应该接近实验V0),算5个点,体积分别为1.10V0,1.05V0,V0,0.95V0,0.90V0,然后用这 ...

非常感谢,我再试试
6楼2011-09-16 19:47:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pgi1706

木虫 (小有名气)

引用回帖:
4楼: Originally posted by bingmou at 2011-09-16 05:03:48:
一般体弹性模量的计算是很不准确的,但是数量级应该是正确的,而数量可以相差50%。不应该差距几个数量级的。
我记得好像应该采用原胞的长度而不是2×2×2的长度,其次是能量应该是平均到每个原子的能量

根据版主的意思,我重新计算了一下,得出的结果如下:
ITER ALATT0   VOL0 (ULA**3)  B0 (MBAR)     B0PRIME      E0 (EV)    SUM OF SQUARES
                                                                           IERR

   20  10.2920    272.54801      0.94253   1408.17260     -3.44862      0.00000
                                                                              1
   40  10.2920    272.54801      0.94253   1408.17245     -3.44862      0.00000
                                                                              0
   40  10.2920    272.54801      0.94253   1408.17245     -3.44862      0.00000
采用单胞的晶格常数, 能量平均到每个原子 ,结果B0与实验结果数量级一致,但B0‘不正确!
我大致看了一下murn.f源程序,究竟采用单胞还是超胞的晶格常数关键是你的输入文件第二行是0.25还是0.25/8,但是我感觉能量平均到每个原子,有点说不过去,体积弹性模量本身就是体积发生微小变化时,系统总能发生怎样的变化,感觉还应该是系统的总能。

继续探讨中。。。
目前正在按4楼nright的建议,继续运算
7楼2011-09-18 11:40:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pgi1706

木虫 (小有名气)

引用回帖:
5楼: Originally posted by nright at 2011-09-16 14:52:29:
晶格参数的变化的步长太小了,不同晶格参数对应的能量太接近,算得的弹性模量当然不准确。
这样算试一下:如果平衡体积为V0(应该接近实验V0),算5个点,体积分别为1.10V0,1.05V0,V0,0.95V0,0.90V0,然后用这 ...

按nright和版主的意思,得出的结果如下:
ITER ALATT0   VOL0 (ULA**3)  B0 (MBAR)     B0PRIME      E0 (EV)    SUM OF SQUARES
                                                                           IERR

   20  10.2957    272.83584      0.67249      4.33865     -6.89366      0.00001
                                                                              0
   20  10.2957    272.83584      0.67249      4.33865     -6.89366      0.00001
                                                                              0
-------------------------------------------------------------------------------
其中B0=67.2Gpa与实验值75Gpa接近,B0‘=4.33与实验值4.44吻合,但对B0的计算中,还是把超胞的能量
平均到每个原子上,再带入计算的,最终得出67.2Gpa,这个不会是某种巧合把?如果按超胞的总能量或者单胞的总能量来计算,得出的结果还是不正确!下次计算其他材料时,再验证一下!
8楼2011-09-19 20:53:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bingmou

金虫 (著名写手)

★ ★ ★ ★
zzy870720z(金币+2): 谢谢指点 2011-09-20 12:27:22
zzy870720z(金币+2): 谢谢指点 2011-09-20 12:27:23
不要采用实验的方法验证,自己看看公式,从理论上进行解释。
你计算出来的所谓“总能量”,也只是含有若干个原子的总能量,不是实际材料的总原子个数
9楼2011-09-19 23:22:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liancsh

铜虫 (小有名气)

引用回帖:
1楼: Originally posted by pgi1706 at 2011-09-15 11:15:51:
采用候老师的murn.f处理数据,计算体积弹性模量,发现与文献差别很大,不知是何原因?
输入文件如下:
2
0.03125
10.891 10.900 50
10
10.891 -.22071146E+03
10.892 -.22071168E+03
10.893 -.22071160E+ ...

你好,向你请教下用murn.f程序的问题,用g77 -o murn.x murn.f编译后,我的inp.m文件如下,
[user8@node1 murn]$ ls
inp.m  murn.f  murn.x  out.m
[user8@node1 murn]$ cat inp.m
2
0.25
3.45 4.35 50
9
3.5  -.44278642E+01
3.6  -.46621165E+01
3.7  -.47966436E+01
3.8  -.48639627E+01
3.9  -.48769634E+01
4.0  -.48492073E+01
4.1  -.47857796E+01
4.2  -.46934142E+01
4.3  -.45820708E+01
[user8@node1 murn]$ more out.m
# unit of length =       0.529177  angstroem
# energies input in ELECTRONVOLTS
# unit cell volume = a**3 *       0.250000
# a(min)=           3.4500000
# a(max)=           4.3500000
# points:  50
然后执行时用./murn.x out.m ,得到的结果如上所示,好像就跟没算一样,而且执行时总出现以下错误:
[user8@node1 Si]$ ./murn.x out.m
no star: incomprehensible list input
apparent state: unit 5 (unnamed)
last format: list io
lately reading sequential formatted external IO
Aborted
由于我对linux程序操作不熟,不知道哪里出了问题,希望你能指点一下!
10楼2011-10-28 10:50:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 pgi1706 的主题更新
信息提示
请填处理意见