Profil de MartinMartin's FactoryPhotosBlogListes Outils Aide

Blog


26 septembre

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

Commentaires

Veuillez patienter...
Le commentaire entré est trop long. Raccourcissez-le.
Vous n'avez rien entré. Réessayez.
Il est actuellement impossible d'ajouter votre commentaire. Réessayez plus tard.
Pour ajouter un commentaire, tu dois avoir l'autorisation de tes parents. Demander l'autorisation
Tes parents ont désactivé les commentaires.
Il est actuellement impossible de supprimer votre commentaire. Réessayez plus tard.
Vous avez dépassé le nombre maximal de commentaires qu'il est possible d'envoyer le même jour. Réessayez dans 24 heures.
Votre compte a pu laisser les commentaires désactivés parce que nos systèmes indiquent que vous risquez d'arroser d'autres utilisateurs de messages. Si vous pensez que votre compte a été désactivé par erreur, contactez l'assistance en ligne de Windows Live.
Effectuez la vérification de sécurité ci-dessous pour finaliser l'envoi de votre commentaire.
Les caractères entrés pour la vérification de sécurité doivent correspondre à ceux de l'image ou du fichier audio.

Pour ajouter un commentaire, connectez-vous avec votre identifiant Windows Live ID (si vous utilisez Messenger ou Xbox LIVE, vous avez un identifiant Windows Live ID). Connectez-vous


Vous n'avez pas d'identifiant Windows Live ID ? Inscrivez-vous

Rétroliens (1)

L'URL de rétrolien de ce billet est :
http://dexinte.spaces.live.com/blog/cns!3BAC1A4DD972ADB5!220.trak
Blogs Web qui font référence à ce billet