|
[求助]
VASP+BoltzTrap计算Al的电输运性质问题
楼主准备使用VASP+BoltzTrap计算电输运性质。安装完VASP和BoltzTrap软件,对其分别进行测试,与其他计算结果基本吻合。但是在使用VASP+BoltzTrap计算BoltzTrap软件自带的Al的算例时出现如下问题:
能带计算的输出文件OUTCAR中显示找到48个空间群对称操作:
Analysis of symmetry for initial positions (statically):
Routine SETGRP: Setting up the symmetry group for a
face centered cubic supercell.
Subroutine GETGRP returns: Found 48 space group operations
(whereof 48 operations were pure point group operations)
out of a pool of 48 trial point group operations.
………………
但是使用vasp2boltz接口得到的*.struct文件中只有24个对称操作
HTE output
-0.00000 3.76196 3.76196
3.76196 0.00000 3.76196
3.76196 3.76196 0.00000
24
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
………………
另外计算出来的*.trace文件与范例中的文件数值上也有不小的差距
楼主计算得到的*.trace文件:
Ef[Ry] T [K] N DOS(Ef) S s/t R_H kappa0 c chi
0.36912 10.0000 -2.24697790 0.32628139E+02 -0.12885237E-06 0.14939965E+23 -0.19524087E-12 0.16893863E+15 0.12745676E-02 0.48711015E-09
0.36912 20.0000 -2.24699182 0.18251836E+02 -0.30089471E-05 0.83803211E+22 -0.24022523E-11 0.22888330E+16 0.17296763E-01 0.27248427E-09
0.36912 30.0000 -2.24703115 0.15608403E+02 -0.60397158E-05 0.72001170E+22 -0.65765920E-11 0.44446828E+16 0.33752076E-01 0.23302008E-09
0.36912 40.0000 -2.24708251 0.14929694E+02 -0.72340624E-05 0.69056541E+22 -0.88161685E-11 0.62086403E+16 0.47400502E-01 0.22288754E-09
例子中的*.trace文件:
# Ef[Ry] T [K] N DOS(Ef) S s/t R_H kappa0 c chi
0.34719 10.0000 0.75989571 0.17440658E+02 -0.10022451E-06 0.46884839E+22 -0.18007191E-10 0.70428097E+14 0.98656669E-03 0.26037407E-09
0.34719 20.0000 0.75989392 0.10218062E+02 -0.21150489E-05 0.27237809E+22 -0.32643350E-10 0.95433031E+15 0.13307867E-01 0.15254690E-09
0.34719 30.0000 0.75988959 0.94522816E+01 -0.33322365E-05 0.24883032E+22 -0.38445853E-10 0.18484050E+16 0.25463344E-01 0.14111446E-09
0.34719 40.0000 0.75988517 0.95235789E+01 -0.31538007E-05 0.24923061E+22 -0.39799810E-10 0.25627766E+16 0.34844154E-01 0.14217887E-09
附上计算能带结构的输入文件,及vasp2boltz文件,希望各位大侠不吝赐教,非常感谢!
INCAR:
SYSTEM = Al-fcc
ENCUT = 250
ISTART = 1 ; ICHARG = 11
ISMEAR = -5
IALGO = 48
PREC = Accurate
KPOINTS:
Monkhorst Pack
0
Monkhorst
45 45 45
0 0 0
POSCAR:
Al fcc
1.00000000000000
-0.0000000000000001 2.0194160708056370 2.0194160708056370
2.0194160708056370 0.0000000000000000 2.0194160708056370
2.0194160708056370 2.0194160708056370 0.0000000000000000
1
Direct
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.00000000E+00 0.00000000E+00 0.00000000E+00
d.py:
# Example of how to use vasp2boltz.py
# Create a .py file with a content similar to the following
# It is necessary to have ASE installed:
# https://wiki.fysik.dtu.dk/ase/
from ase import io
from ase.lattice.spacegroup import Spacegroup
import vasp2boltz
ao = io.read('POSCAR')
# If you do not have spglib installed, you need to add the spacegroup no.
# e.g. sg = Spacegroup(216) for the 'F -4 3 m' space group
# If you use the conventional cell rather than the primitive unit cell in your
# POSCAR file for e.g. I or F spacegroups, you need to add this information.
# Example 1:
sg = Spacegroup(225)
ao.info = {'spacegroup': sg}
# Example 2. Here the unit cell in the POSCAR file is cubic (conventional):
#sg = Spacegroup(216)
#ao.info = {'spacegroup': sg, 'unit_cell': 'conventional'}
# Read number of electrons from OUTCAR.
foundnelect = False
try:
for line in open('OUTCAR', 'r'):
if 'NELECT' in line:
nelect = float(line.split()[2])
foundnelect = True
except:
pass
if not foundnelect:
print 'Number of electrons not found. Please set the number manually in hte.intrans.'
nelect = 1.0
# The remaining part takes care of writing the files required by BoltzTraP.
bs = vasp2boltz.get_vasp_bandstructure()
vasp2boltz.write_bandstructure_boltztrap(bs)
vasp2boltz.write_structure_boltztrap(ao)
vasp2boltz.write_intrans_boltztrap(n_electrons = nelect) |
|