Custom_Hamiltonians

  Copyright (C) 2016 Peter Rakyta, Ph.D., David Visontai, 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

Class to import custom Hamiltonians provided by other codes or created manually. Currently is implemented an interface to the Siesta package.

Available

EQuUs v4.8 or later

References

Syntax

interface = Custom_Hamiltonians(Opt, param, varargin)

Parameters
Opt An instance of the structure Opt.
param An instance of structure param.
varargin Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
  • EF

    The Fermi energy to be set. (overrides the one coming with the external source)

Attributes (protected)

  • H0

    Cell array storing the Hamiltonian of one slab in the leads.
  • H1

    Cell array storing the coupling between the slabs of the leads.
  • H1_transverse

    Cell array storing the transverse coupling between the unit cells of the lead.
  • Hscatter

    Hamiltonian of the scattering center.
  • Hscatter_transverse

    Transverse coupling for the scattering region.
  • Hcoupling

    Cell array storing the coupling between the leads and the scattering center.
  • S0

    Cell array storing the overlap integrals of one slab in the leads.
  • S1

    Cell array storing the overlap integrals between the slabs of the leads.
  • S1_transverse

    Cell array storing the overlap integrals for the transverse coupling between the unit cells of the lead.
  • Sscatter

    Overlap integrals of the scattering region.
  • Sscatter_transverse

    Overlap integrals for the transverse coupling in the scattering region.
  • Scoupling

    Cell array storing the overlap integrals between the scattering region and the leads.
  • coordinates

    Coordinates of the leads. An instance of structure coordinates.
  • coordinates_scatter

    Coordinates of the scattering region. An instance of structure coordinates.
  • Hamiltonians_loaded

    Logical value: true if Hamiltonians are loaded, false otherwise.
  • EF

    The Fermi energy.
  • CustomHamiltoniansHandle

    Function handle $$[H0, S0, H1, S1, H1_transverse, coordinates, Hscatter, Sscatter, coordinates_scatter, Hcoupling, Scoupling] = f( varargin )$$ for the custom Hamiltonians, with optional parameters identical to LoadHamiltonians.
  • varargin

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

Methods (public)

Methods (private)

CommonFunctions::LoadHamiltonians

Obtain the Hamiltonians from the external source.

Syntax

object.LoadHamiltonians( varargin )

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

    The transverse momentum quantum number.



CommonFunctions::Reset

Resets all elements in the object.

Syntax

object.Reset( )




CommonFunctions::Write

Description

Sets the value of an attribute in the object.

Syntax

object.Write(MemberName, input)

Parameters
MemberName The name of the attribute to be set.
input The value to be set.



CommonFunctions::Read

Description

Query for the value of an attribute in the object.

Syntax

ret = object.Read(MemberName)

Parameters
MemberName The name of the attribute.

Return
ret The value of the attribute.



CommonFunctions::Clear

Description

Clears the value of an attribute in the object.

Syntax

object.Clear(MemberName)

Parameters
MemberName The name of the attribute.



CommonFunctions::Initialize

Description

Initializes object properties.

Syntax

object.Initialize()




CommonFunctions::Siesta_Equus_interface

Description

Creates the Hamiltonians and overlap integrals from the loaded data from the Siesta package.

Syntax

object.Siesta_Equus_interface(TODO)

Parameters
TODO TODO



CommonFunctions::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:
  • EF

    The Fermi energy to be set. (overrides the one coming with the external source).