With a previous lecture, we have created this figure here of our nano ribbon of graphene.
And this was, of course, an exercise for plotting and handling lists and arrays.
But also it was supposed to teach you something about our Hamiltonian already because previously, for
our infinitely large graphene where the units had only two atoms, we realized that our Hamilton matrix
has a size of two by two.
So now, since our unit cell is much larger, so where is it?
Here is the unit.
So we have to know, sir, we have eight times four, which is 32 atoms, so the size of our matrix
will be 32 times 32.
So how do we set up these elements of the Hamilton matrix?
Well, we know that we have to describe all the hopping.
So we have to describe the paths from one atom to another, for example, here from the atom, which
hops to the blue one and then to the green one as well.
So now, since these atoms here are not anymore the same basis atoms, there will be new elements in
the hopping matrix, of course.
So when you look at it carefully, we can now label our atoms going from top from bottom to top.
So one two three four five, six, seven, eight and so on and so on.
And so then this element here, for example, would describe the hopping from this purple atom to this
blue atom.
And then this element here two three two three element would describe the hopping from blue to red.
This is why I wrote him the arm.
Then the next one would be red to green.
And of course, we also have to hop things along the opposite directions.
And also, we have to consider the hopping not only to the left, but also to the right to the neighboring
cell.
So you see, we have the sequence here of different toppings purple, blue, blue, red, red, green,
green, purple.
And if you look at it more carefully, you will see, for example, that purple hopping to blue has
two hopping terms one in this direction, the other one along this direction.
Then the next one blue rat will just have a hopping along the y direction and then red.
The green would again have two helpings along this direction.
So these hopping paths are the same as these paths.
So this means we actually only have two different hopping elements.
That's always yeah.
So first, we have these two and then we have this one.
So they are always changing.
So our matrix will just basically consider or consist out of zeros and only in the off diagonal.
We will have elements and there will just be two different elements.
So the first one will be this one describing the two hopping paths, for example, from purple to blue,
but also from red to green.
And then the other element will be B are so blue to red, but also green to purple.
And this will have this shape here of exponential function, eye times and then the dot product of the
K vector and the path.
And so since the path is along Y with a length of A0, this will just be eight times A0.
Quite.
So then for the other of diagonal, the hopping path would just be exactly along the opposite direction.
So this means these elements are basically the same, but just with a different sign and the exponent.
OK.
So the first thing that I'm interested in or that I had to think about was how can we cleverly design
such a matrix?
I mean, of course, we could say we make a loop or make it two loops and then we say, OK, if we are,
add this element.
Then we had this term here to the matrix.
But it's actually possible to do this in a very clever way.
And we can do this by using the diagonal matrix function.
So the the command is and diak for diagonal, and then we can write, for example, one two three.
And this will give us a diagonal matrix one two three.
So instead, what we want, we want to have these numbers on the off diagonal, and this can be achieved
with an option called or just written down.
K is equal to one.
So this means these numbers will not be shifted and it's not on the off diagonal.
And you see our matrix.
There's now a four by four matrix.
So how can we now construct a matrix with both of diagonals filled?
Well, we can just write like this and then here we write minus one.
And you see, since we are adding these two matrices, we now have such a matrix exactly like here.
Just the terms are wrong at the moment.
So this we have to take care of.
So let us now begin to really construct the Hamiltonian and then loop also over the key points.
So at this point, we know technically how we can construct such a matrix.
But we first need to define the elements here which you have written down analytically.
So my idea is to construct an array which contains all of these values here.
So better to say these values here and also these values and then constructs the matrix using this type
of commands and.
The nice thing is we only have to find two of these helpings.
So, for example, this one and this one.
And then we can use the Python command and pitot tile because tile is a really nice thing.
You can then provide an array.
And, for example, can write one comma two.
And when you then write as the option, some number of 10, for example, then the result will be one,
Komatsu repeated 10 times.
This is exactly what we want to have.
So we're not exactly, of course, but what we want to have is we want to repeat it several times.
So first of all, we should define how many atoms do we want to consider at the moment, I would say
32, because then it corresponds to this narrow ribbon, but we can increase the number later on.
And here we write that we repeat this, of course, atoms divided by two times.
So I write here the integer division just to make sure that this is really an integer.
And now we must provide basically the correct toppings.
So, you know, we can just do this and override toppings down here.
So we just have to look, what did I write down here?
So we wrote and he thought he exp than the imaginary unit, which is one j in Python a zero.
And then this vector, or no, it's not a vector, does the dot product of two vectors, so it will
be empty Times Square root of three over two times K X plus one half K.
And then we have another term, which is pretty similar, actually just has a different X sign for the
X coordinate.
So like this, I think and then the other term will be this one here.
So this will just be we copy this a zero times K-Y.
So we run this, then we get, yeah, such a nice matrix.
I know it's not the matrix yet.
It's a vector which we will then position in the matrix.
So one thing that's important also to realize is that if we want to construct our 32 by 32 matrix,
the off diagonal were only has half a length of 31.
So this means we only have to take the first to the second last element.
So you see, the last element has now been dropped.
So this I would call off diagonal one.
And then, of course, we have to do the same thing also for off diagonal, too, which is in fact pretty
similar.
It just has a different sign for Derby.
Oh, by the way, here I forgot to write a minus sign in the latest court.
Yeah, no, it's correct.
So what we have to do is we have to just make here at minus sign, minus sign and here also a minus
sign, and then it should work already.
All right.
And now we can think about how did we calculate the barn structure before and we can copy this.
So let me copy all of this code from this pen structure here, because we will now do a similar thing.
So
we will first define a number of key points.
We should probably go to a bit of a lower value here than we defined the list, the K X list, which,
you know, maybe we could even leaf as it is.
And then for the K y list here, I have to just tell you something.
So of course, it would be a good idea to do it as it is.
So we have a list and the K list, but it turns out that's the the solution will not depend on.
Quite.
So that's really hard to understand, to be honest, but it's basically due to the fact that our system
is only periodic along one direction along the X direction.
So this is also why, yeah, this solution will not depend on K-Y.
So we can basically take any value for KYC, and I will just take zero.
So if you don't believe me, by the way, you can of course check this.
You can take a different value K-Y, and it should give you exactly the same result in every case.
So then we have our empty energy list for the solution, which is good.
This loop we can delete and now we can just copy and paste our off diagonals here into that loop, because
the off diagonals will, of course, change every time.
So just make this look a bit more nicely.
And yeah, I think that's pretty good.
Yeah.
Maybe let's do it like this, it's easier.
OK, so here we have to find the
the off diagonal elements.
And here we will define the Hamilton matrix, where it just depends on K X.
So basically, what we have to right now is not something like this, but basically this going on here.
But of course, with the updated lists, which will be off diagonal one and off diagonal to.
All right, so now we have our Hamilton matrix for every key point.
And now we solve for the energy.
So let me think if this is correct, but it looks good, to be honest.
So I think we can give it a shot.
So I save the file and I run the cell, and that's already a good sign when it didn't give any error
message.
So let's look at the energy list.
So it's, of course, a very large array where we loop over the key points.
So let's, for example, look at the first key point.
And there we will have several eigenvalues that corresponds to the energies.
So now the next thing that we are going to do is we are going to plot this.
So the first thing is we must reshape R8.
If you don't remember, we had to do this also for the other band structure.
This was basically because I have constructed here a list that we have then filled, but we must have
an array, so we must update our list to an array and then we must reshape this thing to make it look
more like.
Yeah.
So it took basically to satisfy the syntax for the plotting commands.
So let me copy this and we paste it here.
So our new energy list will be read shape and then we have to write here.
And three, the energy list and the new shape will be key points comma.
So we don't need two times two key points here because we only loop over K X and here we need the number
of bands or the number of atoms.
So let's update the list and let's plot.
And this is pretty easy.
Actually, we just right Pulte towards plot and then K X list, coma energy list.
And for example, we could write all the, you know, all the key points and we only want to plot here
to first band and color.
Let's do it like.
So this will be the first band, of course.
We can also do another band, then 14, for example, which will look differently.
So how can we plot all the bands at once?
Well, we could, for example, just loop over the index for I in range of atoms.
We plot this and here I wrote I.
And you see, this is our new band structure where the x axis will show the K value.
So in this case, k x, let's just use K because we only have one K value and then the y axis will be
the energy as previously.
And now we see our band structure here, so it looks kind of different compared to this one.
But still, you see a bit of a similarity.
You still see these this valley here.
You still also see the touching point where to direct point is.
So it looks a bit similar to this plot here.
But the thing is, since we only have one quick turn now, everything from the other direction is basically
projected onto K X equals zero.
So, yeah, that sounds maybe a bit difficult.
But all I want to say is this three dimensional plot here gets basically projected onto one plane,
and then it will look exactly like this one here.
So this will be the band structure of another ribbon of graphene.
Now, of course, we can play with the parametres a bit.
We can increase the number of key points, for example 201, and we can increase the number of atoms
where it's really important to have higher multiples of four.
So maybe like me to do 180 because we have to run all the cells now and you see we get even more bands,
but we basically still get the same band structure and we can even continue this go to 200.
And you see, now we have an almost solid area here where all the states are occupied by electrons and
then only in the wide ranges, there are no electrons.
And this is really, I think, an interesting fact that no matter how thick your nano stripe is or you're
not a ribbon, you will always give a very similar bend structure.
But the density of the states here in these areas, they will be much more homogeneous.
The more bands you considered, the more atoms you consider.