Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1074084
  • 博文数量: 264
  • 博客积分: 7225
  • 博客等级: 少将
  • 技术积分: 5096
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-17 08:53
文章分类

全部博文(264)

文章存档

2011年(33)

2010年(52)

2009年(152)

2008年(27)

我的朋友

分类: LINUX

2010-03-21 14:44:42

何用VASP计算晶格常数
  转自http://dexinte.spaces.live.com/blog/

我们用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的赝势,可以得到和实验比较吻合的结果。  

阅读(1890) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~