UtilsBase

  Copyright (C) 2009-2016 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/.

Description

Base class for several classes in the utils. This class is a base class containing common properties and methods.

Class references

Syntax

object = UtilsBase( varargin )

Parameters
varargin Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
  • junction

    An instance of an object NTerminal or its subclass describing the junction.
  • T

    The absolute temperature in Kelvins.
  • useSelfEnergy

    Logical value. Set true (default) to solve the Dyson equation with the self energies of the leads, or false to use the surface Green operators.
  • scatterPotential

    A function handle $$y=f( coordinates )$$ (or $$y=f( CreateH, E )$$ ) of the potential across the junction in case gfininvfromHamiltonian is true.
  • gfininvfromHamiltonian

    Set true to calculte the Green's function of the scattering region from the Hamiltonian, or false (default) to use the fast method instead (see PRB 93, 224510 (2016) for details).

Attributes

  • junction

    An instance of class NTerminal or its subclass representing the junction.
  • useSelfEenrgy

    Logical value. Set true for using the self-energy construction in the Dyson equation, or false to use the surface Greens functions instead.
  • BandWidth

    An instance of the structure BandWidth storing the integration limits.
  • scatterPotential

    A function handle $$y=f( coordinates )$$ (or $$y=f( CreateH, E )$$ ) of the potential across the junction in case gfininvfromHamiltonian is true.
  • varargin

    list of optional parameters (see http://www.mathworks.com/help/matlab/ref/varargin.html for details).
  • gfininvfromHamiltonian

    Set true to calculte the Green's function of the scattering region from the Hamiltonian, or false (default) to use the fast method instead (see PRB 93, 224510 (2016) for details).

Methods (public)

Methods (private)

UtilsBase::SetEnergy

Sets the energy to be used in the calculations.

Syntax

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:
  • junction

    An instance of class NTerminal or its subclass representing the junction. (If not given junction is used by default.)




UtilsBase::InputParsing

Description

Parses the optional parameters for the class constructor.

Syntax

object.InputParsing(varargin)

Parameters
varargin Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
  • junction

    An instance of an object NTerminal or its subclass describing the junction.
  • T

    The absolute temperature in Kelvins.
  • useSelfEnergy

    Logical value. Set true (default) to solve the Dyson equation with the self energies of the leads, or false to use the surface Green operators.
  • scatterPotential

    A function handle $$y=f( coordinates )$$ (or $$y=f( CreateH, E )$$ ) of the potential across the junction in case gfininvfromHamiltonian is true.
  • gfininvfromHamiltonian

    Set true to calculte the Green's function of the scattering region from the Hamiltonian, or false (default) to use the fast method instead (see PRB 93, 224510 (2016) for details).