Eötvös Quantum Utilities
v4.9.146
Providing the Horsepowers in the Quantum Realm
|
A class describing an N-terminal geometry for steady state non-equilibrium calculations. More...
Public Member Functions | |
function | ApplyPotentialInScatter (CreateH, scatterPotential) |
Applies the potential in the scattering region. More... | |
function | CalcFiniteGreensFunction (varargin) |
Calculates the Green operator of the scattering region. More... | |
function | CalcFiniteGreensFunctionFromHamiltonian (varargin) |
Calculates the Green operator of the scattering region from the whole Hamiltonian. More... | |
function | CalcSpectralFunction (Energy, varargin) |
Calculates the spectral density and the Green operator. More... | |
function | CreateClone () |
Creates a clone of the present object. More... | |
function | CreateInterface (idx) |
Creates the Hamiltonians for the interface regions between the leads and scattering center. More... | |
function | CreateScatter () |
Creates an instance of class CreateHamiltonians for storing and manipulate the Hamiltonian of the the scattering region. The created object is stored in attribute CreateH. More... | |
function | CustomDysonFunc (varargin) |
Custom Dyson function for a two terminal arrangement on a two dimensional lattice. More... | |
function | DecimationFunction (kulso_szabfokok, ginv, varargin) |
calculate the inverse Greens function More... | |
function | diagInv (A) |
Calculates the diagonal part of the inverse of a sparse matrix. More... | |
function | display (message, nosilent) |
Displays output messages on the screen. More... | |
function | eig (A, B) |
Calculates the generalized eigenvalue problem based on the zggev and dggev LAPACK functions. More... | |
function | Fermi (E) |
A function of the Fermi-Dirac statistics. More... | |
function | getCoordinates () |
Gets the coordinates of the central region. More... | |
function | getEnergy () |
Retrives the energy value (attribute E) used in the calculations. More... | |
function | getFermiEnergy () |
Retrives the Fermi level (attribute EF) used in the calculations. More... | |
function | GetFiniteGreensFunction () |
Query fo the calculated Green operator of the scattering center. More... | |
function | getOpt () |
Retrives the structure containing the calculation parameters. More... | |
function | getParam () |
Retrives a copy of the structure param used in the current calculations. More... | |
function | getProgramName () |
Gets the name of the package. More... | |
function | getProgramShortName () |
Gets the short name of the package. More... | |
function | getTransverseMomentum () |
Retrives the value of the transverse momentum quantum number. More... | |
function | getVersion () |
Gets the current version of the package. More... | |
function | IsDeployedMKL () |
Checks whether the MKL component is deployed. More... | |
function | LesserGreenFunction (varargin) |
Calculates the lesser Green function projected to the surface sites of the central device and the interface regions for eregy given E. More... | |
function | NTerminal_Keldysh (varargin) |
Constructor of the class. More... | |
function | partialInv (A, sizeInv) |
Calculates a partial inverse of a sparse matrix. More... | |
function | setEnergy (Energy) |
Sets the energy for the calculations. More... | |
function | setHandlesForMagneticField (varargin) |
Sets the function handles of the vector potential and gauge transformation. More... | |
function | setInterfaceRegions (Interface_Regions) |
Replaces the attribute Interface_Region with the given value. More... | |
function | setParam (param) |
cloning the individual attributes More... | |
function | setTemperature (T) |
Sets the temperature in the calculations. More... | |
function | Transport (Energy, varargin) |
Calculates the transport through the two terminal setup. More... | |
function | xmlread (filename) |
Function to load XML files (based on xerces libraries), providing octave compatibility. More... | |
function | xmlwrite (filename, DOM) |
Function to export XML files (based on xerces libraries), providing octave compatibility. More... | |
Static Public Member Functions | |
static function | BadInputType (variable, type) |
Throws a "bad input type" warning, with using the default value. More... | |
static function | BadInputTypeNoDefault (variable, type) |
Throws a "bad input type" warning without setting it to default. More... | |
static function | checkMEXfile (fncname) |
Checks the presence of a given MEX file. More... | |
static function | ExceedIteration () |
Throws an "iteration exceeded" warning. More... | |
static function | inv_SVD (A) |
Inverts badly conditioned matrix A with SVD regularization. More... | |
static function | isOctave () |
Checks whether the running environment is matlab or octave. More... | |
static function | SimphsonInt (y, h) |
Simphson integral: y is a vector of function values at equal distant points: y_i = f(x_i), x_i-x_{i-1}=h. More... | |
Public Attributes | |
Property | cCustom_Hamiltonians |
An instance of class Custom_Hamiltonians to load the Hamiltonians from external source. More... | |
Property | CreateH |
An instance of class CreateHamiltonians or its subclass to manipulate the Hamiltonian of the scattering region. More... | |
Property | filenameIn |
Input filename containing the computational parameters. (Obsolete) More... | |
Property | filenameOut |
Output filename to export the computational parameters. More... | |
Property | FL_handles |
An instance of class Transport_Interface (or its subclass) for transport calculations. More... | |
Property | gauge_field |
Function handle S = f( x,y) of the gauge transformation in the scattering center. (S is a N x 1 vector, where N is the number of the points given by the x and y coordinates.) More... | |
Property | Interface_Regions |
A cell array of classes InterfaceRegion to describe the interface region between the leads and the scattering region. More... | |
Property | interfacemodel |
function handle for individual physical model of the interface regions More... | |
Property | leadmodel |
function handle for individual physical model of the leads More... | |
Property | PeierlsTransform_Leads |
An instance of class Peierls object to describe the peirls substitution in the leads. More... | |
Property | PeierlsTransform_Scatter |
An instance of class Peierls object to describe the peirls substitution in the scattering region. More... | |
Property | silent |
if true, no output messages are print More... | |
Property | WorkingDir |
A string of the working directory. More... | |
Protected Member Functions | |
function | CreateHandles () |
Initializes the attributes of the class. More... | |
function | CreateNTerminalHamiltonians () |
calculating the potential if the scattering potential has one input arguments obtaining coordinates of the scattering region More... | |
function | InputParsing (varargin) |
Parses the optional parameters for the class constructor. More... | |
Protected Attributes | |
Property | beta |
More... | |
Property | bias_leads |
An array containing the bias of the leads in the same unit as other energy scales in the Hamiltonians. More... | |
Property | CustomHamiltoniansHandle |
Function handle to create custom Hamiltonians. Has the same inputs ans outputs as Custom_Hamiltonians.LoadHamiltonians. More... | |
Property | DeployedMKL |
True if MKL component is built, false otherwise. More... | |
Property | E |
The energy used in the calculations. More... | |
Property | EF |
The Fermi energy. Attribute E is measured from this value. (Use for equilibrium calculations in the zero temperature limit.) More... | |
Property | G |
Green operator of the scattering region. More... | |
Property | Ginv |
The inverse of the Green operator G. More... | |
Property | k_B |
Boltzmann constant in eV/K. More... | |
Property | lesserG |
Lesser Green operator projected onto the scattering region. More... | |
Property | MaxSize |
Maximal size of full matrixes to be handled. More... | |
Property | mu |
The Chemical potential in the same unit as other energy scales in the Hamiltonians. More... | |
Property | Opt |
An instance of structure Opt. More... | |
Property | param |
An instance of strucutre param. More... | |
Property | ProgramName |
Name of the package. More... | |
Property | ProgramShortName |
Short name of the package. More... | |
Property | q |
The transverse momentum quantum number. More... | |
Property | T |
The temperature in Kelvin. More... | |
Property | T_treshold |
treshold temperature (makes difference between T=0 and T>0) More... | |
Property | version |
The current version of the package. More... | |
A class describing an N-terminal geometry for steady state non-equilibrium calculations.
EQuUs v4.9 or later
The drawing represents a two-terminal structure made of two leads, of a scattering region and of two interface regions between the leads and scattering center. However, additional lead can be added to the structure. Each rectangle describes a unit cell including singular and non-singular sites. The scattering center is, on the other hand, represented by a larger rectangle corresponding to the Hamiltonian of the scattering region. Arrows indicate the hopping direction stored by the attributes in the corresponding classes (see attributes CreateLeadHamiltonians.H1 and InterfaceRegion.Hcoupling for details). The orientation of the lead is +1 if the lead is terminated by the interface region in the positive direction, and -1 if the lead is terminated by the interface region in the negative direction. (see attribute CreateLeadHamiltonians.Lead_Orientation for details)
Definition at line 38 of file NTerminal_Keldysh.m.
function NTerminal_Keldysh::NTerminal_Keldysh | ( | varargin | ) |
Constructor of the class.
varargin | Cell array of optional parameters. For details see InputParsing. |
Applies the potential in the scattering region.
CreateH | An instance of class CreateHamiltonians containing the Hamiltonian of the scattering center. |
scatterPotential | A function handle pot=f( #coordinates ) or pot=f( CreateHamiltonians, Energy) for the potential to be applied in the Hamiltonian (used when FiniteGreensFunctionFromHamiltonian=true). |
|
staticinherited |
Throws a "bad input type" warning, with using the default value.
variable | A string conatining the name of the variable. |
type | A string describing the desired type. |
|
staticinherited |
Throws a "bad input type" warning without setting it to default.
variable | A string conatining the name of the variable. |
type | A string describing the desired type. |
|
inherited |
Calculates the Green operator of the scattering region.
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'gauge_trans' | Logical value. Set true to perform gauge transformation on the Green operator and on the Hamiltonians. |
'onlyGinv' | Logical value. Set true to calculate only the inverse of the surface Greens function Ginv, or false (default) to calculate G as well. In the latter case the attribute Ginv is set to empty at the end. |
|
inherited |
Calculates the Green operator of the scattering region from the whole Hamiltonian.
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'gauge_trans' | Logical value. Set true to perform gauge transformation on the Green operator and on the Hamiltonians. |
'onlyGinv' | Logical value. Set true to calculate only the inverse of the surface Greens function Ginv, or false (default) to calculate G as well. In the latter case the attribute Ginv is set to empty at the end. |
'PotInScatter' | Obsolete parameter. Use 'scatterPotential' instead. |
'scatterPotential' | A function handle pot=f( #coordinates ) or pot=f( CreateHamiltonians, Energy) for the potential to be applied in the Hamiltonian (used when FiniteGreensFunctionFromHamiltonian=true). |
|
inherited |
Calculates the spectral density and the Green operator.
Energy | The energy value. |
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'constant_channels' | Logical value. Set true (default) to keep constant the number of the open channels in the leads for each energy value, or false otherwise. |
'gfininvfromHamiltonian' | Logical value. Set true calculate the surface Greens function of the scattering region from the Hamiltonaian of the scattering region, or false (default) to calculate it by the fast way (see Phys. Rev. B 90, 125428 (2014) for details). |
'decimateDyson' | Logical value. Set true (default) to decimate the sites of the scattering region in the Dyson equation. |
'PotInScatter' | Obsolete parameter. Use 'scatterPotential' instead. |
'scatterPotential' | A function handle pot=f( #coordinates ) or pot=f( CreateHamiltonians, Energy) for the potential to be applied in the Hamiltonian (used when FiniteGreensFunctionFromHamiltonian=true). |
'selfEnergy' | Logical value. Set true to use the self energies of the leads in the Dyson equation, or false (default) to use the surface Green function instead. |
|
staticinherited |
Checks the presence of a given MEX file.
fncname | The name of the function. |
|
inherited |
Creates a clone of the present object.
|
protected |
Initializes the attributes of the class.
|
inherited |
Creates the Hamiltonians for the interface regions between the leads and scattering center.
idx | Identification number of the interface region. |
|
protectedinherited |
calculating the potential if the scattering potential has one input arguments obtaining coordinates of the scattering region
calculating the potential from the coordinates calculating the potential if the scattering potential has two input arguments obtaining coordinates of the scattering region that might have been changed inside the scatterPotential function Extracts the Hamiltonians from the external source.
|
inherited |
Creates an instance of class CreateHamiltonians for storing and manipulate the Hamiltonian of the the scattering region. The created object is stored in attribute CreateH.
function NTerminal_Keldysh::CustomDysonFunc | ( | varargin | ) |
Custom Dyson function for a two terminal arrangement on a two dimensional lattice.
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'gfininv' | The inverse of the Greens function of the scattering region. For default the inverse of the attribute G is used. |
'constant_channels' | Logical value. Set true (default) to keep constant the number of the open channels in the leads for each energy value, or false otherwise. |
'onlyGinverz' | Logical value. Set true to calculate only the inverse of the total Green operator, or false (default) to calculate G as well. |
'recalculateSurface' | A vector of the identification numbers of the lead surfaces to be recalculated. |
'decimate' | Logical value. Set true (default) to eliminate all inner sites in the Greens function and keep only the selected sites. Set false to omit the decimation procedure. |
'kulso_szabfokok' | Array of sites to be kept after the decimation procedure. (Use parameter 'keep_sites' instead) |
'selfEnergy' | Logical value. Set true to use the self energies of the leads in the Dyson equation, or false (default) to use the surface Green function instead. |
'keep_sites' | Name of sites to be kept in the resulted Green function (Possible values are: 'scatter', 'interface', 'lead'). |
|
inherited |
calculate the inverse Greens function
getting dimensions Performs the decimation procedure on the inverse Green operator.
kulso_szabfokok | Array of sites to be kept after the decimation. |
ginv | The inverse of the Green operator. |
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'coordinates' | An instance of the structure #coordinates containing the coordinates of the sites. |
|
inherited |
Calculates the diagonal part of the inverse of a sparse matrix.
If MKL component is advised to build.
A | A sparse matrix to be inverted |
|
inherited |
Displays output messages on the screen.
message | String containing the message to be displayed |
nosilent | Set true to override the silent option given in Opt.Silent. |
|
inherited |
Calculates the generalized eigenvalue problem based on the zggev and dggev LAPACK functions.
A | A square matrix on the left side. |
B | A square matrix on the right side. |
|
staticinherited |
Throws an "iteration exceeded" warning.
|
inherited |
A function of the Fermi-Dirac statistics.
E | The energy value in eV (scalar or an array of energy values). |
|
inherited |
Gets the coordinates of the central region.
|
inherited |
Retrives the energy value (attribute E) used in the calculations.
|
inherited |
Retrives the Fermi level (attribute EF) used in the calculations.
|
inherited |
Query fo the calculated Green operator of the scattering center.
|
inherited |
Retrives the structure containing the calculation parameters.
|
inherited |
|
inherited |
Gets the name of the package.
|
inherited |
Gets the short name of the package.
|
inherited |
Retrives the value of the transverse momentum quantum number.
|
inherited |
Gets the current version of the package.
|
protected |
Parses the optional parameters for the class constructor.
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'filenameIn' | The input filename containing the computational parameters. (Use parameters 'Op' and 'param' instead) |
'filenameOut' | The output filename to export the computational parameters. |
'WorkingDir' | The absolute path to the working directoy. |
'CustomHamiltoniansHandle' | function handle for the custom Hamiltonians. Has the same inputs as Custom_Hamiltonians.LoadHamiltonians and output values defined by the example Hamiltonians. |
'E' | The energy value used in the calculations (in the same units as the Hamiltonian). |
'EF' | The Fermi energy in the same units as the Hamiltonian. Attribute E is measured from this value. (Use for equilibrium calculations in the zero temperature limit. Overrides the one comming from the external source) |
'silent' | Set true to suppress output messages. |
'leadmodel' | A function handle Lead=f( idx, E, varargin ) of the alternative lead model with equivalent inputs and return values as Transport_Interface.SurfaceGreenFunctionCalculator and with E standing for the energy. |
'interfacemodel' | A function handle f( InterfaceRegion ) to manually adjus the interface regions. (Usefull when 'leadmodel' is also given. For example see @InterfaceModel) |
'Opt' | An instance of the structure Opt. |
'param' | An instance of the structure param. |
'q' | The transverse momentum quantum number. |
'T' | The absolute temperature in Kelvins. |
'mu' | The Chemical potential in the same unit as other energy scales in the Hamiltonians. |
'mu_leads' | An array containing the chemical potentials of the leads in the same unit as other energy scales in the Hamiltonians. |
|
staticinherited |
Inverts badly conditioned matrix A with SVD regularization.
A | A square matrix to be inverted. |
|
inherited |
Checks whether the MKL component is deployed.
|
staticinherited |
Checks whether the running environment is matlab or octave.
function NTerminal_Keldysh::LesserGreenFunction | ( | varargin | ) |
Calculates the lesser Green function projected to the surface sites of the central device and the interface regions for eregy given E.
(Surface sites of the central device are directly connected to the interface regions.) The calculated Green function is stored by attributes lesserG and #lesserGinv.
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'gfininv' | The inverse of the Greens function of the scattering region. For default the inverse of the attribute G is used. |
'constant_channels' | Logical value. Set true (default) to keep constant the number of the open channels in the leads for each energy value, or false otherwise. |
'recalculateSurface' | A vector of the identification numbers of the lead surfaces to be recalculated. |
|
inherited |
Calculates a partial inverse of a sparse matrix.
If MKL component is not developed, the backslash operator is used insted.
A | A sparse matrix to be inverted |
sizeInv | The size of partial inverse to be calculated. |
function NTerminal_Keldysh::setEnergy | ( | Energy | ) |
Sets the energy for the calculations.
Energy | The value of the energy in the same units as the Hamiltonian. |
|
inherited |
Sets the function handles of the vector potential and gauge transformation.
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'scatter' | Function handle A = f( x,y) of the vector potential to be used in the scattering region (A is a N x 2 vector, where N is the number of the points given by the x and y coordinates.) |
'lead' | Function handle A = f( x,y) of the vector potential to be used in the leads. (A is a N x 2 vector, where N is the number of the points given by the x and y coordinates.) |
'gauge_field' | Function handle S = f( x,y) of the gauge transformation. (S is a N x 1 vector, where N is the number of the points given by the x and y coordinates.) |
|
inherited |
Replaces the attribute Interface_Region with the given value.
Interface_Regions | A two component array of classes InterfaceRegion |
Sets the temperature in the calculations.
T | The value of the temperature in Kelvins. |
|
staticinherited |
Simphson integral: y is a vector of function values at equal distant points: y_i = f(x_i), x_i-x_{i-1}=h.
y | Function values to be integrated |
h | Increment between the x_i points. |
|
inherited |
Calculates the transport through the two terminal setup.
Use for development pupose only.
Energy | The energy value. |
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'constant_channels' | Logical value. Set true (default) to keep constant the number of the open channels in the leads for each energy value, or false otherwise. |
'gfininvfromHamiltonian' | Logical value. Set true calculate the surface Greens function of the scattering region from the Hamiltonaian of the scattering region, or false (default) to calculate it by the fast way (see Phys. Rev. B 90, 125428 (2014) for details). |
'decimateDyson' | Logical value. Set true (default) to decimate the sites of the scattering region in the Dyson equation. |
'PotInScatter' | Obsolete parameter. Use 'scatterPotential' instead. |
'scatterPotential' | A function handle pot=f( #coordinates ) or pot=f( CreateHamiltonians, Energy) for the potential to be applied in the Hamiltonian (used when FiniteGreensFunctionFromHamiltonian=true). |
'selfEnergy' | Logical value. Set true to use the self energies of the leads in the Dyson equation, or false (default) to use the surface Green function instead. |
|
inherited |
Function to load XML files (based on xerces libraries), providing octave compatibility.
filename | Absolute path to the file to be opened. (In matlab relative path is sufficient) |
|
inherited |
Function to export XML files (based on xerces libraries), providing octave compatibility.
filename | Absolute path to the file to be opened. (In matlab relative path is sufficient) |
DOM | The loaded document object model (see http://www.mathworks.com/help/matlab/ref/xmlread.html#outputarg_DOMnode for details.) |
|
protectedinherited |
Definition at line 38 of file FermiDirac.m.
|
protected |
An array containing the bias of the leads in the same unit as other energy scales in the Hamiltonians.
Definition at line 45 of file NTerminal_Keldysh.m.
|
inherited |
An instance of class Custom_Hamiltonians to load the Hamiltonians from external source.
Definition at line 104 of file NTerminal.m.
|
inherited |
An instance of class CreateHamiltonians or its subclass to manipulate the Hamiltonian of the scattering region.
Definition at line 71 of file NTerminal.m.
|
protectedinherited |
Function handle to create custom Hamiltonians. Has the same inputs ans outputs as Custom_Hamiltonians.LoadHamiltonians.
Definition at line 64 of file NTerminal.m.
|
protectedinherited |
True if MKL component is built, false otherwise.
Definition at line 32 of file CommonFunctions.m.
|
protectedinherited |
The energy used in the calculations.
Definition at line 55 of file NTerminal.m.
|
protectedinherited |
The Fermi energy. Attribute E is measured from this value. (Use for equilibrium calculations in the zero temperature limit.)
Definition at line 58 of file NTerminal.m.
|
inherited |
Input filename containing the computational parameters. (Obsolete)
Definition at line 95 of file NTerminal.m.
|
inherited |
Output filename to export the computational parameters.
Definition at line 98 of file NTerminal.m.
|
inherited |
An instance of class Transport_Interface (or its subclass) for transport calculations.
Definition at line 74 of file NTerminal.m.
|
protectedinherited |
Green operator of the scattering region.
Definition at line 49 of file NTerminal.m.
|
inherited |
Function handle S = f( x,y) of the gauge transformation in the scattering center. (S is a N x 1 vector, where N is the number of the points given by the x and y coordinates.)
Definition at line 86 of file NTerminal.m.
|
protectedinherited |
The inverse of the Green operator G.
Definition at line 52 of file NTerminal.m.
|
inherited |
A cell array of classes InterfaceRegion to describe the interface region between the leads and the scattering region.
Definition at line 77 of file NTerminal.m.
|
inherited |
function handle for individual physical model of the interface regions
Definition at line 92 of file NTerminal.m.
|
protectedinherited |
Boltzmann constant in eV/K.
Definition at line 32 of file FermiDirac.m.
|
inherited |
function handle for individual physical model of the leads
Definition at line 89 of file NTerminal.m.
|
protected |
Lesser Green operator projected onto the scattering region.
Definition at line 48 of file NTerminal_Keldysh.m.
|
protectedinherited |
Maximal size of full matrixes to be handled.
Definition at line 44 of file CommonFunctions.m.
|
protectedinherited |
The Chemical potential in the same unit as other energy scales in the Hamiltonians.
Definition at line 44 of file FermiDirac.m.
|
protectedinherited |
An instance of structure Opt.
Definition at line 31 of file Messages.m.
|
protectedinherited |
An instance of strucutre param.
Definition at line 46 of file NTerminal.m.
|
inherited |
An instance of class Peierls object to describe the peirls substitution in the leads.
Definition at line 83 of file NTerminal.m.
|
inherited |
An instance of class Peierls object to describe the peirls substitution in the scattering region.
Definition at line 80 of file NTerminal.m.
|
protectedinherited |
Name of the package.
Definition at line 38 of file CommonFunctions.m.
|
protectedinherited |
Short name of the package.
Definition at line 41 of file CommonFunctions.m.
|
protectedinherited |
The transverse momentum quantum number.
Definition at line 61 of file NTerminal.m.
|
inherited |
if true, no output messages are print
Definition at line 107 of file NTerminal.m.
|
protectedinherited |
The temperature in Kelvin.
Definition at line 35 of file FermiDirac.m.
|
protectedinherited |
treshold temperature (makes difference between T=0 and T>0)
Definition at line 41 of file FermiDirac.m.
|
protectedinherited |
The current version of the package.
Definition at line 35 of file CommonFunctions.m.
|
inherited |
A string of the working directory.
Definition at line 101 of file NTerminal.m.