A question about band structure silicene

Click For Summary

Discussion Overview

The discussion revolves around the band structure of silicene, focusing on the mathematical modeling involving atomic orbitals of silicon, matrix representations, and calculations related to hopping parameters and phase factors. Participants explore various aspects of the theoretical framework and computational methods, particularly in the context of MATLAB programming.

Discussion Character

  • Technical explanation
  • Mathematical reasoning
  • Debate/contested

Main Points Raised

  • One participant describes the Hamiltonian matrix for silicon's atomic orbitals and seeks assistance in calculating the cosine of direction.
  • Several participants request additional documentation, such as PDFs, to better understand the problem.
  • Some participants clarify that the variables l, m, n correspond to the Cartesian coordinates of the distance vector between atoms.
  • Another participant suggests using MATLAB to plot the band structure by forming block matrices and incorporating phase factors for hopping parameters.
  • There is a discussion about the calculation of phase factors, with one participant stating it involves the product of phase factors of the orbitals involved.
  • One participant provides detailed MATLAB code snippets for calculating hopping parameters and constructing the Hamiltonian matrix.
  • Concerns are raised about the validity of direction cosines derived from inner products, with a participant expressing difficulty in constructing the Hamiltonian matrix due to issues with the cosine values.

Areas of Agreement / Disagreement

Participants express various viewpoints on the calculations and methods discussed, with no clear consensus reached on the validity of the direction cosines or the construction of the Hamiltonian matrix.

Contextual Notes

Participants highlight limitations in their calculations, particularly regarding the assumptions made about direction cosines and the inner product of vectors, which remain unresolved.

anahita
Messages
27
Reaction score
0
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?
 

Attachments

Physics news on Phys.org
Could you attach a pdf?
 
DrDu said:
Could you attach a pdf?
 

Attachments

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.
 
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}##.
 
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.
 
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)
 
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?
 
  • #10
It is just the product of the phase factors of the two orbitals involved.
 
  • #11
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?
 
  • #12
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
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.


Code:
Es = -4.2;
Ep = 1.715;
orbitals = [Es Ep Ep Ep];
Vpp_sigma = 2.72;
Vpp_pii = -0.72;
Vss_sigma = -2.08;
Vsp_sigma = 2.48;

a = 3.86;
a1 = (a/2) * [sqrt(3), -1, 0];
a2 = (a/2) * [sqrt(3), 1, 0];

coordinates = [4.45714 0 0; %B
               2.22857 0 0.46152]; %A

R1 = coordinates(2, :)-coordinates(1,:);
R2 = R1 + a1;
R3 = R1 + a2;
R = [R1' R2' R3'];

n = dot(R,[ 0 0 1])/norm(R); %direction cosine
l = dot(R,[1 0 0])/norm(R);
m = dot(R, [0 1 0])/norm(R);
tss = Vss_sigma;
txs = l*Vss_sigma;
tys = m*Vss_sigma;
tzs = n*Vss_sigma;
txy = l*m*Vpp_sigma - l*m*Vpp_pii;
txz = l*n*Vpp_sigma - l*n*Vpp_pii;
tyz = m*n*Vpp_sigma - m*n*Vpp_pii;
tzz = n^2 *Vpp_sigma+(1-n^2)*Vpp_pii;
txx = l^2 *Vpp_sigma+(1-l^2)*Vpp_pii;
tyy = m^2 *Vpp_sigma+(1-m^2)*Vpp_pii;

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
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.


Code:
Es = -4.2;
Ep = 1.715;
orbitals = [Es Ep Ep Ep];
Vpp_sigma = 2.72;
Vpp_pii = -0.72;
Vss_sigma = -2.08;
Vsp_sigma = 2.48;

a = 3.86;
a1 = (a/2) * [sqrt(3), -1, 0];
a2 = (a/2) * [sqrt(3), 1, 0];

coordinates = [4.45714 0 0; %B
               2.22857 0 0.46152]; %A

R1 = coordinates(2, :)-coordinates(1,:);
R2 = R1 + a1;
R3 = R1 + a2;
R = [R1' R2' R3'];

n = dot(R,[ 0 0 1])/norm(R); %direction cosine
l = dot(R,[1 0 0])/norm(R);
m = dot(R, [0 1 0])/norm(R);
tss = Vss_sigma;
txs = l*Vss_sigma;
tys = m*Vss_sigma;
tzs = n*Vss_sigma;
txy = l*m*Vpp_sigma - l*m*Vpp_pii;
txz = l*n*Vpp_sigma - l*n*Vpp_pii;
tyz = m*n*Vpp_sigma - m*n*Vpp_pii;
tzz = n^2 *Vpp_sigma+(1-n^2)*Vpp_pii;
txx = l^2 *Vpp_sigma+(1-l^2)*Vpp_pii;
tyy = m^2 *Vpp_sigma+(1-m^2)*Vpp_pii;

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
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.


Code:
Es = -4.2;
Ep = 1.715;
orbitals = [Es Ep Ep Ep];
Vpp_sigma = 2.72;
Vpp_pii = -0.72;
Vss_sigma = -2.08;
Vsp_sigma = 2.48;

a = 3.86;
a1 = (a/2) * [sqrt(3), -1, 0];
a2 = (a/2) * [sqrt(3), 1, 0];

coordinates = [4.45714 0 0; %B
               2.22857 0 0.46152]; %A

R1 = coordinates(2, :)-coordinates(1,:);
R2 = R1 + a1;
R3 = R1 + a2;
R = [R1' R2' R3'];

n = dot(R,[ 0 0 1])/norm(R); %direction cosine
l = dot(R,[1 0 0])/norm(R);
m = dot(R, [0 1 0])/norm(R);
tss = Vss_sigma;
txs = l*Vss_sigma;
tys = m*Vss_sigma;
tzs = n*Vss_sigma;
txy = l*m*Vpp_sigma - l*m*Vpp_pii;
txz = l*n*Vpp_sigma - l*n*Vpp_pii;
tyz = m*n*Vpp_sigma - m*n*Vpp_pii;
tzz = n^2 *Vpp_sigma+(1-n^2)*Vpp_pii;
txx = l^2 *Vpp_sigma+(1-l^2)*Vpp_pii;
tyy = m^2 *Vpp_sigma+(1-m^2)*Vpp_pii;

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?
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K