Top Page > Browsing
IV curve Graphene
Date: 2016/12/07 12:38
Name: Mia

Hello,

I am new to openmx and I am trying to obtain an current-voltage curve for a graphene sheet by changing the bias voltage in the NEGF input file. I get a linear plot up until 0.5V, after which there is a sharp drop in current, and the it is no longer linear. The same happens for the negative voltages with a sharp increase after -0.5V. The same happens for the Graphene example provided in openmx. I am not sure what is happening/what I am doing wrong?

I am using 36 atoms and here is my input file.

System.Name negf-graphene
level.of.stdout 1 # default=1 (1-3)
level.of.fileout 0 # default=1 (0-2)


NEGF.filename.hks.l lead-graphene.hks
NEGF.filename.hks.r lead-graphene.hks

NEGF.Num.Poles 100 # defalut=150
NEGF.scf.Kgrid 10 1 # defalut=1 1

NEGF.bias.voltage 0.0 # default=0.0 (eV)
NEGF.bias.neq.im.energy 0.01 # default=0.01 (eV)
NEGF.bias.neq.energy.step 0.02 # default=0.02 (eV)

Dos.fileout on # on|off, default=off
NEGF.Dos.energyrange -15.0 25.0 5.0e-3 #default=-10.0 10.0 5.0e-3 (eV)
NEGF.Dos.energy.div 200 # default=200
NEGF.Dos.Kgrid 600 1 # default=1 1

NEGF.tran.energydiv 100 # default=200
NEGF.tran.energyrange -7.0 7.0 1.0e-3 # default=-10.0 10.0 1.0e-3 (eV)
NEGF.tran.Kgrid 1 1 # default= 1 1


#
# Definition of Atomic Species
#

Species.Number 1
<Definition.of.Atomic.Species
C C5.0-s2p1 C_CA13
Definition.of.Atomic.Species>

#
# Atoms
#

Atoms.Number 12
Atoms.SpeciesAndCoordinates.Unit Ang # Ang|AU
<Atoms.SpeciesAndCoordinates
1 C 4.260000000 0.000000000 0.000000000 2.0 2.0
2 C 7.100000000 0.000000000 0.000000000 2.0 2.0
3 C 4.970000000 1.229750000 0.000000000 2.0 2.0
4 C 6.390000000 1.229750000 0.000000000 2.0 2.0
5 C 4.260000000 2.459510000 0.000000000 2.0 2.0
6 C 7.100000000 2.459510000 0.000000000 2.0 2.0
7 C 4.970000000 3.689270000 0.000000000 2.0 2.0
8 C 6.390000000 3.689270000 0.000000000 2.0 2.0
9 C 4.260000000 4.919020000 0.000000000 2.0 2.0
10 C 7.100000000 4.919020000 0.000000000 2.0 2.0
11 C 4.970000000 6.148780000 0.000000000 2.0 2.0
12 C 6.390000000 6.148780000 0.000000000 2.0 2.0
Atoms.SpeciesAndCoordinates>

#
# Lead-Left
#

LeftLeadAtoms.Number 12
<LeftLeadAtoms.SpeciesAndCoordinates # Unit=Ang.
1 C 0.000000000 0.000000000 0.000000000 2.0 2.0
2 C 2.840000000 0.000000000 0.000000000 2.0 2.0
3 C 0.710000000 1.229750000 0.000000000 2.0 2.0
4 C 2.130000000 1.229750000 0.000000000 2.0 2.0
5 C 0.000000000 2.459510000 0.000000000 2.0 2.0
6 C 2.840000000 2.459510000 0.000000000 2.0 2.0
7 C 0.710000000 3.689270000 0.000000000 2.0 2.0
8 C 2.130000000 3.689270000 0.000000000 2.0 2.0
9 C 0.000000000 4.919020000 0.000000000 2.0 2.0
10 C 2.840000000 4.919020000 0.000000000 2.0 2.0
11 C 0.710000000 6.148780000 0.000000000 2.0 2.0
12 C 2.130000000 6.148780000 0.000000000 2.0 2.0
LeftLeadAtoms.SpeciesAndCoordinates>


#
# Lead-Right
#

RightLeadAtoms.Number 12
<RightLeadAtoms.SpeciesAndCoordinates # Unit=Ang.
1 C 8.520000000 0.000000000 0.000000000 2.0 2.0
2 C 11.360000000 0.000000000 0.000000000 2.0 2.0
3 C 9.230000000 1.229750000 0.000000000 2.0 2.0
4 C 10.650000000 1.229750000 0.000000000 2.0 2.0
5 C 8.520000000 2.459510000 0.000000000 2.0 2.0
6 C 11.360000000 2.459510000 0.000000000 2.0 2.0
7 C 9.230000000 3.689270000 0.000000000 2.0 2.0
8 C 10.650000000 3.689270000 0.000000000 2.0 2.0
9 C 8.520000000 4.919020000 0.000000000 2.0 2.0
10 C 11.360000000 4.919020000 0.000000000 2.0 2.0
11 C 9.230000000 6.148780000 0.000000000 2.0 2.0
12 C 10.650000000 6.148780000 0.000000000 2.0 2.0
RightLeadAtoms.SpeciesAndCoordinates>

#
# SCF or Electronic System
#

scf.XcType LDA # LDA|LSDA-CA|LSDA-PW|GGA-PBE
scf.SpinPolarization off # On|Off|NC
scf.ElectronicTemperature 600.0 # default=300 (K)
scf.energycutoff 200.0 # default=150 (Ry)
scf.maxIter 200 # default=40
scf.EigenvalueSolver NEGF # DC|GDC|Cluster|Band
scf.lapack.dste dstevx # dstegr|dstedc|dstevx, default=dstegr
scf.Kgrid 1 1 1 # means n1 x n2 x n3
scf.Mixing.Type rmm-diisk # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk
scf.Init.Mixing.Weight 0.010 # default=0.30
scf.Min.Mixing.Weight 0.001 # default=0.001
scf.Max.Mixing.Weight 0.100 # default=0.40
scf.Mixing.History 40 # default=5
scf.Mixing.StartPulay 10 # default=6
scf.Kerker.factor 1.0 # default=1.0
scf.criterion 1.0e-7 # default=1.0e-6 (Hartree)

Thank you
メンテ
Page: [1]

Re: IV curve Graphene ( No.1 )
Date: 2016/12/26 17:55
Name: T. Ozaki

Hi,

I am not sure whether your calculation is relevant to physics or numerical problem.
If the cause is the latter, your problem may be solved by using the restart files.
You increase the bias voltage from 0 step by step.
So when you go to the next bias voltage, you have the restart files calculated at one step
before. Then, please use the restart file for the next calculation. At higher bias voltage,
in many cases the calculation tends to converge to a unphysical state. To avoid the situation,
one can start a proper initial guess for charge density distribution. In fact a proper guess
can be obtained by the restart files generated with the calculation at one-step before.

Regards,

TO
メンテ

Page: [1]

Title (must) Move the thread to the top
Your Name (must)
E-Mail (must)
URL
Password (used in modification of the submitted text)
Comment (must)

   Save Cookie