CreateHamiltonians

  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

Returns an object to create and store the Hamiltonian and geometry data of the scattering region.

Class references

Syntax

object = CreateHamiltonians( Opt, param, varargin )

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

    The tranverse momentum for transverse computations.

Attributes (protected)

  • kulso_szabfokok

    A list of the sites to be kept after decimation.
  • Hscatter

    The matrix of the Hamiltonian.
  • Hscatter_transverse

    The matrix of the Hamiltonian corresponding to the transverse coupling.
  • Sscatter

    The matrix of the overlap integrals in the Hamiltonian.
  • Sscatter_transverse

    The matrix of the overlap integrals for the transverse coupling.
  • fazis_mtx_scatter

    The matrix of the Peierls phases.
  • fazis_mtx_scatter_t

    The matrix of the Peierls phases for the transverse coupling.
  • coordinates

    An instance of the structure coordinates.
  • height

    The length of the scattering region in units of the lattice contant.
  • width

    The number of sites in the cross section.
  • M

    The number of sites in one unit cell.
  • param

    An instance of the structure param
  • HamiltoniansCreated

    A logical value. True if the Hamiltonian was created, false otherwise.
  • OverlapApplied

    A logical value. True if the overlap integrals were applied, false otherwise.
  • HamiltoniansDecimated

    A logical value. True if the Hamiltonian was decimated, or false otherwise.
  • OverlapApplied

    A logical value. True if the overlap integrals were applied, false otherwise.
  • MagneticFieldApplied

    A logical value. True if the vector potential was incorporated into the Hamiltonian or false otherwise.
  • GaugeTransformationApplied

    A logical value. True if a gauge transformation was applied on the Hamiltonians, or false otherwise.
  • q

    A transverse momentum.
  • varargin

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

Methods (public)

Methods (private)

CreateHamiltonians::CreateScatterH

Description

Creates a Hamiltonian of a finite ribbon or constructs the Hamiltonian from the unit cell provided in the class CreateLeadHamiltonians or its subclasses. The Hamiltonian and the structure containing the coordinates are stored within the class.

Syntax

object.CreateScatterH( varargin )

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



CreateHamiltonians::ApplyOverlapMatrices

Description

Applies the overlap matrices to the Hamiltonians: K = H-ES

Syntax

object.ApplyOverlapMatrices( varargin )

Parameters
E The energy value to be used in K = H-ES



CreateHamiltonians::shiftFermiEnergy

Description

Shifts the on-site energies in the Scattering region by a given energy.

Syntax

object.shiftFermiEnergy( Energy )

Parameters
Energy The energy value to be used.



CreateHamiltonians::projectHamiltonian2Spin

Description

Projects the Hamiltonian to a spin states of $s=\pm1$

Syntax

object.projectHamiltonian2Spin( s )

Parameters
s The quantum index of the spin (\pm1)



CreateHamiltonians::Reset

Resets all elements in the object.

Syntax

object.Reset( )




CreateHamiltonians::CreateClone

Description

Creates a clone of the current object.

Syntax

ret = object.CreateClone()

Return varargin Optional parameters given by a sequence ...'name', value,... . Possible parameters are the following:
Return
ret An instance of interface CreateLeadHamiltonians.



CreateHamiltonians::saveScatter

Description

Saves the Hamiltonian and other data of the scattering region

Syntax

object.saveScatter( filename )

Paremeters
filename The string containing the path to the file. (In octave use absolute paths only)



CreateHamiltonians::loadScatter

Description

Loads the Hamiltonian and other data of the scattering region.

Syntax

object.loadScatter( filename )

Paremeters
filename The string containing the path to the file. (In octave use absolute paths only)



CreateHamiltonians::Reset

Description

Resets all attributes in the object.

Syntax

object.Reset()




CreateHamiltonians::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.



CreateHamiltonians::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.



CreateHamiltonians::Clear

Description

Clears the value of an attribute in the object.

Syntax

object.Clear(MemberName)

Parameters
MemberName The name of the attribute.






CreateHamiltonians::Initialize

Description

Initializes object attributes.

Syntax

object.Initialize(MemberName)




CreateHamiltonians::queryHamiltonians

Description

Obtains Hamiltonians from external source.

Syntax

object.queryHamiltonians( cCustom_Hamiltonians )

Parameters
cCustom_Hamiltonians An instance of class Custom_Hamiltonians for external source of Hamiltonians.



CreateHamiltonians::Transforms2BdG

Description

Transforms the Hamiltonians into a Bogoliubov de Gennes model.

Syntax

object.Transforms2BdG()




CreateHamiltonians::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:
  • q

    The transverse momentum quantum number.