Author Topic: Abrupt fluctuations in IV-curves of the diodes in Simulations  (Read 5637 times)

0 Members and 1 Guest are viewing this topic.

Offline haroon

  • New QuantumATK user
  • *
  • Posts: 4
  • Country: ee
  • Reputation: 0
    • View Profile
Dear Friends,
I am facing a problem in IV-curves calculations of diodes and FET in Quantumwise. My calculated IV-curves show abrupt jumps in current values. I could not find out the reason of this. Kindly guide me. The python script and output curve is given:
First I did zero biase calculations then i used the output file to calculate IV-Curves and the graph is in the attachement whereas the script is below:

# -*- coding: utf-8 -*-
# -------------------------------------------------------------
# Analysis from File
# -------------------------------------------------------------
path = u'4h6h_new.nc'
configuration = nlread(path, object_id='gID000')[0]

# -------------------------------------------------------------
# IV Curve
# -------------------------------------------------------------
biases = [0.00, 0.05, 0.10, 0.15, 0.20, 0.25,
          0.30, 0.35, 0.40, 0.45, 0.50, 0.55,
          0.60, 0.65, 0.70, 0.75, 0.80, 0.85,
          0.90, 0.95, 1.00]*Volt

kpoint_grid = MonkhorstPackGrid(
    na=3,
    nb=3,
    )

iv_curve = IVCurve(
    configuration=configuration,
    biases=biases,
    energies=numpy.linspace(-3,3,101)*eV,
    kpoints=kpoint_grid,
    self_energy_calculator=KrylovSelfEnergy(),
    energy_zero_parameter=AverageFermiLevel,
    infinitesimal=1e-06*eV,
    selfconsistent_configurations_filename_prefix="ivcurve_selfcons_conf_AntsF_",
    log_filename_prefix="ivcurve_AntsF_"
    )
nlsave('iv-newF.nc', iv_curve)
nlprint(iv_curve)

Offline Petr Khomyakov

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 1290
  • Country: dk
  • Reputation: 25
    • View Profile
Your k-point mesh might be not dense enough, but that also depends on the device cross section, i.e., lateral unit cell dimensions. More importantly, the energy mesh is very sparse, (3 eV - (-3 eV) )/101 ~ 0.06 eV.  I think you may decrease the energy interval to [-1, 1] eV and use something like 201 points, at least.

Is there any particular reason that you have adopted the 'KrylovSelfEnergy' method, not a Recursive one?
« Last Edit: April 23, 2018, 10:40 by Petr Khomyakov »

Offline haroon

  • New QuantumATK user
  • *
  • Posts: 4
  • Country: ee
  • Reputation: 0
    • View Profile
Thanks for your reply. No there is no specific reason to use 'KrylovSelfEnergy,. Should i use less dense K-mesh? How much value for K-points should be chosen?

Offline Petr Khomyakov

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 1290
  • Country: dk
  • Reputation: 25
    • View Profile
I would first increase the energy mesh density for a given k-point sampling, and then increase (not decrease as you wrote) the k-sampling density by factor of 2, e.g., using 6x6 k-point mesh, if you still get the  oscillatory behavior.