QuantumATK Forum
QuantumATK => General Questions and Answers => Topic started by: Anirban Basak on April 3, 2012, 12:31
-
Hello,
How to obtain Energy band diagram (E vs. x) to visualize band bending of conduction and valence band?
I have a guess that I have to find an effective potential profile w.r.t. fermi energy and adjust the band minima w.r.t that value.
Am I right?
Thanks
-
What you suggest is one possibility, we did it that way in
51. H. H. B. Sørensen, P.C. Hansen, D.E.Petersen, S. Skelboe and K. Stokbro, Efficient wave function matching approach for quantum transport calculations, Phys Rev. B 79, 205322 (2009).
For a device, another option is to calculate a number of DeviceLocalDensityOfStates, see
http://www.quantumwise.com/documents/tutorials/latest/MolecularDevice/index.html/chap.analysis.html#sect1.analysis.lddos
-
Yay. ;D
Well, how do I get this potential profile for Device Calculated by Huckel ?
-
Calculate the effective potential,
average along z, see forinstance
http://www.quantumwise.com/documents/manuals/latest/ReferenceManual/index.html/ref.electrostaticdifferencepotential.html
-
dear sir
how to plot (absolute potential vs distance) from where i can analyse potential and band bendings of conduction and valence band across my device.
i dont want electrostatic difference potential vs distance
-
How do you define the absolute potential? There is no such concept in DFT...
-
I want to plot the conduction band -valence band profile in a device as a function of x,y,z. How can i do that?
-
What you are looking for is sort of a poisson solver. I think better use some TCAD or make a matlab code for poisson solver. I haven't seen ant ATK feature on this.
-
It is actually possible, at least in the Z direction, for a device. See e.g. http://quantumwise.com/forum/index.php?topic=2172.0
Now, the real difficulty is that in a device, the translational invariance is broken, or put in another way we don't have periodic boundary conditions. Therefore, we cannot define a band structure in the Z-direction, and therefore we also cannot define the bottom of the CB or top of the VB. The only information we have is the density of states, which we can use at least to get an idea of where the bands are. However, note that we actually get more information than in the classical picture where the band edges are simply lines separating occupied and unoccupied states. We are in really in a position to compute the low occupation in the band gap, due to thermal broadening and tunneling (the exponential tail of the wave function).
In this way you can get a picture like the one attached, for an InAs FinFET-like device under finite source-drain and gate bias (cf. http://dx.doi.org/10.1109/SISPAD.2013.6650654). This picture uses the LDOS and the results are based on DFT; you can alternatively try the attached scripts to simulate a n-p-n Si junction with a simple sp3s* tight-binding model. In this case the DeviceDOS is used (a bit faster to run).
I put all in one script, to make it easier to run for you, but this it rather long and a bit odd (reading and writing data to file). Normally I split up the computation, averaging, and plotting as 3 separate scripts. The script produces the second attached plot and takes about 10-15 minutes to run on my laptop. Most of this time is however spent computing the density of states, and would parallelize beautifully on a cluster up to 30-50 cores.
-
Seems you are mixing versions and syntax. The script you are trying to run would work in 2014, but not in 13.8.
-
You need to post the complete error message, not just part of it. The best way to analyze the DOS for particular atoms is to open the 2D plot from the Labfloor (there was a bug in 2014.0 preventing the projection but it's fixed in 2014.1).
-
Well, obviously you are trying to pass a projection list to a class that doesn't accept this. You need to check your code (or attach it at least).
The colors are defined, not too surprisingly, in the variable called "colors". Or you can choose a predefined colormap, as indicated in the lines commented out in the script, like
pylab.contourf(X,Y,Z, cmap=pylab.cm.gray, levels=V, extend='both')
-
I want to get the Energy-band diagram plot for GFET. I am using the script given by Dr. Anders above in this discussion. On running the script I am getting the following error:
File "/home/mayur/.vnl/TLM_Ideal/device-bandstructure.py", line 103, in <module>
VB_edge=gap_list[1][-1]
IndexError: index -1 is out of bounds for axis 0 with size 0
Can you please let me know why am I getting this error? and How to resolve it?
I changed the Band Gap definition in the script to CB-VB. What else I need to change?
PFA the python files related to this program.
-
This probably happens because your electrodes are metallic, or the threshold for the "zeros" needs to be adjusted.
First try to make a simpler plot by skipping the band edge plotting, just remove lines 90-131 and see what the graph looks like.
-
Moreover, your system is not a device, it's just an infinite perfect graphene sheet. Nothing interesting to see here, move along people :)
-
Dear Anders Sir,
The reason I wanted to know about the energy band diagram for an infinite graphene sheet(as you rightly said) was to verify about periodic boundary condition due to some discrepancy I found by looking at the band-gap. I found the following contradiction which made me do the exercise:
When I change the width and do transport calculations keeping periodic boundary condition I expected that the current increases in the same ratio as the width. But what I found that this trend did not follow. I fail to understand that if I have periodic boundary condition then the current/width ratio should had been constant. Please help me understand what am I missing in here.
PFA the python files.