DOS

  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

A class to calculate the density of states along a one-dimensional energy array.

Usage Examples

  • ASAP

    Calculates the density of states.....

Class references

Syntax

object = DOS( 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 (public)

  • DOSdata

    An instance of structure DOS containing the calculated density of states.

Methods (public)

Methods (protected)

DOS::DOSCalc

Calculates the onsite density using the method in Nanotechnology 25 (2014), 465201

Syntax

object.DOSCalc( Evec, varargin )

Parameters
Evec An array containing the energy values
varargin Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
  • JustScatter

    logical value. True if only an isolated scattering center should be considered in the calculations, false (default) otherwise.




DOS::complexSpectral

Calculates the spectral function at a complex energy

Syntax

[spectral_function, junction_sites] = object.complexSpectral( junction_loc, JustScatter)

Parameters
junction_loc An instance of class NTerminal or its subclass describing the junction.
JustScatter Logical value. True if only an isolated scattering center should be considered in the calculations, false otherwise.


Return
spectral_function An array of the calculated spectral function.
junction_sites structure describing the geometry of the sites.




DOS::create_Hamiltonians

Creates the Hamiltonians of the system

Syntax

object.create_Hamiltonians( varargin )

Parameters
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.)




DOS::create_scatter

Creates the Hamiltonian of the scattering center

Syntax

object.create_scatter( ribbon_loc )

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

    logical value: true (default) to perform gauge transformation on the Green's function and Hamiltonians, or false otherwise.
  • junction

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




DOS::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).