from ATK.TwoProbe import * # Restoring the SCF from the previous calculation scf = restoreSelfConsistentCalculation('imperfect_chain.nc') # Specify the range of energies energy_scan = [ i/200.0*Units.eV for i in range(-1601,601)] # Calculate the Transmission Spectrum bz_int_parm = brillouinZoneIntegrationParameters( (1,1) ) spectrum = calculateTransmissionSpectrum( self_consistent_calculation=scf, energies = energy_scan, brillouin_zone_integration_parameters=bz_int_parm) # Save the Transmission Spectrum to VNL file vnlfile = VNLFile("imperfect_alwire_trans.vnl") vnlfile.addToSample(spectrum,'imperfect_alwire_trans') # Print at screen the Transmission Spectrum print 'Transmission Spectrum' print '-----------------------------------------------------------------------' print 'Energies(eV) Coefficients' for i in range(len(spectrum.energies())): print '%17.3f %17.6f' %( spectrum.energies()[i].inUnitsOf(Units.eV), spectrum.coefficients()[i])