Dear forum people
I consider four atomic orbitals of the silicon atom: s, px , py and pz , thus Hi,j is a 4*4 matrix.
Hi,i is the expression of the diagonal matrix and Hi,j is the expression off-diagonal matrix where the expression for Hi,i and Hi,j is attached.
But I can not calculate the cosine of direction.
Who can help me find the cosine of direction?
So what is your problem? l, m, n are just the cartesian x, y and z coordinates of the distance vector of the two atoms.
#5
anahita
27
0
DrDu said:
So what is your problem? l, m, n are just the cartesian x, y and z coordinates of the distance vector of the two atoms.
Position vectors of the 1 NN for silicene as follows:
R1=(a/√3,0,0) , R2=(-a/2√3,a/2,0) , R3=(-a/2√3,-a/2,0)
but n, l,m for the nearest neighbours is three values as we must have a value for the nearest neighbours.
Well, for example you take ##r_i= R0=(0,0,0)^T## which has the three nearest neighbours you specified. So e.g. for ##r_j=R2##:
##l=R1_x-R0_x=a/\sqrt{3}##.
#7
anahita
27
0
DrDu said:
Well, for example you take ##r_i= R0=(0,0,0)^T## which has the three nearest neighbours you specified. So e.g. for ##r_j=R2##:
##l=R1_x-R0_x=a/\sqrt{3}##.
Dear DrDu
Thank you very much.
#8
nuclearpasta
4
0
If you're trying to plot this in something like MATLAB you can form the two block matrices and run a loop that adds the phase factors for the hopping parameters and then plot over those points if you know the region it spans (which in your case is just the Brillouin zone)
#9
anahita
27
0
nuclearpasta said:
If you're trying to plot this in something like MATLAB you can form the two block matrices and run a loop that adds the phase factors for the hopping parameters and then plot over those points if you know the region it spans (which in your case is just the Brillouin zone)
I can't calculate phase factors for hopping parameter. can help me?
It is just the product of the phase factors of the two orbitals involved.
#11
anahita
27
0
DrDu said:
It is just the product of the phase factors of the two orbitals involved.
In graphene
<si|H|sj>=t1*g0 and <si|H|p(x)j>=t2*g1
where
g0= 1+exp(ik.R(B))+exp(ik.R(C)) and g1= 1-(1/2)(exp(ik.R(B))+exp(ik.R(C)))
How to calculate g0 and g1?
g0 and g1 are the sum of three hopping parameters. In g0, the first term is the hopping between the atoms in the same cell. So the phase factor for both orbitals is 1 and the contribution is t1*1*1. The other two hopping terms go to orbitals with phase factors exp(ik.R(B)) and exp(ik.R(C), respectively. So the second factor is t1*1*exp(ik.R(B)) and analogously for C.
For the p_x orbitals, g also contains the direction cosine, which is 1 for A and cos(+-120 deg) =-1/2 for B and C.
#13
nuclearpasta
4
0
I'll post some snippets of what code in MATLAB would look like for a calculation like this.
phase(i) = exp(1i*dot(k(:,index),R(:,i)))
This gives you the phase you're going to multiply with the hopping parameter. You'd have to write a loop that runs from i = 1:3 in order to multiply each contribution to the hopping parameter such that the product of all 3 would get you the total hopping parameter. k and R here are matrices that contain generated wavevectors and the coordinates for the atoms, respectively.
These will be your matrix elements that you'll want. Since the Hamiltonian matrix takes a block-diagonal form, you can create an A block and B block and set the Hamiltonian equal to [A B; B A]. Once you run the loop to get all the hopping parameters correct you can simply plot the eigenvalues of the full Hamiltonian matrix across the desired path to obtain the full band structure.
#14
anahita
27
0
nuclearpasta said:
I'll post some snippets of what code in MATLAB would look like for a calculation like this.
phase(i) = exp(1i*dot(k(:,index),R(:,i)))
This gives you the phase you're going to multiply with the hopping parameter. You'd have to write a loop that runs from i = 1:3 in order to multiply each contribution to the hopping parameter such that the product of all 3 would get you the total hopping parameter. k and R here are matrices that contain generated wavevectors and the coordinates for the atoms, respectively.
These will be your matrix elements that you'll want. Since the Hamiltonian matrix takes a block-diagonal form, you can create an A block and B block and set the Hamiltonian equal to [A B; B A]. Once you run the loop to get all the hopping parameters correct you can simply plot the eigenvalues of the full Hamiltonian matrix across the desired path to obtain the full band structure.
In the l,m,n inner product matrix and vector is not possible so n,l,m how obtained?
#15
anahita
27
0
nuclearpasta said:
I'll post some snippets of what code in MATLAB would look like for a calculation like this.
phase(i) = exp(1i*dot(k(:,index),R(:,i)))
This gives you the phase you're going to multiply with the hopping parameter. You'd have to write a loop that runs from i = 1:3 in order to multiply each contribution to the hopping parameter such that the product of all 3 would get you the total hopping parameter. k and R here are matrices that contain generated wavevectors and the coordinates for the atoms, respectively.
These will be your matrix elements that you'll want. Since the Hamiltonian matrix takes a block-diagonal form, you can create an A block and B block and set the Hamiltonian equal to [A B; B A]. Once you run the loop to get all the hopping parameters correct you can simply plot the eigenvalues of the full Hamiltonian matrix across the desired path to obtain the full band structure.
Hi
In MATLAB program, cosine directions (n,l,m) not true because inner product R and vectors is impossible.
I can't construction matrix Hamiltonian because txy txz , etc are 1*3 vectors while tss is 1*1 vector.
can help me?