Favago Transport Programming Interface

Introduction

Interfaces

root/

root/utils

Data structures

Examples







CreateHamiltonians

  Copyright (C) 2009-2015 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 providing interface to create and store the Hamiltonian and geometry data of the scattering region.

Syntax

object = CreateHamiltonians( Opt, param )

Parameters
Opt Stucture containing the computational parameters. The required fields of the structure are the following:
  • Lattice_Type

    The supported lattice type ('H' for graphene, 'Silicene' for silicene, 'S' for square lattice)
See more details about the data structure here.
param Structure containing the physical parameters of the scattering region. The required fields are specified in tructure scatter_param.
varargin Optional parameters given by a sequence ...'name', value,... . Possible parameter names are the following:
  • q

    The tranverse momentum for transverse computations.

Attributes

Methods

CreateHamiltonians::CreateScatterH

Creates a Hamiltonian of a finite ribbon on hexagonal lattice or construct the Hamiltonian from the unit cell provided in the interface Surface_tmp. 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::saveScatter

Description

Saves the attributes of the present interface into a file.

Syntax

object.saveScatter( filename )

Parameters
filename A string containing the filename. If not given, "Hscatter.mat" is used instead.






CreateHamiltonians::loadScatter

Description

Load the attributes from a given file.

Syntax

object.loadScatter( filename )

Parameters
filename A string containing the filename. If not given, "Hscatter.mat" is used instead.






CreateHamiltonians::projectHamiltonian2Spin

Description

Projects the Hamiltonian to the spin space of $$s=\pm1$$.

Syntax

object.projectHamiltonian2Spin( s )

Parameters
s Set 1 for spin up or -1 for spin down states






CreateHamiltonians::MemberWrite

Sets the value of an attribute.
Syntax

object.MemberWrite(MemberName, input)

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






CreateHamiltonians::MemberRead

Description
Reads the value of an attribute in the interface.
Syntax

ret = object.MemberRead(MemberName)

Parameters
MemberName The name of the attribute.

Return
ret The value of the attribute.






CreateHamiltonians::MemberClear

Description
Clears the value of an attribute in the interface.
Syntax

object.MemberClear(MemberName)

Parameters
MemberName The name of the attribute.






CreateHamiltonians::CreateClone

Creates a clone of the current interface.

Syntax

interface = interface.CreateClone()


Return
interface An instance of interface CreateHamiltonians.