新手上路

- 积分
- 18
- 极客币
- 54
- 主题
- 9
- 帖子
- 25
- 注册时间
- 2018-11-5
- 在线时间
- 2 小时
- 性别
- 保密
|
5#

楼主 |
发表于 2018-11-21 10:28:05
|
只看该作者
将Murnaghan方程E=E0(B/2V)(V-V0)^2 变换成
B=2V0*(E-E0)/(V-V0)^2 (**)
逐点带入即可求出各个B
一个简单的脚本如下
awk '{print($1*$1*$1*8,$2*4)}' run.out > VE
新生成的VE第一列为立方体cell的体积,第二列为8个原子的能量值。40.0017 -71.6668
40.7076 -71.9549
41.4217 -72.2027
42.1442 -72.4088
42.875 -72.567
...复制代码v=45.6225198
e=72.811844
eval "awk '{print(2*\$v*(\$2$e)/(\$1-$v)/(\$1-$v)*160.2)}' VE" > B复制代码变量v和e是平衡点的V0和E0,只是把e的负号去掉了.{}里面就是方程(**),160.2是eV/Ang^3到GPa的单位换算.
这时会得到一系列的B,bay作出的结果是463.908,459.601,455.241,450.847,446.447,441.918,436.713,429.111,485.134,431.275,425.426,420.599,416.31,412.11
490 -------------------------------------------------------------
A "B0" A
480
| |
| |
470
| |
460 A
| A |
| A |
450 A
| A |
440 A
| A |
| |
430 A A
| A |
420 A
| A |
A
410 -------------------------------------------------------------
0 2 4 6 8 10 12 14复制代码两端的数值会因偏离Murnaghan 方程而带来误差,中间的会因大数相减带来误差,总的来说各个点都还规矩
可以拟合直线,也可以在平衡点附近求平均。这几个点的平均值约为441 GPa,同实验值442 GPa极为接近。
Linux下没有找到特别好用的轻量级拟合软件,win下可以用用这个
结果汇总
ENCUTK :B
500 8*8*8: 441.0
400 8*8*8: 435.7
500 4*4*4: 437.7
400 4*4*4: 438.2
这个方法,即使在不高的水平下,结果也是比较精确的。 |
|