Conductance of single-molecule
From phys824
Jump to navigationJump to search
Using Tight Binding Method
Lead Hamiltonians:
import numpy as np H_lead = np.array([[ 0. , -1. , 0.2, 0. ], [-1. , 0. , -1. , 0.2], [ 0.2, -1. , 0. , -1. ], [ 0. , 0.2, -1. , 0. ]])
Scattering Hamiltonian:
H_scat = np.array([[ 0., -1 , 0, 0, 0, 0. ], [-1 , 0 , 0.2, 0, 0, 0. ], [ 0 ,0.2 , 0,-0.8, 0, 0. ], [ 0 , 0 ,-0.8, 0,0.2, 0. ], [ 0 , 0 , 0, 0.2, 0,-1 ], [ 0 , 0 , 0, 0, -1, 0 ]])
Set calculator for transport calculations:
from ase.transport.calculators import TransportCalculator tcalc = TransportCalculator(h=H_scat, # Scattering Hamiltonian h1=H_lead, # Lead 1 (left) h2=H_lead, # Lead 2 (right) pl=2) # principal layer size
Run the calculation:
tcalc.set(energies=np.arange(-3, 3, 0.02)) T_e = tcalc.get_transmission()
Plot transmission vs energy
import pylab pylab.plot(tcalc.energies, T_e)