Author Topic: planar/microscrope charge density/potential  (Read 4365 times)

0 Members and 1 Guest are viewing this topic.

Offline caocao

  • Regular QuantumATK user
  • **
  • Posts: 14
  • Country: cn
  • Reputation: 0
    • View Profile
planar/microscrope charge density/potential
« on: October 15, 2011, 05:34 »
Dear all,
How can l plot the planar/microscrope  charge density/potential curve by using ATK?

Offline zh

  • QuantumATK Support
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 1141
  • Reputation: 24
    • View Profile
Re: planar/microscrope charge density/potential
« Reply #1 on: October 15, 2011, 13:55 »
The procedure for the planar/microscope charge density/potential is the same as the calculation of work function. The scripts for the calculations of work function have been discussed many times in this forum. Please check them by searching "work function".

Offline caocao

  • Regular QuantumATK user
  • **
  • Posts: 14
  • Country: cn
  • Reputation: 0
    • View Profile
Re: planar/microscrope charge density/potential
« Reply #2 on: October 15, 2011, 15:12 »
Actually, i want to plot these curves, and then calculate the schottky barriers.

Offline caocao

  • Regular QuantumATK user
  • **
  • Posts: 14
  • Country: cn
  • Reputation: 0
    • View Profile
Re: planar/microscrope charge density/potential
« Reply #3 on: October 16, 2011, 04:50 »
just like this

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5411
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: planar/microscrope charge density/potential
« Reply #4 on: October 16, 2011, 11:26 »
You have to make the plot yourself, but the basic data is easily available in ATK, via the ElectronDensity and EffectivePotential. You can extract this to a Cube file, or make the plane-averaging directly in Python with ATK, sort of like
Code: python
config = nlread("file.nc",DeviceConfiguration)[0]
density = ElectronDensity(config)
z_axis_length = density.unitCell()[2][2].inUnitsOf(Angstrom)
Nz = density.shape()[2]
# Loop over all the data and calculate the average in the xy-plane
print "Pos (Ang)\tAveraged electron density (%s)" % density.unit()
for i in range(Nz):
    print i*z_axis_length/float(Nz),"\t",numpy.average(density[:,:,i])