24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 4962  |  回复: 8
【奖励】 本帖被评价3次,作者zdhlover增加金币 2

zdhlover

荣誉版主 (职业作家)


[资源] 【转帖】如何用VASP计算晶格常数

分享] 如何用VASP计算晶格常数
我们用Pd金属作为例子。
  Pd金属的实验上的晶格常数为3.89A。在这里,我们用VASP计算它的晶格常数。
  首先将Pd所对应的POTCAR文件拷贝到目录下。然后准备好INCAR和KPOINTS文件。POSCAR文件我们将通过一个tcsh的script来产生。

  KPOINTS文件可以如下:
  Monkhorst Pack
  0
  Monkhorst Pack
   11 11 11
   0 0 0

  INCAR文件可以如下:
   SYSTEM = Pd bulk calculation
   Startparameter for this run:
   PREC = Accurate
   ISTART = 0 job : 0-new 1-cont 2-samecut
   ICHARG = 2 charge: 1-file 2-atom 10-const
   ISPIN = 1 spin polarized calculation?

   Electronic Relaxation 1
   EDIFF = 0.1E-03 stopping-criterion for ELM
   LREAL = .FALSE. real-space projection
   Ionic relaxation
   EDIFFG = 0.1E-02 stopping-criterion for IOM
   NSW = 0 number of steps for IOM
   IBRION = 2 ionic relax: 0-MD 1-quasi-New 2-CG
   ISIF = 2 stress and relaxation

   POTIM = 0.10 time-step for ionic-motion
   TEIN = 0.0 initial temperature
   TEBEG = 0.0; TEEND = 0.0 temperature during run

   DOS related values:
   ISMEAR = 0 ; SIGMA = 0.05 gaussian smear

   Electronic relaxation 2 (details)

   Write flags
   LWAVE = F write WAVECAR
   LCHARG = F write CHGCAR

  
  产生POSCAR和计算晶格常数的工作可以用以下的PBS script来完成。
  #!/bin/tcsh
  #PBS -S /bin/sh
  #PBS -l nodes=4:athlon:ppn=2
  #PBS -l cput=384:00:00
  #PBS -m ae
  #PBS -o output
  #PBS -e error.log

  # set parameter
  set EXEC = 'vasp'
  set SRC = '/usr/common/executable'

  # change working directory
  cd $PBS_O_WORKDIR

  # copy fresh executable from depository
  cp -f $SRC/$EXEC .

  # execute mpi program
  foreach a (3.3 3.4 3.5 3.6 3.7)
  echo "a= $a"

  cat >POSCAR <   cubic diamond
   $a
   0.5 0.5 0.0
   0.0 0.5 0.5
   0.5 0.0 0.5
   2
  direct
   0.0 0.0 0.0
   0.25 0.25 0.25
  !

  mpiexec -nostdin ./$EXEC

  set E=`tail -2 OSZICAR`
  echo $a $E >>SUMMARY

  end
  # remove executable
  rm -f $EXEC

  如果不用不需要用PBS script,则更加简单,如下即可。将其命名为lattice。
  #!/bin/tcsh
  foreach a (3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2)
  echo "a= $a"

  cat >POSCAR <   fcc lattice
   $a
   0.5 0.5 0.0
   0.0 0.5 0.5
   0.5 0.0 0.5
   1
  cartesian
   0.0 0.0 0.0
  !

  ./vasp

  set E=`tail -1 OSZICAR`
  echo $a $E >>SUMMARY

  end

  用chmod +x lattice,将其改为可执行文件。然后在命令行里键入./lattice 即可。

  
  以下是用USPP-LDA运行完后的SUMMARY文件。每个计算用时13秒。 (在USPP中Pd的截断能量是198.955)
  3.5 1 F= -.52384500E+01 E0= -.52371846E+01 d E =-.253072E-02
  3.6 1 F= -.58695670E+01 E0= -.58683951E+01 d E =-.234381E-02
  3.7 1 F= -.62322232E+01 E0= -.62311104E+01 d E =-.222547E-02
  3.8 1 F= -.63932936E+01 E0= -.63921078E+01 d E =-.237151E-02
  3.9 1 F= -.64072233E+01 E0= -.64058584E+01 d E =-.272979E-02
  4.0 1 F= -.63162916E+01 E0= -.63147061E+01 d E =-.317085E-02
  4.1 1 F= -.61523489E+01 E0= -.61504748E+01 d E =-.374817E-02
  4.2 1 F= -.59418370E+01 E0= -.59396594E+01 d E =-.435530E-02
  用抛物线拟和得到的晶格常数为$3.888\AA$,固体中每个原子的能量是$E_{bulk}=-6.4257$。

  
  以下是采用PAW-LDA势运行完以后的SUMMARY文件。每个计算用时20秒。所以相对来说PAW势所需要的时间多一些,这是因为PAW势的energy cutoff相对比较高(在PAW中Pd的截断能量是250.832)。
  3.5 1 F= -.52393107E+01 E0= -.52377274E+01 d E =-.316665E-02
  3.6 1 F= -.58814938E+01 E0= -.58798653E+01 d E =-.325695E-02
  3.7 1 F= -.62451262E+01 E0= -.62437004E+01 d E =-.285149E-02
  3.8 1 F= -.64049388E+01 E0= -.64036223E+01 d E =-.263317E-02
  3.9 1 F= -.64158100E+01 E0= -.64143798E+01 d E =-.286044E-02
  4.0 1 F= -.63210060E+01 E0= -.63194198E+01 d E =-.317251E-02
  4.1 1 F= -.61536329E+01 E0= -.61518107E+01 d E =-.364433E-02
  4.2 1 F= -.59385695E+01 E0= -.59364165E+01 d E =-.430601E-02
  用抛物线拟和得到的晶格常数为$3.875\AA$,固体中每个原子的能量E_bulk=-6.4185eV

  
  可见,PAW-LDA和USPP-LDA给出的晶格常数都和实验吻合的非常好,两者之间的差别也很小。在以下所有的计算中,如果没有特殊声明,我们都默认采用PAW-LDA的势。
  结合能(cohesive energy)的定义如下:
  -E_coh = [E_bulk-N*E_atom]/N

所以我们要将固体中每个原子的能量减去单个Pd原子的能量,才能和实验的结合能相比较。对于过渡金属原子,计算单个原子的能量要特别注意。VASP的网页上给出了求结合能所需的单个原子能量的修正值(详见VASP手册Pseudopotentials supplied with the VASP package一章)。可以在上面查到,Pd每个原子LDA的修正值为1.46eV。所以我们得到LDA近似下Pd的结合能为4.998eV。此值和实验值比严重偏大,这是因为LDA
通常成键过强的关系。如果我们改用GGA的赝势,可以得到和实验比较吻合的结果。
回复此楼

» 收录本帖的淘帖专辑推荐

仿真建模与计算

» 猜你喜欢

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

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

zzhlax

金虫 (小有名气)


★★★ 三星级,支持鼓励

如果晶格的三个方向都可以变化,该怎么做呢?
2楼2009-06-27 10:13:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangfangwi

新虫 (正式写手)


★★★★★ 五星级,优秀推荐

慢慢看!
3楼2009-07-22 21:56:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hgye

金虫 (小有名气)


经常见到这样算晶格常数,但不明白为什么要搞得的这么麻烦,直接做优化(ISIF=3)不行吗?
4楼2009-07-22 22:06:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huangyc

木虫 (正式写手)


★★★ 三星级,支持鼓励

我也很疑惑,大家都是这样做的晶格参数吗
5楼2009-07-23 09:28:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tider

木虫 (正式写手)


ISIF=3能做晶格常数???!!!
6楼2011-04-03 23:29:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vasp001

金虫 (正式写手)



franch(金币+1): 谢谢指点 2011-04-04 12:34:16
ISIF=3 ,容易出现问题,因为对于低维体系,可能会使真空层发生变化。
7楼2011-04-04 10:51:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ss09221109

金虫 (初入文坛)


请问 #!/bin/tcsh这句是什么意思,为什么我按照上面说的计算,根本就没有计算出能量哪?
8楼2014-11-21 16:06:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lvchaojia

金虫 (小有名气)


引用回帖:
4楼: Originally posted by hgye at 2009-07-22 22:06:22
经常见到这样算晶格常数,但不明白为什么要搞得的这么麻烦,直接做优化(ISIF=3)不行吗?

IBROIN=6 ISIF=3可以计算高温高压下晶体的晶格常数和弹性性质吗?
9楼2015-12-15 21:43:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zdhlover 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复(可上传附件)
信息提示
请填处理意见