Peierls

  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 perform the Peierls and the gauge transformation on the Green's functions and on the Hamiltonians.

Class references

Syntax

object = Peierls(Opt, varargin)

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

    function handle of the vector potential $$ [Ax,Ay] = A(x,y) $$

Attributes (protected)

  • gauge

    String containing the name of the built-in gauge ('LandauX', 'LandauY').
  • eta

    The strength of the magnetic field for the built-in vector potentials.
  • Vectorpotential

    The function handle of the vector potential.
  • Methods (public)

    Methods (protected)

    Methods (private)

    Peierls::PeierlsTransformLeads

    Description

    Algorithm to perform the Peierls transformation in the leads.

    Syntax

    object.PeierlsTransformLeads( Surface_tmp, varargin )

    Parameters
    Surface_tmp An instance of a class CreateLeadHamiltonians (or a derived class)
    varargin Optional parameters given by a sequence ...'name', value,... . Currently no optional parameters are supported.



    Peierls::PeierlsTransform

    Description

    Algorithm to perform Peierls transformation in Hamiltonian stored in the Way2Hamiltonian object.

    Syntax

    object.PeierlsTransform( Way2Hamiltonian )

    Parameters
    Way2Hamiltonian An instance of a class CreateHamiltonians (or a derived class).



    Peierls::gaugeTransformation

    Description

    Algorithm to perform gauge transformation on Green's function and/or on Hamiltonian.

    Syntax

    ret = object.gaugeTransformation( mtx, coordinates, gauge_field )

    Parameters
    mtx The matrix of the Greens function or Hamiltonian to be gauge-transformed.
    coordinates A structure coordinatescontaining the coordinates of the sites.
    gauge_field A function handle of the scalar gauge field $$ e/hbar*A_new = e/hbar*A_old + grad( gauge_field ) $$.

    Return
    ret Returns with the gauge transformed matrix.



    Peierls::gaugeTransformationOnLead

    Description

    Algorithm to perform the gauge transformation on the Hamiltonians of a lead.

    Syntax

    object.gaugeTransformationOnLead( Surface_tmp, gauge_field )

    Parameters
    Surface_tmp An instance of a class CreateLeadHamiltonians (or a derived class).
    gauge_field A function handle of the scalar gauge field $$ e/hbar*A_new = e/hbar*A_old + grad( gauge_field ) $$.



    Peierls::setVectorPotential

    Description

    Use to set the handle for the vector potential.

    Syntax

    object.setVectorPotential( vectorpot )

    Parameters
    vectorpot The function handle of the vector potential



    Peierls::CreateClone

    Creates a clone of the current object.

    Syntax

    ret = object.CreateClone()


    Return
    ret The clone of the current object.



    Peierls::Peierls_transzform

    Calculates the Peierls phase along the bond.

    Syntax

    ret = object.Peierls_transzform( kezdopont,vegpont )


    Parameters
    kezdopont Coordinates ([x,y]) of the starting point.
    vegpont Coordinates ([x,y]) of the end point.

    Return
    ret The calculated Peierls phase.



    Peierls::CreateHandleForVectorpotential

    Creates function handles for in-built vector potentials

    Syntax

    HandleForA = object.CreateHandleForVectorpotential()


    Return
    HandleForA The created function handle.



    Peierls::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:
    • Vectorpotential

      The function handle of the vector potential $$ [Ax,Ay] = A(x,y) $$
    Tags: