IV
Copyright (C) 2016-2017 Peter Rakyta, Ph.D.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
A class to calculate the I-V curve for a two terminal setup, based on the non-equilibrium Greens function technique Eur. Phys. J. B 53, 537-549 (2006)
- Calculates the differential conductance and the IV curve through a square lattice. Example taken from Eur. Phys. J. B 53, 537-549 (2006).
interface = IV( varargin )
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
|
- The chemical potential in the left lead.
- The chemical potential in the right lead.
- An instance of class TwoTerminal or it's subclass.
- Logical value. Set true for using the self-energy construction in the Dyson equation, or false to use the surface Greens functions instead.
- A function handle $$y=f( coordinates)$$ of the potential in the junction in case gfininvfromHamiltonian is true.
- A function handle $$y=f( coordinates)$$ of the contact potential in the interface regions.
- Set true for calculate the Green's function of the scattering region from Hamiltonian, or false (default) to use the Dyson Equation (see RB 93, 224510 (2016) for details).
IV::IVcalc
Calculates the current-voltage relation as a function of the bias.
[current, bias, DifferentialConductance_vec] = object.IVcalc( varargin )
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
|
Return | |
---|---|
current | The calculated current in units of $$e^2U_0/\hbar$$. (with $$U_0$$ standing for the maximal bias in units of eV.) |
bias | The applied bias in units of eV. |
DifferentialConductance_vec | The differential conductance. |
IV::currentcalc
Calculates the current by integrating the differential conductance in a bias window.
current = object.currentcalc( differentialConductance, Evec, tuned_contact )
Parameters | |
---|---|
differentialConductance | Array of differential conductances. |
Evec | An array of energy values. |
tuned_contact | String value. Identifies the tuned contact for the calculations. Possible values are: right, left, symmetric. |
Return | |
---|---|
current | An array of the calculated current corresponding to the bias window defined by Evec. |
IV::create_scatter_GreensFunction
Calculates the surface Green operator of the scattering region.
object.create_scatter_GreensFunction( varargin )
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
|
IV::setEnergy
Sets the energy to be used in the calculations.
object.setEnergy( newE, varargin )
Parameters | |
---|---|
newE | The value of the energy in the same units as the Hamiltonian. |
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
|
IV::DifferentialConductanceT0
Calculates the zero temperature differential conductance for a given energy.
ret = object.DifferentialConductanceT0( Energy, cTwoTerminal_loc )
Parameters | |
---|---|
Energy | The value of the energy in the same units as the Hamiltonian. |
cTwoTerminal_loc | An instance of class TwoTerminal or it's subclass storing the Hamiltonians and responsible for evaluating the Dyson equation. |
Returns | |
---|---|
ret | The calculated differential conductance |
IV::CreateEnergyArray
Creates the array of energy values for the integration.
Evec = object.CreateEnergyArray( varargin )
Parameters | |
---|---|
Energy | The value of the energy in the same units as the Hamiltonian. |
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
|
Returns | |
---|---|
Evec | The energy points used in the intagration. |
IV::InputParsing
Parses the optional parameters for the class constructor.
object.InputParsing(varargin)
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
- Log in to post comments