import matplotlib.pyplot as plt import numpy as np ############################################################################ # compute the transmission coefficient of an impurity # connected to two electrodes that each contains 2 state per unit cell # # # - o - o - o - o --- A --- o - o - o - o - # | x | x | x | x | x | x | x | x | # - o - o - o - o --- A --- o - o - o - o - # ############################################################################ # define the junction system = Junction() # impurity hamiltonian e, alpha = 2, -2 h0 = np.array([[e, alpha], [alpha, -e]]) # add the molecule hamiltonian system.add_central_matrix(h0=h0) # inetractions between electrode layers beta = -2.0 hi = beta * np.eye(2) # add the electrodes system.add_electrode_matrix(h0=h0, hi=hi, vmol=hi) system.add_electrode_matrix(h0=h0, hi=hi, vmol=hi)
from husky.hamiltonian.ElectronicSystem import Junction from husky.transport.negf import NEGFsolver from husky.transport.esqc import ESQCsolver import matplotlib.pyplot as plt import numpy as np import scipy.linalg as spla import sys ############################################################################ # compute the transmission coefficient of a monoatomic gold wire ############################################################################ # create the junction system = Junction() # add the xyz files of the different part system.add_molecule_xyz('./mol.xyz') system.add_electrode_xyz('./elec1.xyz', trans=[0, 0, -7.06]) system.add_electrode_xyz('./elec2.xyz', trans=[0, 0, +7.06]) # write a xyz just to make sure that everything went ok system.write_xyz() # add the exended Huckel parameters system.add_huckel_parameters('./Au.param') # compute the hamiltonians/overlaps using extended huckel theory # the lowdin_ortho option controls the orthogonalization of the matrices # if true a lowdin orthogonalization is performed.
from husky.hamiltonian.model import tight_binding as tb import matplotlib.pyplot as plt import numpy as np ############################################################################ # Compute the transmission coefficient of a wire connected to two electrodes # Each cell of each electrode contains here one states # # - o - o - o - o -- A = A = A = A = A -- o - o - o - o - # ############################################################################ # define the junction system = Junction() # add the molecule hamiltonian N, e, a = 8, 0, -1 system.add_central_matrix(h0=tb.linear_aromatic(N=N, e=e, a=a)) # define the electrodes e0, vi, vmol = 0., -2.5, -0.5 v1, v2 = np.zeros(N), np.zeros(N) v1[0], v2[-1] = vmol, vmol system.add_electrode_matrix(h0=np.array([e0]), hi=np.array([vi]), vmol=v1) system.add_electrode_matrix(h0=np.array([e0]), hi=np.array([vi]), vmol=v2) # compute the band structure of the right electrode system.electrodes['0'].band_structure(nK=250,
from husky.hamiltonian.ElectronicSystem import Junction from husky.transport.negf import NEGFsolver from husky.transport.esqc import ESQCsolver import matplotlib.pyplot as plt import numpy as np import sys ############################################################################ # compute the transmission coefficient of a monoatomic gold wire ############################################################################ # create the junction system = Junction() # add the xyz files of the different part # for the elecrode we here specify only the first cell # and the translation vector to automatically # generate the second cell system.add_molecule_xyz("./mol.xyz") #system.add_electrode_xyz('./elec1.xyz',trans=[-7.0667673,0,0]) #system.add_electrode_xyz('./elec2.xyz',trans=[+7.0667673,0,0]) #system.add_electrode_xyz('./elec1_2unit.xyz')#,trans=[-7.0667673*2,0,0]) #system.add_electrode_xyz('./elec2_2unit.xyz')#,trans=[+7.0667673*2,0,0]) system.add_electrode_xyz("elec1_1atom.xyz") #,trans=[0,0,-5]) system.add_electrode_xyz("elec2_1atom.xyz") #,trans=[0,0,5])
import matplotlib.pyplot as plt import numpy as np import sys ############################################################################ # compute the transmission coefficient of a benzene tight-binding # molecule between two electrodes. Each cell of each electrode contains here # a single state. ############################################################################ # define the junction system = Junction() # add the molecule hamiltonian system.add_central_matrix(h0=tb.cyclic_aromatic(N=6,e=0,a=-1.)) # add the electrodes e0,vi,vmol = 0.,-2.5, 1. system.add_electrode_matrix(h0 = np.array([e0]), hi = np.array([vi]),vmol = np.array([vmol,0,0,0,0,0])) system.add_electrode_matrix(h0 = np.array([e0]), hi = np.array([vi]),vmol = np.array([0,0,vmol,0,0,0])) # compute the band structure of the electrode system.electrodes['0'].band_structure(nK = 250, nE=250, filename='bandstructure_0.png') ########################################################## # ESQC ##########################################################