Author Topic: calculate the average voltage drop along z axis  (Read 3007 times)

0 Members and 1 Guest are viewing this topic.

Offline jaco

  • Regular QuantumATK user
  • **
  • Posts: 10
  • Country: ca
  • Reputation: 0
    • View Profile
calculate the average voltage drop along z axis
« on: June 29, 2013, 05:44 »
dear professor:
      i want to know how to calculate the average voltage drop along z axis.  how the calculate the z axis length. and how the calculate the voltage drop for a .nc file which contain many device configuration.

      Best regards!


jaco

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys

Offline jaco

  • Regular QuantumATK user
  • **
  • Posts: 10
  • Country: ca
  • Reputation: 0
    • View Profile
Re: calculate the average voltage drop along z axis
« Reply #2 on: June 30, 2013, 03:48 »
 Thanks!
 Maybe there is a misunderstanding on my expression. I want to calculate the voltage drop along Z axis, especially, not only for average of XY plane, but for a part of XY plane(where the atoms stay). as when a big lattice constant in XY plane may disturb the calculation when the voltage is used on the electrodes. is that right?
« Last Edit: June 30, 2013, 03:56 by jaco »

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: calculate the average voltage drop along z axis
« Reply #3 on: July 1, 2013, 00:40 »
I would not think the lattice constant is a problem if you are using a ribbon or similar. When averaged over the XY plane, the plot of the voltage drop vs. Z shows a more smooth shape that tends to show quite well where the resistance is located in Z. But of course you can easily plot Vdrop(x0,y0,z) as function of z by calling evaluate(x0,y0,z) on the voltage drop object (obtained by subtracting the electrostatic potential at bias minus the zero-bias potential). Like so:
Code: python
# Read configurations from NC files
device0 = nlread("zerobias.nc", DeviceConfiguration)[-1]
device = nlread("finite_bias.nc", DeviceConfiguration)[-1]
# Evaluate the voltage drop as a grid object
v0 = ElectrostaticDifferencePotential(device0)
v = ElectrostaticDifferencePotential(device)
voltage_drop = v-v0
# Point in XY plane
x0 = 5*Angstrom
y0 = 5*Angstrom
# 100 points along the z axis; cell_z is the length of the central region
cell_z = device._cell()[2][2].inUnitsOf(Angstrom)
for z in numpy.linspace(0,cell_z,100):
    Vz = voltage_drop.evaluate(x0,y0,z*Angstrom)
    print z,Vz.inUnitsOf(eV)