QuantumATK Forum
QuantumATK => General Questions and Answers => Topic started by: Jahanzaib on September 2, 2024, 15:44
-
Dear Expert,
I hope you are doing well.
I am interested in calculating the current at each bias given in code below. This code work well, but I don't have an idea how to calculate current at each bias, any suggestion?
pos_bias_list = [0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70]*Volt
# Read DeviceConfiguration
zero_bias_file = '/home/hartree/jem/wolf6252/N-P/Device/Fe-H-D/Fe-H-D-3-3/Fe-H-D-3-3.hdf5'
device_configuration = nlread(zero_bias_file, DeviceConfiguration)[0]
for bias in pos_bias_list:
if processIsMaster():
print("Bias is now: ", bias)
# Get the calculator
calculator = device_configuration.calculator()
# Set the bias voltage
calculator=calculator(electrode_voltages=(bias/2, -bias/2))
# Attach the calculator and use the old initial state
device_configuration.setCalculator(
calculator(),
initial_state=device_configuration)
device_configuration.update()
nlsave('device_bias_%.2f.hdf5' % bias.inUnitsOf(Volt), device_configuration)
nlprint(device_configuration)
-
To get the current you also have to compute the transmission spectrum at each bias (can be done afterwards, using the saved configurations for each bias), and from each transmission spectrum you get the current.
-
If I understand you correctly then it's mean I have to apply different bias let's say -0.1, 0.2 etc and calculate the TS. ok?
I calculated the TS with -0.1 and also got current as shown in the figure? this is what you are explaining?
-
Yes. There is appreciable band gap in this system, so the current will be zero for low bias (nano-Ampere is for practical purposes to be considered zero in a system like this), but once you bump up the bias a bit you should start to see a lot more.
You can also extract the current in a script, if you have many bias points, but it's instructive to visualize the transmission spectrum to discern why the I-V looks the way it does.
-
I got your point. Actually I was looking the following tutorial (https://docs.quantumatk.com/tutorials/std_transport/std_transport.html). I run many bias but I didnot get current using the following
Calculate the current from the transmission spectrum
current = transmission_spectrum.current()
-
Right, that is correct, then in the script you can just nlprint(current)