Dear KWANT Community,
I am defining a scattering region and its corresponding leads by specifying
how many unit cells are there in transversal and longitudinal direction. SR
and leads have same number of unit cells in transversal direction but leads
have only one unit cell in longitudinal direction. Here is my code that
does that:
def scattering_region_shape(pos):
pos = np.array(pos)
# Get the primitive vector coordinates of the position
l, w = np.dot(self.Pinv, pos.reshape(-1, 1)).flatten()
if l >= -0.1 and l <= n_cell_l + self.ucell_eps and w >=
-(self.armchair_edge_eps + self.ucell_eps) and w <= n_cell_w +
self.ucell_eps:
return True
return False
def leads_shape(pos):
pos = np.array(pos)
x,y = pos
# Get the primitive vector coordinates of the position
l, w = np.dot(self.Pinv, pos.reshape(-1, 1)).flatten()
if l >= -0.1 and l <= 1 + self.ucell_eps and w >=
-(self.armchair_edge_eps + self.ucell_eps) and w <= n_cell_w +
self.ucell_eps:
return True
return False
1) First of all, what is the difference between these two ways of
calculating wavefunctions of scattering region?:
wf = kwant.wave_function(system.sys, -2.4)(0)
I would expect wf(0) and wf(1) returns wavefunctions that has different
shapes because one of them is for SR and the other is for leads where I put
less sites to the leads. But it does not, both wavefunctions have 444
elements. Why?
Second way:
H = system.sys.hamiltonian_submatrix()
eigvals, eigvecs = np.linalg.eigh(H)
idx = np.argsort(eigvals)
eigvals = eigvals[idx]
eigvecs = eigvecs[:,idx]
E = -2.4
# Find the 10 closest eigenenergies to E
closest_indices = np.argsort(np.abs(eigvals - E))[:10]
# Get the 10 closest eigenenergies and their corresponding eigenvectors
closest_eigvals = eigvals[closest_indices]
closest_eigvecs = eigvecs[:, closest_indices]
2) Secondly, scattering region has no translational symmetry and it has
discrete energy levels. On the other hand, leads have translational
symmetry and their energy levels form continous bands (we can sample as
many momentum space points as we want).
How can we obtain a solution to Schrödinger Equation for any energy that
crosses at least one band? Maybe the spectrum of the scattering region does
not contain that energy and we cannot match a wavefunction of lead to the
wavefunction in the scattering region to get a solution for the whole
system with a definite energy?
I hope I made my questions clear. I am curiously waiting for your answers
Thank you
--
*Yiğithan Gediz*
*Junior Undergraduate Student*
*Department of Physics*
*Koç University*