Skip to Content.
Sympa Menu

forum - Using ABINIT to find effective masses of electrons and holes of semiconductors &

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Using ABINIT to find effective masses of electrons and holes of semiconductors &


Chronological Thread 
  • From:   <mz24cn@hotmail.com>
  • To: forum@abinit.org
  • Subject: Using ABINIT to find effective masses of electrons and holes of semiconductors &
  • Date: Fri, 06 Sep 2002 16:29:22 +0800

Dear all abinitioners,

The traditional method to find effevtive masses of electrons and holes is k.p method. I find a simple but effective method to acquire effective masses of semiconductors/insulators from ABINIT package. The mechanism is as follows: first, I do a band structure calculation of ground state calculation; second, I directly extract the eigenvalues from ABINIT output files; at last, use polynomial of degree two curve fitting to find three diagonal components(as we know, the off-diagonal components will be zero if we properly choose the axes directions). We know the electronic effevtive mass is close relevant to charge transfer process in semiconductors. With this simple method, you can easily report your theoretical effevtive mass from first-principles when you submit a paper concerning with the transfer property of charge carrier.
Here I give an example to illustrate how to get the effective masses of electrons of silicon.
-----------------------------------------------------------------------------------------------

EffectiveMass_IN //the ABINIT input file
---------------------------------------------------------------------
#Computation:
# Electronic and hole efficient masses of Crystalline Silicon
#Structure:
# FCC unit cell.
#Pseudopotential:
# GTH, Si.
#Date:
# Mon-July-10-2002 @OS:Linux;Machine:MikeZhang

ecut 35.0
enunit 2
ndtset 3

#Dataset 1: usual self-consistent calculation
kptopt1 1 nshiftk1 3
shiftk1
0.0 0.5 0.5
0.5 0.0 0.5
0.5 0.5 0.0
ngkpt1 6 6 6
prtden1 1
toldfe1 1.0d-8

#Definition of the SCF procedure
nstep 20
diemac 12.0
nband 12
ecutsm 0.5

#Dataset 2,3: determination of the curvature of band at CBM
getden2 -1
iscf2 -2
tolwfr2 1.0d-12
kptopt2 -1
ndivk2 40 kptbounds2
0.0 0.415 0.415 # along Delta line
0.0 0.435 0.435

getden3 -2
iscf3 -2
tolwfr3 1.0d-12
kptopt3 -1
ndivk3 40 kptbounds3
-0.01 0.425 0.415 # perpendicular to Delta line
0.01 0.425 0.435
#-----------------------------------------------------------
acell 3*10.25
rprim 0.0 0.5 0.5
0.5 0.0 0.5
0.5 0.5 0.0
natom 2
zatnum 14
ntype 1
type 2*1
xred -0.125 -0.125 -0.125
0.125 0.125 0.125
#-----------------------------------------------------------

I found the CBM is accurately at (0, 0, 0.844) in Cartesian coordinate of k in BZ from ABINIT(it is generally acknowledged that is located at (0, 0, 0.85)). Then I use MatLab to analyze the data of output file. I edited a .m file named effMass.m based on mexData() function and polyfit() function. Function mexData can be found on www.abinit.org(but it is an old version; I found mexData.C on www.abinit.org was a wrong version: in fact, it couldn't dispose of three-dimension data:( ). Function polyfit is contained in MatLab. If you are interseted in effMass.m and mexData.C, you can send me an E-mail. I'ld also like to submit the proper version of mexData.C to www.abinit.org if they ask for me.
Using effMass.m, a simple command is enough to gain the eventual results like that:
[effm sK E]=effmass('silicon\effectivemass_linux\effectivemass_out', 5, 2);
effectivemass_out is your ABINIT output file, 5 means the fifth band(for silicon, it is LUMO), 2 means disposing of dataset 2 to 3;
The MatLab output is as follows:
EffectiveMass(:,:,1) =

0.6817
0.8947
0.9760
0.9448
0.9641
0.9611
0.9581
0.9481
0.9470
0.9491
0.9485
0.9477
0.9496
0.9507
0.9500
0.9502
0.9496
0.9500
0.9499
0.9495


EffectiveMass(:,:,2) =

0.1859
0.1884
0.1934
0.1916
0.1914
0.1920
0.1917
0.1916
0.1918
0.1917
0.1917
0.1915
0.1916
0.1916
0.1915
0.1916
0.1916
0.1917
0.1917
0.1917

The ABINIT-output eigenvalues is fixed to the format of five-digit decimal fraction, so the first several values of EffectiveMass(:,:,1) and EffectiveMass(:,:,2) is NOT accurate and should be get rid of. (Here I suggest the future ABINIT should develop parameters to control output format; in some occasion we need more accurate output data) Then use mean() function to get the mean of other values. Please see the file 'EffectiveMass_IN' listed above. EffectiveMass(:,:,1) is derived from (0.0,0.415,0.415)-(0.0,0.435,0.435), which is along Delta line in BZ. So EffectiveMass(:,:,1) is $m_l^*$ (longitudinal effective mass) and EffectiveMass(:,:,2) is $m_t^*$ (traverse effective mass). At last we get the ab initio theoretical values comparing with experimental data as follows:
$m_l^*$ (longitudinal effective mass) $m_t^*$ (traverse effective mass)
This work 0.9511 0.1916
Expt. 0.9163 0.1905
(Error) 3.8% 0.6%

----------------------WOW!!! The results are rather satisfying!!!-----------------------
NOTICE: here is something you should notice when using this method.
1. Use 'band buffer' to get accurate eigenvalues(see lesson three) because ABINIT uses iterative diagonalizational method.
2. The parameter kptbounds should be carefully tried when handling with other materials.

------------------------------------- Y A T ----------------------------------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Yet Another Thing!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

As above you have seen, I share my experience about using ABINIT to you. I also have a questions which troubles me for a long time to ask. I am sure that someone know how to handle them. Currently I am doing some response-function (static dielectric tensor) calculations on material rutile TiO2, which is a wide band gap semiconductor. But I always got the ERROR as follows:

The lowest mode appears to be a "true" negative mode,
and not an acoustic mode. This precludes the computation
of the frequency-dependent dielectric tensor.
Action : likely there is no action to be taken, although you,
could try to raise your convergence parameters (ecut and k-points).
For your information, here are the four lowest frequencies :
-1.44436452E-03 -1.44432637E-03 -1.40826927E-03 -1.00781976E-03

leave_new : decision taken to exit ...

I know Xavier Gonze know how to dispose of the problem because he had successfully done that(PRB50,13379(1994), 'Lattice dynamics and dielectric properties of incipent ferroelectric TiO2 rutile'). But no one give me any suggestion. So here I expect someone can give me any instruction. I really appreciate for you.
--------------------------------------My Input File------------------------------------ #Computation:
# Response function calculation of TiO2(Rutile).
#Structure:
# Tetregonal unit cell.
#Pseudopotential:
# HGH, nonSemiCore, Ti and O.
#Date:
# Sat-July-07-2002 @OS:Linux;Machine:MikeZhang

ndtset 3

ecut 30.0
prtvol 1

kptopt1 1
tolvrs1 1.0d-18
iscf1 5

getwfk2 -1
kptopt2 2
rfelfd2 2
rfdir2 1 1 1
nqpt2 1
qpt2 0.0 0.0 0.0
tolwfr2 1.0d-22
iscf2 -3

getwfk3 -2
getddk3 -1
kptopt3 2
rfphon3 1
rfatpol3 1 6
rfelfd3 3
rfdir3 1 1 1
nqpt3 1
qpt3 0.0 0.0 0.0
tolvrs3 1.0d-11
iscf3 5

nstep 100
diemac 100.0
ngkpt 4 4 6
nshiftk 1
shiftk 0.5 0.5 0.5
#-------------------------------------------------------------------------------

#Define the unit cell
acell 8.6806 8.6806 5.5911
ntype 2
zatnum 22 8
natom 6
type
1 1 2 2 2 2
xred
0.0 0.0 0.0
0.5 0.5 0.5
0.3048 0.3048 0.0
0.6952 0.6952 0.0
0.8048 0.1952 0.5
0.1952 0.8048 0.5
#-------------------------------------------------------------------------------



Mike Zhang
09/06/2002



_________________________________________________________________
免费下载 MSN Explorer: http://explorer.msn.com/lccn/




Archive powered by MHonArc 2.6.16.

Top of Page