A class to calculate the DC Josephson current.
More...
|
function | createCurrentOperator (varargin) |
| Calculates the charge current operator from the inverse of the Greens function of the scattering region. 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 | SNSJosephson (Opt, varargin) |
| Constructor of the class. 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...
|
|
A class to calculate the DC Josephson current.
Definition at line 24 of file SNSJosephson.m.
◆ SNSJosephson()
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()
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()
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.
◆ CurrentCalc_continuum()
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()
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): |
'range' | String. Set 'ABS' (default) for the Andreev bound states, 'NBS' for the normal bound states, 'CONT' for the scattering states, or 'ALL' for calculating all ranges at once. |
'Edb' | The number of the energy points over the contour integral. (default value is 511) |
'DeltaPhi' | A parameter to control the incident angle of the integration contour near the real axis. (Default value is ). |
'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. |
'ProximityOn' | Logical value. Set true to recalculate the Green operator of the scattering center for every phase difference. Useful for self-consistent modelling of the proximity effect. |
- Returns
- An array of the calculated current corresponding to the phase differencies DeltaPhi_vec
◆ diagInv()
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()
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()
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()
Determines the band width of the leads and of the scattering region.
- Returns
- An instance of structure BandWidth containing the bandwidths.
◆ getOpt()
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 |
|
|
) |
| |
|
protected |
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()
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). |
'useSelfEnergy' | 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. |
'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()
Resets the phase difference to the initial value.
- Parameters
-
◆ SetEnergy()
Sets the energy for the calculations.
- Parameters
-
◆ setTemperature()
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: