An example to calculate the DC current at a non-equilibrium normal-superconductor interface.
More...
|
function | createCurrentOperator (varargin) |
| Calculates the charge current operator from the inverse of the Greens function of the scattering region. More...
|
|
function | createCurrentOperators (varargin) |
| Determines the charge current operator between the scattering region and the interface regions. More...
|
|
function | Current_NEGF (Opt, varargin) |
| Constructor of the class. More...
|
|
function | CurrentCalc_continuum (DeltaPhi_vec, varargin) |
| Calculates the Josephson current of the continous scattering states. More...
|
|
function | CurrentCalc_discrete (DeltaPhi_vec, varargin) |
| Calculates the Josephson current using the method in PRB 93, 224510 (2016) 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 | getBandWidth () |
| Determines the band width of the leads and of the scattering region. More...
|
|
function | getOpt () |
| Retrives the structure containing the calculation parameters. More...
|
|
function | getProgramName () |
| Gets the name of the package. More...
|
|
function | getProgramShortName () |
| Gets the short name of the package. More...
|
|
function | getVersion () |
| Gets the current version of the package. More...
|
|
function | IsDeployedMKL () |
| Checks whether the MKL component is deployed. More...
|
|
function | partialInv (A, sizeInv) |
| Calculates a partial inverse of a sparse matrix. More...
|
|
function | SetEnergy (newE, varargin) |
| Sets the energy for the calculations. More...
|
|
function | setTemperature (T) |
| Sets the temperature for the calculations. 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 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...
|
|
An example to calculate the DC current at a non-equilibrium normal-superconductor interface.
Definition at line 23 of file Current_NEGF.m.
◆ Current_NEGF()
Constructor of the class.
- Parameters
-
Opt | An instance of the structure Opt. |
varargin | Cell array of optional parameters. For details see InputParsing. |
- Returns
- An instance of the class
◆ BadInputType()
static function Messages::BadInputType |
( |
variable |
, |
|
|
type |
|
|
) |
| |
|
staticinherited |
Throws a "bad input type" warning, with using the default value.
- Parameters
-
variable | A string conatining the name of the variable. |
type | A string describing the desired type. |
◆ BadInputTypeNoDefault()
static function Messages::BadInputTypeNoDefault |
( |
variable |
, |
|
|
type |
|
|
) |
| |
|
staticinherited |
Throws a "bad input type" warning without setting it to default.
- Parameters
-
variable | A string conatining the name of the variable. |
type | A string describing the desired type. |
◆ checkMEXfile()
static function CommonFunctions::checkMEXfile |
( |
fncname |
| ) |
|
|
staticinherited |
Checks the presence of a given MEX file.
- Parameters
-
fncname | The name of the function. |
- Returns
- Returns true if the MEX file is present, false otherwise.
◆ create_scatter_GreensFunction()
function SNSJosephson::create_scatter_GreensFunction |
( |
varargin |
| ) |
|
|
protectedinherited |
Calculates the surface Green operator of the scattering region.
The calculated Green operator is stored within the objec junction (or in the object junction given as an optional parameter)
- Parameters
-
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'gauge_trans' | Logical value. Set true (default) to perform gauge transformation on the Green's function and on the Hamiltonians, or false otherwise. |
'junction' | An instance of class NTerminal (or its subclass) describing the junction. |
◆ createCurrentOperator()
function SNSJosephson::createCurrentOperator |
( |
varargin |
| ) |
|
|
inherited |
Calculates the charge current operator from the inverse of the Greens function of the scattering region.
- Parameters
-
- Returns
- [1] The matrix operator of the current operator.
◆ createCurrentOperators()
function Current_NEGF::createCurrentOperators |
( |
varargin |
| ) |
|
Determines the charge current operator between the scattering region and the interface regions.
- Parameters
-
- Returns
- [1] Call array of the current operators.
◆ CurrentCalc_continuum()
function SNSJosephson::CurrentCalc_continuum |
( |
DeltaPhi_vec |
, |
|
|
varargin |
|
|
) |
| |
|
inherited |
Calculates the Josephson current of the continous scattering states.
- Parameters
-
- Returns
- [1] An array of the calculated current corresponding to the phase differencies DeltaPhi_vec
-
[2] Energy resolved Josephson current.
◆ CurrentCalc_discrete()
function Current_NEGF::CurrentCalc_discrete |
( |
DeltaPhi_vec |
, |
|
|
varargin |
|
|
) |
| |
Calculates the Josephson current using the method in PRB 93, 224510 (2016)
- Parameters
-
DeltaPhi_vec | Array of phase diffrencies between the superconducting contacts. |
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'Edb' | The number of the energy points over the contour integral. (default value is 511) |
'Evec' | An array containing the complex energy points in case of custom integration path. |
'Emin' | A minimum of the energy array on the real axis. |
'Emax' | A maximum of the energy array on the real axis. |
- Returns
- [1] An array of the calculated current corresponding to the phase differencies DeltaPhi_vec
-
[2] An energy resolved current corresponding to the phase differencies DeltaPhi_vec. The second index correspond to the lead identification number
-
[3] An array of the calculated current corresponding to the phase differencies DeltaPhi_vec
◆ diagInv()
function CommonFunctions::diagInv |
( |
A |
| ) |
|
|
inherited |
Calculates the diagonal part of the inverse of a sparse matrix.
If MKL component is advised to build.
- Parameters
-
A | A sparse matrix to be inverted |
- Returns
- Returns the diagonal elements of the inverse
◆ display()
function Messages::display |
( |
message |
, |
|
|
nosilent |
|
|
) |
| |
|
inherited |
Displays output messages on the screen.
- Parameters
-
message | String containing the message to be displayed |
nosilent | Set true to override the silent option given in Opt.Silent. |
◆ eig()
function CommonFunctions::eig |
( |
A |
, |
|
|
B |
|
|
) |
| |
|
inherited |
Calculates the generalized eigenvalue problem based on the zggev and dggev LAPACK functions.
- Parameters
-
A | A square matrix on the left side. |
B | A square matrix on the right side. |
- Returns
- Returns the calculated generalized eigenvalues and the right and left sided eigenvectors.
◆ ExceedIteration()
static function Messages::ExceedIteration |
( |
| ) |
|
|
staticinherited |
Throws an "iteration exceeded" warning.
◆ Fermi()
function FermiDirac::Fermi |
( |
E |
| ) |
|
|
inherited |
A function of the Fermi-Dirac statistics.
- Parameters
-
E | The energy value in eV (scalar or an array of energy values). |
- Returns
- Returns with the occupation number (numbers).
◆ getBandWidth()
function SNSJosephson::getBandWidth |
( |
| ) |
|
|
inherited |
Determines the band width of the leads and of the scattering region.
- Returns
- An instance of structure BandWidth containing the bandwidths.
◆ getOpt()
function Messages::getOpt |
( |
| ) |
|
|
inherited |
Retrives the structure containing the calculation parameters.
- Returns
- Return an instance of structure Opt.
◆ getProgramName()
function CommonFunctions::getProgramName |
( |
| ) |
|
|
inherited |
Gets the name of the package.
- Returns
- Returns the name of the package.
◆ getProgramShortName()
function CommonFunctions::getProgramShortName |
( |
| ) |
|
|
inherited |
Gets the short name of the package.
- Returns
- Returns the short name of the package.
◆ getVersion()
function CommonFunctions::getVersion |
( |
| ) |
|
|
inherited |
Gets the current version of the package.
- Returns
- Returns the current version of the package.
◆ increasePhaseDifference()
function SNSJosephson::increasePhaseDifference |
( |
delta_phi |
, |
|
|
junction_loc |
|
|
) |
| |
|
protectedinherited |
Increase the phase difference between the Leads by delta_phi (apply gauge transformation on the second lead)
- Parameters
-
delta_phi | The phase difference increment between the leads. |
ribbon_loc | An instance of class NTerminal (or its subclass) describing the junction. |
◆ InputParsing()
function Current_NEGF::InputParsing |
( |
varargin |
| ) |
|
|
protected |
Parses the optional parameters for the class constructor.
- Parameters
-
varargin | Cell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html): |
'T' | The temperature in Kelvin (scalar or an array) |
'mu' | The Chemical potential in the same unit as other energy scales in the Hamiltonians. |
'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). |
'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). |
'junction' | An instance of class NTerminal (or its derived class) representing the junction. |
◆ inv_SVD()
static function CommonFunctions::inv_SVD |
( |
A |
| ) |
|
|
staticinherited |
Inverts badly conditioned matrix A with SVD regularization.
- Parameters
-
A | A square matrix to be inverted. |
- Returns
- Returns the calculated inverse.
◆ IsDeployedMKL()
function CommonFunctions::IsDeployedMKL |
( |
| ) |
|
|
inherited |
Checks whether the MKL component is deployed.
- Returns
- Returns with true if MKL component is deployed, false otherwise.
◆ isOctave()
static function CommonFunctions::isOctave |
( |
| ) |
|
|
staticinherited |
Checks whether the running environment is matlab or octave.
- Returns
- Returns true if running environment is octave, false otherwise.
◆ partialInv()
function CommonFunctions::partialInv |
( |
A |
, |
|
|
sizeInv |
|
|
) |
| |
|
inherited |
Calculates a partial inverse of a sparse matrix.
If MKL component is not developed, the backslash operator is used insted.
- Parameters
-
A | A sparse matrix to be inverted |
sizeInv | The size of partial inverse to be calculated. |
- Returns
- Returns the calculated partial inverse
◆ ResetPhase()
function SNSJosephson::ResetPhase |
( |
varargin |
| ) |
|
|
protectedinherited |
Resets the phase difference to the initial value.
- Parameters
-
◆ SetEnergy()
function UtilsBase::SetEnergy |
( |
newE |
, |
|
|
varargin |
|
|
) |
| |
|
inherited |
Sets the energy for the calculations.
- Parameters
-
◆ setTemperature()
function FermiDirac::setTemperature |
( |
T |
| ) |
|
|
inherited |
Sets the temperature for the calculations.
- Parameters
-
T | The temperature in Kelvin (scalar or an array) |
◆ SimphsonInt()
static function CommonFunctions::SimphsonInt |
( |
y |
, |
|
|
h |
|
|
) |
| |
|
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.
- Parameters
-
y | Function values to be integrated |
h | Increment between the x_i points. |
◆ xmlread()
function CommonFunctions::xmlread |
( |
filename |
| ) |
|
|
inherited |
◆ xmlwrite()
function CommonFunctions::xmlwrite |
( |
filename |
, |
|
|
DOM |
|
|
) |
| |
|
inherited |
Function to export XML files (based on xerces libraries), providing octave compatibility.
- Parameters
-
The magnetic field in Tesla (OBSOLETE)
Definition at line 31 of file SNSJosephson.m.
◆ BandWidth
Property UtilsBase::BandWidth |
|
inherited |
◆ beta
Property FermiDirac::beta |
|
protectedinherited |
◆ DeployedMKL
Property CommonFunctions::DeployedMKL |
|
protectedinherited |
True if MKL component is built, false otherwise.
Definition at line 32 of file CommonFunctions.m.
◆ gfininvfromHamiltonian
Property UtilsBase::gfininvfromHamiltonian |
|
inherited |
logical value. Set true for calculate the Greens function of the scattering region from Hamiltonian, or false (default) otherwise.
Definition at line 45 of file UtilsBase.m.
◆ junction
Property UtilsBase::junction |
|
inherited |
An instance of class NTerminal (or its subclass) representing the junction.
Definition at line 33 of file UtilsBase.m.
◆ k_B
Boltzmann constant in eV/K.
Definition at line 32 of file FermiDirac.m.
◆ MaxSize
Property CommonFunctions::MaxSize |
|
protectedinherited |
◆ mu
The Chemical potential in the same unit as other energy scales in the Hamiltonians.
Definition at line 44 of file FermiDirac.m.
◆ Opt
◆ ProgramName
Property CommonFunctions::ProgramName |
|
protectedinherited |
◆ ProgramShortName
Property CommonFunctions::ProgramShortName |
|
protectedinherited |
◆ scatterPotential
Property UtilsBase::scatterPotential |
|
inherited |
Function handle pot = f(#coordinates) for the additional potential to be applied in the scattering region.
Definition at line 42 of file UtilsBase.m.
The temperature in Kelvin.
Definition at line 35 of file FermiDirac.m.
◆ T_treshold
Property FermiDirac::T_treshold |
|
protectedinherited |
treshold temperature (makes difference between T=0 and T>0)
Definition at line 41 of file FermiDirac.m.
◆ useSelfEnergy
Property UtilsBase::useSelfEnergy |
|
inherited |
logical value. Set true (default) for solve the Dyson equation with the self energies, or false otherwise.
Definition at line 39 of file UtilsBase.m.
◆ varargin
Property UtilsBase::varargin |
|
inherited |
◆ version
Property CommonFunctions::version |
|
protectedinherited |
The documentation for this class was generated from the following file: