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/.
Returns an object to perform the Peierls and the gauge transformation on the Green's functions and on the Hamiltonians.
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:
|
- PeierlsTransformLeads
- PeierlsTransform
- gaugeTransformation
- gaugeTransformationOnLead
- setVectorPotential
- CreateClone
Peierls::PeierlsTransformLeads
Algorithm to perform the Peierls transformation in the leads.
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
Algorithm to perform Peierls transformation in Hamiltonian stored in the Way2Hamiltonian object.
object.PeierlsTransform( Way2Hamiltonian )
Parameters | |
---|---|
Way2Hamiltonian | An instance of a class CreateHamiltonians (or a derived class). |
Peierls::gaugeTransformation
Algorithm to perform gauge transformation on Green's function and/or on Hamiltonian.
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
Algorithm to perform the gauge transformation on the Hamiltonians of a lead.
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
Use to set the handle for the vector potential.
object.setVectorPotential( vectorpot )
Parameters | |
---|---|
vectorpot | The function handle of the vector potential |
Peierls::CreateClone
Creates a clone of the current object.
ret = object.CreateClone()
Return | |
---|---|
ret | The clone of the current object. |
Peierls::Peierls_transzform
Calculates the Peierls phase along the bond.
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
HandleForA = object.CreateHandleForVectorpotential()
Return | |
---|---|
HandleForA | The created function handle. |
Peierls::InputParsing
Parses the optional parameters for the class constructor.
object.InputParsing(varargin)
Parameters | |
---|---|
varargin |
Optional parameters given by a sequence ...'name', value,... . Possible parameters are:
|
- Log in to post comments