Author Topic: GNR p and n doping how???  (Read 9400 times)

0 Members and 1 Guest are viewing this topic.

Offline Heinz

  • Heavy QuantumATK user
  • ***
  • Posts: 51
  • Country: de
  • Reputation: 1
    • View Profile
GNR p and n doping how???
« on: December 15, 2014, 15:03 »
I replicated the pn junction of silicon tutorial, it's awesome thanks.

Then I tried to do the similar p-n junction simulation of the attached GNR section. Please could you help how I can dope the attached GNR as p-n junction?

Best regards,
Heinz
« Last Edit: December 16, 2014, 10:39 by Heinz »

Offline Umberto Martinez

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 479
  • Country: dk
  • Reputation: 26
    • View Profile
Re: GNR p and n doping how???
« Reply #1 on: December 17, 2014, 09:19 »
Same way as in the p-n junction tutorial :)

you may also check this recent discussion http://quantumwise.com/forum/index.php?topic=3168.msg14596#msg14596

Offline Heinz

  • Heavy QuantumATK user
  • ***
  • Posts: 51
  • Country: de
  • Reputation: 1
    • View Profile
Re: GNR p and n doping how???
« Reply #2 on: December 17, 2014, 12:07 »
Thanks for the reply. But when I do the same way as in pn junction, it gives "negative total number of electrons" error. So it doesn't work :(

Offline Umberto Martinez

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 479
  • Country: dk
  • Reputation: 26
    • View Profile
Re: GNR p and n doping how???
« Reply #3 on: December 17, 2014, 12:36 »
please provide more details. post your script and the entire error message.

Offline Heinz

  • Heavy QuantumATK user
  • ***
  • Posts: 51
  • Country: de
  • Reputation: 1
    • View Profile
Re: GNR p and n doping how???
« Reply #4 on: December 17, 2014, 13:15 »
Hi, Thanks for your answer. I attached my script. I could manage to correct the error message when I decreased the doping concentration from 10^24 to 2*10^19. However my problem is in the doping part of the code. It is as below. In the GNR obviously there are both C and H atoms in the structure so how can I dope the right and left electrodes? When I write
Code
left_electrode.setExternalPotential(
      AtomicCompensationCharge([(Carbon, -1*doping)]))
only C atoms in the electrode are doped, right? So what can I do for doping both C and H atoms? Thanks. Whole doping part:
Code
# -------------------------------------------------------------
# Add Doping
# -------------------------------------------------------------
doping_density = 2e+19
# Calculate the volume  and convert it to cm^-3
# Note: right and left electrodes have the same volume,
volume = right_electrode_lattice.unitCellVolume()
volume = float(volume/(0.01*Meter)**3)
# Calculate charge per atom
doping = doping_density * volume / len(right_electrode_elements)
# Add p- and n-type doping to the central region
external_potential = AtomicCompensationCharge([
        ('p_doping', -1*doping), ('n_doping',doping)
        ])
central_region.setExternalPotential(external_potential)
# Add doping to left and right electrodes
left_electrode.setExternalPotential(
      AtomicCompensationCharge([(Carbon, -1*doping)]))
right_electrode.setExternalPotential(
      AtomicCompensationCharge([(Carbon, doping)]))

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: GNR p and n doping how???
« Reply #5 on: December 17, 2014, 18:23 »
Why would you dope hydrogen? The only reason they are in the calculation in the first place is to avoid surface states. You active atoms are the carbon ones, and that's also where any physical doping would go.

Offline Heinz

  • Heavy QuantumATK user
  • ***
  • Posts: 51
  • Country: de
  • Reputation: 1
    • View Profile
Re: GNR p and n doping how???
« Reply #6 on: December 18, 2014, 12:29 »
Thanks Mr. Anders. I did as you said in the attached script but then obtained a perfectly linear I-V characteristics also as attached. What would you recommend to do in the script to get a diode characteristics from this GNR sample? Thanks very much. (Note: I know the sampling is very little but just to see when I can get a nonlinear I-V characteristics.)

Offline Umberto Martinez

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 479
  • Country: dk
  • Reputation: 26
    • View Profile
Re: GNR p and n doping how???
« Reply #7 on: December 19, 2014, 10:41 »
It is wrong to calculate the charge per atom considering the volume below.

volume = right_electrode_lattice.unitCellVolume()
volume = float(volume/(0.01*Meter)**3)
doping = doping_density * volume / len(right_electrode_elements)

this is true for bulk systems where the atoms occupy the entire volume of the cell.
This is probably the reason you get "negative electrons" before.

Please, add the proper doping.
we probably need to add this to the tutorial :)

Offline yasar

  • Regular QuantumATK user
  • **
  • Posts: 5
  • Country: au
  • Reputation: 0
    • View Profile
Re: GNR p and n doping how???
« Reply #8 on: December 20, 2014, 09:15 »
So, how to add the "proper doping"? I also tried the structure and cannot get the current characteristics of a diode?

Offline Heinz

  • Heavy QuantumATK user
  • ***
  • Posts: 51
  • Country: de
  • Reputation: 1
    • View Profile
Re: GNR p and n doping how???
« Reply #9 on: December 21, 2014, 12:09 »
Thanks but how to do it, can you please give a correct code of this?

Best
Heinz

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: GNR p and n doping how???
« Reply #10 on: December 23, 2014, 00:13 »
The code is technically correct. The issue here is scientific, not numeric. If you intend to dope a 2D structure, you should use a 2D doping concentration and normalize it by an active area, to compute the corresponding compensation charges. So your doping should be expressed in cm^-2 and you should compute the area of the your ribbon (either manually, by just measuring it, or by some simple code based on the coordinates (largest minus smallest gives width and length).

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: GNR p and n doping how???
« Reply #11 on: January 12, 2015, 11:01 »
Simple math.

Offline sathyajit

  • Heavy QuantumATK user
  • ***
  • Posts: 31
  • Country: in
  • Reputation: 0
    • View Profile
Re: GNR p and n doping how???
« Reply #12 on: June 22, 2015, 13:02 »
Hi,

In the script posted here

# -------------------------------------------------------------
# Add Doping
# -------------------------------------------------------------
doping_density = 1e+20
# Calculate the volume  and convert it to cm^-3
volume = right_electrode_lattice.unitCellVolume()
volume = float(volume/(0.01*Meter)**3)
# Calculate charge per atom
n_doping = doping_density * volume / len(right_electrode_elements)
# Add external potential to the central region
external_potential = AtomicCompensationCharge([
        ('doping_central_region', n_doping)
        ])
 
central_region.setExternalPotential(external_potential)
# Dope the right electrode
right_electrode.setExternalPotential(
      AtomicCompensationCharge([(Silicon, n_doping)]))

Is
len(right_electrode_elements)  = total number of atoms on the electrode or only the atoms which need to be doped ?
Ex. if we need to dope MoTe2 do we need to put the number of Mo atoms or total number (Mo+Te)


Offline Jess Wellendorff

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 933
  • Country: dk
  • Reputation: 29
    • View Profile
Re: GNR p and n doping how???
« Reply #13 on: June 22, 2015, 14:33 »
len(right_electrode_elements) = the number of atoms in the right electrode.

Offline sathyajit

  • Heavy QuantumATK user
  • ***
  • Posts: 31
  • Country: in
  • Reputation: 0
    • View Profile
Re: GNR p and n doping how???
« Reply #14 on: July 4, 2015, 13:33 »
Hi,

If we want to dope only the tagged atoms we need to manually count the number of tagged atoms and put it instead of len(right_electrode_elements) right ?

Regards
Sathyajit