24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2408  |  回复: 13

gleerat

木虫 (正式写手)

[交流] 【求助成功】晶格优化的结果很诡异已有4人参与

我用侯柱峰在《VASP使用指南入门》中的“复杂的情况,以六角结构Mg的晶格常数为例”做的结构优化,不论我取值范围是多少,计算得到的能量在我取值范围内都是单调增的(所以每一次更换取值范围时,用murn得到的“平衡体积”对应的晶格轴参数都不一样)。我用的run_cell文件:
引用回帖:
#!/bin/sh
rm WAVECAR
for i in 11.314 11.414 11. 514 11.614 11.714 11.814 11.914 12.014
do
cat > POSCAR < System = CaFe2As2 afm-opt               
  1.0000000000000000     
    $i    0.0000000000000000    0.0000000000000000
     0.0000000000000000    5.4501999999999997    0.0000000000000000
     0.0000000000000000    0.0000000000000000    5.5061999999999998
   4   8   8
Direct
  0.0000000000000000 -0.0000000000000000 -0.0000000000000000
  0.0000000000000000  0.5000000000000000  0.5000000000000000
  0.5000000000000000 -0.0000000000000000  0.5000000000000000
  0.5000000000000000  0.5000000000000000 -0.0000000000000000
  0.2500000000000000  0.2500000000000000  0.2500000000000000
  0.7500000000000000  0.7500000000000000  0.2500000000000000
  0.7500000000000000  0.2500000000000000  0.7500000000000000
  0.2500000000000000  0.7500000000000000  0.7500000000000000
  0.7500000000000000  0.7500000000000000  0.7500000000000000
  0.7500000000000000  0.2500000000000000  0.2500000000000000
  0.2500000000000000  0.7500000000000000  0.2500000000000000
  0.2500000000000000  0.2500000000000000  0.7500000000000000
  0.3608571367508424  0.0000000000000000  0.0000000000000000
  0.3608571367508424  0.5000000000000000  0.5000000000000000
  0.8608571367508423 -0.0000000000000000  0.5000000000000000
  0.8608571367508423  0.5000000000000000  0.0000000000000000
  0.6391428632491577 -0.0000000000000000  0.0000000000000000
  0.6391428632491577  0.5000000000000000  0.5000000000000000
  0.1391428632491576  0.0000000000000000  0.5000000000000000
  0.1391428632491576  0.5000000000000000  0.0000000000000000
!
cp INCAR.relax INCAR ; cp KPOINTS.relax KPOINTS
echo "c= $i Full Relaxtion"
/home/software/openmpi-1.2.2-intel9/bin/mpirun -np 4 /home/bin/vasp.openmpi
cp OUTCAR OUTCAR.relax ; cp OSZICAR OSZICAR.relax
cp CONTCAR POSCAR ; cp INCAR.static INCAR ; cp KPOINTS.static KPOINTS
echo "c= $i Static Selfconsistent"
/home/software/openmpi-1.2.2-intel9/bin/mpirun -np 4 /home/bin/vasp.openmpi
cp OSZICAR OSZICAR.static ; cp OUTCAR OUTCAR.static
cp INCAR.nsc INCAR ; cp KPOINTS.nsc KPOINTS
echo "c= $i Non-Selfconsistent"
/home/software/openmpi-1.2.2-intel9/bin/mpirun -np 4 /home/bin/vasp.openmpi
cp OUTCAR "c=$i_OUTCAR"
E=`grep "TOTEN" OUTCAR | tail -1 | awk '{printf "%12.6f \n", $5 }'`
V=`grep "volume" OUTCAR | tail -1 | awk '{printf "%12.4f \n", $5 }'`
echo $i $V $E >>EtVo.dat
echo $i $E >>murn.in
done

这是INCAR.relaxtion:
引用回帖:
System = CaFe2As2 afm1-opt
PREC = Accurate
ISPIN = 2
MAGMOM = 4*0 3 3 -3 -3 3 -3 -3 3 8*0
ISMEAR = 1
SIGMA = 0.20
ISTART = 0
EDIFF = 1E-5
EDIFFG = -1E-3
ICHARG = 2
ENCUT = 300
NSW = 60
IBRION = 2
ISIF = 5
POTIM = 0.2
LORBIT = 11

LREAL = Auto
LPLANE = .TRUE.
LSCALU = .FALSE.
NPAR = 4
NSIM = 4

我用ISIF=3做的自由驰豫得到的结果也是不一样的。(由于使用的原本就是实验值,所以ISIF=3貌似还是比较接近的,晶胞的三个轴没有变化,只是原子位置稍有变化)
引用回帖:
System = CaFe2As2 afm-opt               
   1.00000000000000     
    11.6639999999999997    0.0000000000000000    0.0000000000000000
     0.0000000000000000    5.4501999999999997    0.0000000000000000
     0.0000000000000000    0.0000000000000000    5.5061999999999998
   4   8   8
Direct
  0.0000000000000000  0.0000000000000000  0.0000000000000000
  0.0000000000000000  0.5000000000000000  0.5000000000000000
  0.5000000000000000  0.0000000000000000  0.5000000000000000
  0.5000000000000000  0.5000000000000000  0.0000000000000000
  0.2500000000000000  0.2500000000000000  0.2500000000000000
  0.7500000000000000  0.7500000000000000  0.2500000000000000
  0.7500000000000000  0.2500000000000000  0.7500000000000000
  0.2500000000000000  0.7500000000000000  0.7500000000000000
  0.7500000000000000  0.7500000000000000  0.7500000000000000
  0.7500000000000000  0.2500000000000000  0.2500000000000000
  0.2500000000000000  0.7500000000000000  0.2500000000000000
  0.2500000000000000  0.2500000000000000  0.7500000000000000
  0.3542866275378103  0.0000000000000000  0.0000000000000000
  0.3542866275378103  0.5000000000000000  0.5000000000000000
  0.8542866275378103  0.0000000000000000  0.5000000000000000
  0.8542866275378103  0.5000000000000000  0.0000000000000000
  0.6457133724621897  0.0000000000000000  0.0000000000000000
  0.6457133724621897  0.5000000000000000  0.5000000000000000
  0.1457133724621897  0.0000000000000000  0.5000000000000000
  0.1457133724621897  0.5000000000000000  0.0000000000000000

但是侯本人在http://muchong.com/bbs/viewthread.php?tid=2299924说:
引用回帖:
弄这个run_cell的东西,主要是为了得到E-V曲线,然后通过状态方程拟合得到平衡体积和体弹性模量。如果你只想得到平衡体积以及相应的晶格常数和原子位置,直接ISIF=3做fully optimization就可以了。

用run_cell做的优化应该跟ISIF的结果是一样的,但是我的结果明显不一样,请大家帮忙分析一下原因。

[ Last edited by gleerat on 2010-11-13 at 13:05 ]
回复此楼

» 猜你喜欢

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

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

valenhou001

至尊木虫 (职业作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
ym23(金币+2):欢迎常来交流 2010-10-12 09:28:23
你计算的体系,晶格常数有三个变量(a,b,c,即它们是不等的),另外还有原子的位置需要优化。因此为了得到状态曲线,需采用ISIF=4对一系列体积点进行固定体积的变原胞形状以及原子位置的优化。因此做run_cell脚本里面做relaxation时的输入文件可设置为:
System = CaFe2As2 afm1-opt
PREC = Accurate
ISPIN = 2
MAGMOM = 4*0 3 3 -3 -3 3 -3 -3 3 8*0
ISMEAR = 1
SIGMA = 0.20
ISTART = 0
EDIFF = 1E-5
EDIFFG = -1E-3
ICHARG = 2
ENCUT = 300
NSW = 60
IBRION = 2
ISIF = 4
POTIM = 0.2
#LORBIT = 11

LREAL = Auto
#LPLANE = .TRUE.
#LSCALU = .FALSE.
#PAR = 4
#SIM = 4

在特到了一些体积点对应的总能,及 V----E的数据点,采用状态方程拟合后,得到平衡体积,再采用run_cell里面的初始b和c(这里假定run_cell里面的循环变量是对晶格常数a的)由V_0 =  a*b*c得到这个平衡体积下 a, ,然后再做一次ISIF=4固定体积,变原胞和优化原子位置的结构优化。

原来的例子中是对六角晶体的Mg进行计算,该体系只需要优化晶格形状就可以了,不需要优化原子位置,因此可以采用ISIF=5。


你贴出来的结果显示,平衡体积还在303.1000的值以下,还得做一些体积值比303.1000小的体积的计算。

» 本帖已获得的红花(最新10朵)

8楼2010-10-05 22:06:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

valenhou001

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zxzj05(金币+1):奖励回帖交流,谢谢! 2010-10-04 22:03:49
两种方式得到的结果不能完全一样,存在很小且可忽略的差别是可以理解和接受的。
2楼2010-10-04 18:17:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
bingmou(金币+1):感谢指出! 2010-10-05 10:15:13
引用回帖:
Originally posted by gleerat at 2010-10-04 11:09:34:
我用侯柱峰在《VASP使用指南入门》中的“复杂的情况,以六角结构Mg的晶格常数为例”做的结构优化,不论我取值范围是多少,计算得到的能量在我取值范围内都是单调增的(所以每一次更换取值范围时,用murn得到的“平 ...

很明显你的INCAR.relaxation中的设置有问题,里面设置的只是做总能的计算(也就是静态计算),没有设置任何与结构优化相关的参数。
3楼2010-10-04 18:20:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)


ym23(金币+1):欢迎常来交流 2010-10-12 09:28:03
引用回帖:
Originally posted by valenhou001 at 2010-10-04 18:20:33:


很明显你的INCAR.relaxation中的设置有问题,里面设置的只是做总能的计算(也就是静态计算),没有设置任何与结构优化相关的参数。

不好意思,我把INCAR.static当成INCAR.relaxtion贴过来了。原文我已经改过来了
引用回帖:
System = CaFe2As2 afm1-opt
PREC = Accurate
ISPIN = 2
MAGMOM = 4*0 3 3 -3 -3 3 -3 -3 3 8*0
ISMEAR = 1
SIGMA = 0.20
ISTART = 0
EDIFF = 1E-5
EDIFFG = -1E-3
ICHARG = 2
ENCUT = 300
NSW = 60
IBRION = 2
ISIF = 5
POTIM = 0.2
LORBIT = 11

LREAL = Auto
LPLANE = .TRUE.
LSCALU = .FALSE.
NPAR = 4
NSIM = 4

我基本上是直接复制您的内容做的输入文件,我把我做结构优化的文件放在纳米盘中了,如果您有疑问可以看看。谢谢http://d.namipan.com/d/e829bc715 ... 9260a993315b2030300

[ Last edited by gleerat on 2010-10-4 at 19:22 ]
明察、慎思、笃行
4楼2010-10-04 19:05:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)

引用回帖:
Originally posted by valenhou001 at 2010-10-04 18:17:48:
两种方式得到的结果不能完全一样,存在很小且可忽略的差别是可以理解和接受的。

我的结果是完全不一样的,如果是用这个脚本中的取值范围,计算的c轴为10.517(我用取值范围为11.654~11.714时,c轴为11.637),而用ISIF=3时计算的结果c轴为11.664(仍然为实验值)
明察、慎思、笃行
5楼2010-10-04 19:10:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zxzj05(金币+2):奖励回帖交流,谢谢! 2010-10-04 22:04:01
INCAR.relax中ISIF=5,建议改为ISIF=4。
请参考手册,理解ISIF的具体意思。

不能简单的复制过来就用的。需针对自己的体系进行适当的调整。

还得给出a的值,六角晶格是a,c,只看一个不够。
6楼2010-10-04 21:31:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)

引用回帖:
Originally posted by valenhou001 at 2010-10-04 21:31:58:
INCAR.relax中ISIF=5,建议改为ISIF=4。
请参考手册,理解ISIF的具体意思。

不能简单的复制过来就用的。需针对自己的体系进行适当的调整。

还得给出a的值,六角晶格是a,c,只看一个不够。

我算的过程是先运行runcell优化c,然后将c的结果代入到新的runcell中优化b,再将b的结果代入到新的runcell中优化a,最后进行ISIF=2的原子位置的驰豫。

只需要修改INCAR.relaxtion,还是也需要对runcell进行修改?
我简单修改了ISIF=4之后,得到的结果为
引用回帖:
lattice volume     Energy
10.10 303.1000 -140.384488
10.30 309.1000 -140.339800
10.50 315.1000 -140.212857
10.70 321.1100 -140.022855
10.90 327.1100 -139.801767
11.10 333.1100 -139.552422
11.30 339.1100 -139.270743
11.50 345.1100 -138.956454
11.70 351.1200 -138.613483
11.90 357.1200 -138.240521

[ Last edited by gleerat on 2010-10-5 at 20:06 ]
明察、慎思、笃行
7楼2010-10-05 20:00:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)

引用回帖:
Originally posted by valenhou001 at 2010-10-05 22:06:37:
你计算的体系,晶格常数有三个变量(a,b,c,即它们是不等的),另外还有原子的位置需要优化。因此为了得到状态曲线,需采用ISIF=4对一系列体积点进行固定体积的变原胞形状以及原子位置的优化。因此做run_cell脚本里面 ...

ISIF=3能得到合理的结果么?我改变了POSCAR中的a值,做的结果都是a、b、c的值保持原值,只有原子位置略有变化。这是我做测试的一个POSCAR:
引用回帖:
System = CaFe2As2 afm
1.00
11.563  0.0000  0.0000
0.0000  5.5012  0.0000
0.0000  0.0000  5.48
4 8 8
Fractional
0.0000000000000000   0.0000000000000000   0.0000000000000000
0.0000000000000000   0.5000000000000000   0.5000000000000000
0.5000000000000000   0.0000000000000001   0.5000000000000001
0.5000000000000000   0.5000000000000001   0.0000000000000001
0.2500000000000000   0.2500000000000001   0.2500000000000001 #3,1
0.7499999999999999   0.7500000000000002   0.2500000000000002 #3,6
0.7499999999999999   0.2500000000000001   0.7500000000000001 #3,7
0.2500000000000000   0.7500000000000000   0.7500000000000000 #3,4
0.7499999999999999   0.7500000000000002   0.7500000000000001 #-3,8
0.7499999999999999   0.2500000000000001   0.2500000000000001 #-3,5
0.2500000000000000   0.7500000000000000   0.2500000000000001 #-3,2
0.2500000000000000   0.2500000000000001   0.7500000000000000 #-3,3
0.3664500117301940   0.0000000000000000   0.0000000000000000
0.3664500117301940   0.5000000000000001   0.5000000000000001
0.8664500117301941   0.0000000000000001   0.5000000000000001
0.8664500117301941   0.5000000000000001   0.0000000000000001
0.6335499882698059   0.0000000000000001   0.0000000000000001
0.6335499882698059   0.5000000000000001   0.5000000000000001
0.1335499882698059   0.0000000000000000   0.5000000000000000
0.1335499882698059   0.5000000000000000   0.0000000000000000

这是INCAR.relaxtion:
引用回帖:
System = CaFe2As2 afm1-opt
PREC = Accurate
ISPIN = 2
MAGMOM = 4*0 3 3 -3 -3 3 -3 -3 3 8*0
ISMEAR = 1
SIGMA = 0.20
ISTART = 0
EDIFF = 1E-5
EDIFFG = -1E-3
ICHARG = 2
ENCUT = 300
NSW = 60
IBRION = 2
ISIF = 3 #Full Relaxtion
POTIM = 0.2
LORBIT = 11

LSCALAPACK = .FALSE.
LREAL = Auto
LPLANE = .TRUE.
LSCALU = .FALSE.
NPAR = 1
NSIM = 4

这是优化的结果CONTCAR:
引用回帖:
System = CaFe2As2 afm                  
   1.00000000000000     
    11.5630000000000006    0.0000000000000000    0.0000000000000000
     0.0000000000000000    5.5011999999999999    0.0000000000000000
     0.0000000000000000    0.0000000000000000    5.4800000000000004
   4   8   8
Direct
  0.0000000000000000  0.0000000000000000  0.0000000000000000
  0.0000000000000000  0.5000000000000000  0.5000000000000000
  0.5000000000000000  0.0000000000000000  0.5000000000000000
  0.5000000000000000  0.5000000000000000  0.0000000000000000
  0.2500000000000000  0.2500000000000000  0.2500000000000000
  0.7500000000000000  0.7500000000000000  0.2500000000000000
  0.7500000000000000  0.2500000000000000  0.7500000000000000
  0.2500000000000000  0.7500000000000000  0.7500000000000000
  0.7500000000000000  0.7500000000000000  0.7500000000000000
  0.7500000000000000  0.2500000000000000  0.2500000000000000
  0.2500000000000000  0.7500000000000000  0.2500000000000000
  0.2500000000000000  0.2500000000000000  0.7500000000000000
  0.3544797128719251  0.0000000000000000  0.0000000000000000
  0.3544797128719251  0.5000000000000000  0.5000000000000000
  0.8544797128719251  0.0000000000000000  0.5000000000000000
  0.8544797128719251  0.5000000000000000  0.0000000000000000
  0.6455202871280749  0.0000000000000000  0.0000000000000000
  0.6455202871280749  0.5000000000000000  0.5000000000000000
  0.1455202871280748  0.0000000000000000  0.5000000000000000
  0.1455202871280748  0.5000000000000000  0.0000000000000000

  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00

在我修改了a=5.45后得到的CONTCAR为:
引用回帖:
System = CaFe2As2 afm                  
   1.00000000000000     
    11.5630000000000006    0.0000000000000000    0.0000000000000000
     0.0000000000000000    5.5011999999999999    0.0000000000000000
     0.0000000000000000    0.0000000000000000    5.4500000000000002
   4   8   8
Direct
  0.0000000000000000  0.0000000000000000  0.0000000000000000
  0.0000000000000000  0.5000000000000000  0.5000000000000000
  0.5000000000000000  0.0000000000000000  0.5000000000000000
  0.5000000000000000  0.5000000000000000  0.0000000000000000
  0.2500000000000000  0.2500000000000000  0.2500000000000000
  0.7500000000000000  0.7500000000000000  0.2500000000000000
  0.7500000000000000  0.2500000000000000  0.7500000000000000
  0.2500000000000000  0.7500000000000000  0.7500000000000000
  0.7500000000000000  0.7500000000000000  0.7500000000000000
  0.7500000000000000  0.2500000000000000  0.2500000000000000
  0.2500000000000000  0.7500000000000000  0.2500000000000000
  0.2500000000000000  0.2500000000000000  0.7500000000000000
  0.3549154449954010  0.0000000000000000  0.0000000000000000
  0.3549154449954010  0.5000000000000000  0.5000000000000000
  0.8549154449954010  0.0000000000000000  0.5000000000000000
  0.8549154449954010  0.5000000000000000  0.0000000000000000
  0.6450845550045990  0.0000000000000000  0.0000000000000000
  0.6450845550045990  0.5000000000000000  0.5000000000000000
  0.1450845550045991  0.0000000000000000  0.5000000000000000
  0.1450845550045991  0.5000000000000000  0.0000000000000000

  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00
  0.00000000E+00  0.00000000E+00  0.00000000E+00

而实际上a、b、c的实验值分别为:5.5102、5.4502、11.6637

[ Last edited by gleerat on 2010-10-5 at 22:59 ]
明察、慎思、笃行
9楼2010-10-05 22:55:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gleerat

木虫 (正式写手)


ym23(金币+1):欢迎常来交流 2010-10-12 09:28:34
引用回帖:
Originally posted by valenhou001 at 2010-10-05 22:06:37:
你计算的体系,晶格常数有三个变量(a,b,c,即它们是不等的),另外还有原子的位置需要优化。因此为了得到状态曲线,需采用ISIF=4对一系列体积点进行固定体积的变原胞形状以及原子位置的优化。因此做run_cell脚本里面 ...

我的c值取自于实验值(跟我的体系一样,都是低温下的AFM相),合理的误差应该不会超过3%的(我们老师说,晶胞参量应该不会有太大的变化,主要是原子位置的微调)。

可是11.664埃的合理误差应该在0.34埃以内,而我的取值范围已经远远超过这个范围了,就是说即使在a低于10.10埃外找到了极值点,得到的结果也是错误的(远远超过与实验值的误差1.50埃了)。

我每次在取值范围内得到的曲线永远是类似于直线的单调曲线。这让我很费解。
明察、慎思、笃行
10楼2010-10-05 23:08:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gleerat 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见