VASP计算笔记_弹性常数计算

二阶弹性常数计算

主要采用能量–应变方法

AELAS软件计算

必要的文件

elas_strain.sh
elas_cal.sh
POTCAR
INPOS 优化后的POSCAR。可在脚本设置或者单独给出
KPOINTS 可在脚本设置或者单独给出
incar_rlx 可在脚本设置或者单独给出
incar_stc 

elas_strain.sh脚本参考如下:

#!/bin/bash

cat > INPOS <<!
Si8                                     
1.00000000000000     
  5.4684663969085214    0.0000000000000000    0.0000000000000000
  0.0000000000000000    5.4684663969085214    0.0000000000000000
  0.0000000000000000    0.0000000000000000    5.4684663969085214
Si
8
Direct
  0.0000000000000000  0.0000000000000000  0.0000000000000000
  0.2500000000000000  0.7500000000000000  0.7500000000000000
  0.5000000000000000  0.0000000000000000  0.5000000000000000
  0.0000000000000000  0.5000000000000000  0.5000000000000000
  0.5000000000000000  0.5000000000000000  0.0000000000000000
  0.7500000000000000  0.2500000000000000  0.7500000000000000
  0.7500000000000000  0.7500000000000000  0.2500000000000000
  0.2500000000000000  0.2500000000000000  0.2500000000000000

!

AELAS -g #建立不同应变下的POSCAR_I_J。例如:POSCAR_01_001 #二维生成命令 AELAS -g2d

#产生优化和静态计算的INCAR
cat > incar_rlx <<!
ISTART=0
ICHARG=2
PREC=Accurate
GGA = PE
ADDGRID =.TRUE.

# Electronic relaxation
ENCUT=500
EDIFF=1E-8

ISMEAR=0
SIGMA=0.05
NELMIN=5

# Ionic relaxation
NSW=100
EDIFFG=-1e-3
ISIF=2

IBRION=2
POTIM=0.20

# Other Tags
#PSTRESS=

#Write flags
LWAVE=.FALSE.
LCHARG=.FALSE.
!

cat > incar_stc<<!
ISTART=0
ICHARG=2
PREC=Accurate
GGA = PE
ADDGRID =.TRUE.

# Electronic relaxation
ENCUT=500
EDIFF=1E-8
EDIFFG=-0.001

ISMEAR=-5
#SIGMA = 0.05
POTIM=0.20

# Other Tags
#PSTRESS=

# Write flags
LWAVE=.FALSE.
LCHARG=.FALSE.
!

cat > KPOINTS <<!
A
0
M
9  9  9
0  0  0
!

运行生成应变后的POSCAR及计算输入文件

elas_cal.sh脚本设置如下:

for i in 01 02 03 #根据生成的数量设置
do

for j in 001 002 003 004 005 006 007 008 009 010 011 012 013
do
#优化计算
cp POS_"$i"_$j.vasp POSCAR
cp incar_rlx INCAR
echo "relax I= $i,J = $j"; time mpirun -np 16 vasp_std

#静态计算
cp CONTCAR POSCAR
rm INCAR
cp incar_stc INCAR
echo "static I= $i,J = $j"; time mpirun -np 16 vasp_std
cp OSZICAR OSZICAR_"$i"_$j
rm INCAR
done
done

#计算弹性常数
AELAS -d #二维产生 AELAS -d2d

提交上述脚本计算,成功计算后生成ELADAT文件,形式如下:

 Elastic tensor: 
 
  153.04   57.11   57.11    0.00    0.00    0.00
   57.11  153.04   57.11    0.00    0.00    0.00
   57.11   57.11  153.04    0.00    0.00    0.00
    0.00    0.00    0.00   74.71    0.00    0.00
    0.00    0.00    0.00    0.00   74.71    0.00
    0.00    0.00    0.00    0.00    0.00   74.71
 
 Compliance tensor: 
 
  0.008197 -0.002228 -0.002228  0.000000  0.000000  0.000000
 -0.002228  0.008197 -0.002228  0.000000  0.000000  0.000000
 -0.002228 -0.002228  0.008197  0.000000  0.000000  0.000000
  0.000000  0.000000  0.000000  0.013384  0.000000  0.000000
  0.000000  0.000000  0.000000  0.000000  0.013384  0.000000
  0.000000  0.000000  0.000000  0.000000  0.000000  0.013384
 
 Young's, shear and bulk moduli and Poisson ratio
 
   Voigt approximate:   154.93   64.01   89.09   0.210
   Reuss approximate:   149.17   61.09   89.09   0.221
   Hill approximate :   152.05   62.55   89.09   0.216
 
 Pugh ratio (G/K):   0.7021
 Cauchy pressure (Pc=C12-C44):   -17.60
 
 Elastic Anisotropy Index
 
   Chung-Buessem Anisotropy Index (Ac=(Gv-Gr)/(Gv+Gr)):   0.0234
   Universal Elastic Anisotropy Index (Au=5*Gv/Gr+Kv/Kr-6):   0.2396
 
 Elastic Stability Conditions:  Stable



vaspkit软件

建议使用惯用晶胞,不要使用原始晶胞。可以借用上面软件的AELAS -d生成的RECELL文件。

版本1.0.0及以上

必要的文件

elas_strain.sh
elas_cal.sh
POTCAR
KPOINTS 可在脚本设置或者单独给出
incar_rlx 可在脚本设置或者单独给出
incar_stc
VPKIT.in 可在脚本设置或者单独给出

elas_strain.sh脚本参考如下:


#!/bin/bash

cat > VPKIT.in <<!
1                                                              ! 1 for prep-rocessing, 2 for post-processing
3D                                                             ! 2D for slab, 3D for bulk
13                                                              ! number of strain
-0.018 -0.015 -0.012 -0.009 -0.006 -0.003 0.000 0.003 0.006 0.009 0.012 0.015 0.018 ! magnitude of strain
!

cat > POSCAR <<!
Si8
1.00000000000000
  5.4684663969085214    0.0000000000000000    0.0000000000000000
  0.0000000000000000    5.4684663969085214    0.0000000000000000
  0.0000000000000000    0.0000000000000000    5.4684663969085214
Si
8
Direct
  0.0000000000000000  0.0000000000000000  0.0000000000000000
  0.2500000000000000  0.7500000000000000  0.7500000000000000
  0.5000000000000000  0.0000000000000000  0.5000000000000000
  0.0000000000000000  0.5000000000000000  0.5000000000000000
  0.5000000000000000  0.5000000000000000  0.0000000000000000
  0.7500000000000000  0.2500000000000000  0.7500000000000000
  0.7500000000000000  0.7500000000000000  0.2500000000000000
  0.2500000000000000  0.2500000000000000  0.2500000000000000

!

#产生优化和静态计算的INCAR
cat > incar_rlx <<!
ISTART=0
ICHARG=2
PREC=Accurate
GGA = PE
ADDGRID =.TRUE.

# Electronic relaxation
ENCUT=500
EDIFF=1E-8

ISMEAR=0
SIGMA=0.05
NELMIN=5

# Ionic relaxation
NSW=100
EDIFFG=-1e-3
ISIF=2

IBRION=2
POTIM=0.20

# Other Tags
#PSTRESS=

#Write flags
LWAVE=.FALSE.
LCHARG=.FALSE.
KPAR=2
!

cat > incar_stc<<!
ISTART=0
ICHARG=2
PREC=Accurate
GGA = PE
ADDGRID =.TRUE.

# Electronic relaxation
ENCUT=500
EDIFF=1E-8
EDIFFG=-0.001

ISMEAR=-5
#SIGMA = 0.05
POTIM=0.20

# Other Tags
#PSTRESS=

# Write flags
LWAVE=.FALSE.
LCHARG=.FALSE.
KPAR=2
!

cat > KPOINTS <<!
A
0
M
9  9  9
0  0  0
!

vaspkit -task 201 #建立不同应变下的POSCAR文件

提交生成应变后的文件夹

elas_cal.sh脚本设置如下:


#!/bin/bash
root_path=`pwd`

for cij in `ls -F | grep /$`
do
  cd ${root_path}/$cij
  for s in strain_*
  do
    cd ${root_path}/$cij/$s
    echo `pwd`

    #优化计算
    cp ../../incar_rlx INCAR
    time mpirun -np 16 vasp_std

    rm INCAR

    #静态计算
    cp ../../incar_stc INCAR
    time mpirun -np 16 vasp_std

  done
done

cd ${root_path}

#计算弹性常数
cat > VPKIT.in <<!
2                                                              ! 1 for prep-rocessing, 2 for post-processing
3D                                                             ! 2D for slab, 3D for bulk
13                                                              ! number of strain
-0.018 -0.015 -0.012 -0.009 -0.006 -0.003 0.000 0.003 0.006 0.009 0.012 0.015 0.018 ! magnitude of strain
!

vaspkit -task 201 > elastics.out

成功计算后生成elastic.out文件,形式如下:

 +---------------------------------------------------------------+
 |             VASPKIT Version: 1.00 (16 Sep. 2019)              |
 |       A Pre- and Post-Processing Program for VASP Code        |
 |            Running VASPKIT Under Command-Line Mode            |
 +---------------------------------------------------------------+
  -->> (01) Reading VPKIT.in File...
 +-------------------------- Warm Tips --------------------------+
      See an example in vaspkit/examples/elastic/diamond_3D,   
   Require the fully-relaxed and standardized Convertional cell.
 +---------------------------------------------------------------+
  -->> (02) Reading Structural Parameters from POSCAR File...
  -->> (03) Calculating the fitting coefficients of energy vs strain.
  -->> Current directory:  Fitting Precision 
              C44 Folder:  0.405E-09
        C11_C12_I Folder:  0.244E-09
       C11_C12_II Folder:  0.744E-08
 +-------------------------- Summary ----------------------------+
 Based on the Strain versus Energy method.
 Crystal Class: m-3m
 Space Group: Fd-3m
 Crystal System: Cubic system
 Including Point group classes: 23, 2/m-3, 432, -43m, 4/m-32/m
 There are 3 independent elastic constants
    C11  C12  C12    0    0    0  
    C12  C11  C12    0    0    0  
    C12  C12  C11    0    0    0  
      0    0    0  C44    0    0  
      0    0    0    0  C44    0  
      0    0    0    0    0  C44  
 
 Stiffness Tensor C_ij (in GPa):
    153.056     57.116     57.116      0.000      0.000      0.000
     57.116    153.056     57.116      0.000      0.000      0.000
     57.116     57.116    153.056      0.000      0.000      0.000
      0.000      0.000      0.000     99.411      0.000      0.000
      0.000      0.000      0.000      0.000     99.411      0.000
      0.000      0.000      0.000      0.000      0.000     99.411
 
 Compliance Tensor S_ij (in GPa^{-1}):
   0.008196  -0.002227  -0.002227   0.000000   0.000000   0.000000
  -0.002227   0.008196  -0.002227   0.000000   0.000000   0.000000
  -0.002227  -0.002227   0.008196   0.000000   0.000000   0.000000
   0.000000   0.000000   0.000000   0.010059   0.000000   0.000000
   0.000000   0.000000   0.000000   0.000000   0.010059   0.000000
   0.000000   0.000000   0.000000   0.000000   0.000000   0.010059
 
 Elastic stability criteria as seen in PRB 90, 224104 (2014).
 Criteria (i) C11 - C12 > 0 meeted.
 Criteria (ii) C11 + 2C12 > 0 meeted.
 Criteria (iii) C44 > 0 meeted.
 This Structure is Mechanically Stable.
 
 Average mechanical properties for polycrystalline:
 +---------------------------------------------------------------+
 |        Scheme             |   Voigt   |   Reuss   |    Hill   |
 +---------------------------------------------------------------+
 |  Bulk modulus K (GPa)     |   89.096  |   89.096  |   89.096  |
 |  Shear modulus G (GPa)    |   78.835  |   69.569  |   74.202  |
 |  Young's modulus E (GPa)  |  182.637  |  165.605  |  174.236  |
 |  P-wave modulus (GPa)     |  194.209  |  181.855  |  188.032  |
 |  Poisson's ratio v        |    0.158  |    0.190  |    0.174  |
 |  Bulk/Shear ratio         |    1.130  |    1.281  |    1.201  |
 +---------------------------------------------------------------+
 Pugh Ratio: 0.833
 Cauchy Pressure (GPa):  -42.295
 Universal Elastic Anisotropy: 0.666
 ChungBuessem Anisotropy:    0.062
 Isotropic Poissons Ratio: 0.174
 Longitudinal wave velocity (in m/s):   9078.421
 Transverse wave velocity (in m/s):   5702.983
 Average wave velocity (in m/s):   6278.900
 Debye temperature (in K):  683.685
 References:
 [1] Voigt W, Lehrbuch der Kristallphysik (1928)
 [2] Reuss A, Z. Angew. Math. Mech. 9 4958 (1929)
 [3] Hill R, Proc. Phys. Soc. A 65 34954 (1952)
 [4] Debye temperature J. Phys. Chem. Solids 24, 909-917 (1963)
 [5] Elastic wave velocities calculated using Navier's equation
 +---------------------------------------------------------------+
 +---------------------------------------------------------------+
 | We Would Appreciate if You Cite in Your Research with VASPKIT.|
 | Ref: V. Wang, N. Xu, J.C. LIU, G. Tang, et al, VASPKIT: A Pre-|
 | and Post-Processing Program for VASP Code, arXiv:1908.08269.  |
 +---------------------------------------------------------------+

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值