from ATK.TwoProbe import * # The spacing between the wires - the distance should be large # enough for the wire not to interact. xy = 10.0 # The lattice distance in the wire. zs = 2.39 # The lattice vectors of the electode. unit_cell = [[ xy, 0.0, 0.0], [ 0.0, xy , 0.0], [ 0.0, 0.0, 6*zs]]*Angstrom # Setting up the position of the atoms in the electrode. positions = [(xy/2, xy/2, zs*0), (xy/2, xy/2, zs*1), (xy/2, xy/2, zs*2), (xy/2, xy/2, zs*3), (xy/2, xy/2, zs*4), (xy/2, xy/2, zs*5)]*Angstrom # Combining the lattice vectors, and positions together with elements. electrode = PeriodicAtomConfiguration(unit_cell,[Aluminium]*6,positions) # Setting up the scattering positions for the doped system. # Doping is placed a small distance from the chain in the middle # of the scattering region. scattering_positions = [(xy/2, xy/2, zs*0), (xy/2, xy/2, zs*1), (xy/2, xy/2, zs*2), (xy/2, xy/2, zs*3), (xy/2, xy/2, zs*4), (xy/2, xy/2, zs*5), (xy/2, xy/2, zs*6), (xy/2, xy/2, zs*7), (xy/2, xy/2+1.2,zs*7.5), (xy/2, xy/2, zs*8), (xy/2, xy/2, zs*9), (xy/2, xy/2, zs*10), (xy/2, xy/2, zs*11), (xy/2, xy/2, zs*12), (xy/2, xy/2, zs*13), (xy/2, xy/2, zs*14)]*Angstrom # Creating the perfect Aluminium wire. aluminum_wire = TwoProbeConfiguration((electrode,electrode), [Aluminium]*8+[Oxygen]+[Aluminium]*7, scattering_positions) vnl_file = VNLFile("imperfect_alwire.vnl") vnl_file.addToSample(aluminum_wire,"imperfect_alwire")