Hi,
I have two zero-bias electronic transmissions of a molecular system(DFT+NEGF approach). One is calculated from the standard way. The other is calculated from a gating loop at 0 gating voltage[the gating script below].
My question: Isn't that the two transmissions should be the same? But I got two different transmissions. Any idea?
Regards,
Chengjun
1 # Read in the old configuration
2 device_configuration = nlread("/analysis.nc",DeviceConfiguration)[0]
3 calculator = device_configuration.calculator()
4 metallic_region0 = device_configuration.metallicRegions()[0]
5
6 # test keywords: metallicaRigions
7
8
9 # Define gate_voltages
10 gate_voltage_list=numpy.linspace(-2.0, 1.0, 10)*Volt
11 for gate_voltage in gate_voltage_list:
12 # set the gate potential
13 device_configuration.setMetallicRegions(
14 [metallic_region0(value = gate_voltage)] )
15
16 # make a copy of the calculator and attach it to the configuration
17 # restart from the previous scf state
18 device_configuration.setCalculator(calculator(),
19 initial_state=device_configuration)
20
21 #Analysis
22 filename= 'gate_vdp.nc'
23 electron_density = ElectronDifferenceDensity(device_configuration)
24 nlsave(filename, electron_density,object_id='dens'+str(gate_voltage))
25
26 electrostatic_potential = ElectrostaticDifferencePotential(device_configuration)
27 nlsave(filename, electrostatic_potential, object_id='pot'+str(gate_voltage))
28
29 transmission_spectrum = TransmissionSpectrum(
30 configuration=device_configuration,
31 energies=numpy.linspace(-2,2,200)*eV,
32 )
33 nlsave(filename, transmission_spectrum,object_id='trans'+str(gate_voltage))
34 nlprint(transmission_spectrum)