Eötvös Quantum Utilities  v4.9.146
Providing the Horsepowers in the Quantum Realm
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
SNSJosephson Class Reference

A class to calculate the DC Josephson current. More...

Inheritance diagram for SNSJosephson:
Inheritance graph
[legend]

Public Member Functions

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...
 

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 B
 The magnetic field in Tesla (OBSOLETE) More...
 
Property BandWidth
 An instance of structure BandWidth. More...
 
Property gfininvfromHamiltonian
 logical value. Set true for calculate the Greens function of the scattering region from Hamiltonian, or false (default) otherwise. More...
 
Property junction
 An instance of class NTerminal (or its subclass) representing the junction. More...
 
Property scatterPotential
 Function handle pot = f(#coordinates) for the additional potential to be applied in the scattering region. More...
 
Property useSelfEnergy
 logical value. Set true (default) for solve the Dyson equation with the self energies, or false otherwise. More...
 
Property varargin
 cell array of optional parameters. (For details see InputParsing) More...
 

Protected Member Functions

function create_scatter_GreensFunction (varargin)
 Calculates the surface Green operator of the scattering region. More...
 
function increasePhaseDifference (delta_phi, junction_loc)
 Increase the phase difference between the Leads by delta_phi (apply gauge transformation on the second lead) More...
 
function InputParsing (varargin)
 Parses the optional parameters for the class constructor. More...
 
function ResetPhase (varargin)
 Resets the phase difference to the initial value. More...
 

Protected Attributes

Property beta
 $\beta = 1/(k_BT)$ More...
 
Property DeployedMKL
 True if MKL component is built, false otherwise. More...
 
Property k_B
 Boltzmann constant in eV/K. 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 ProgramName
 Name of the package. More...
 
Property ProgramShortName
 Short name of the package. 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...
 

Detailed Description

A class to calculate the DC Josephson current.

Definition at line 24 of file SNSJosephson.m.

Constructor & Destructor Documentation

◆ SNSJosephson()

function SNSJosephson::SNSJosephson ( Opt  ,
varargin   
)

Constructor of the class.

Parameters
OptAn instance of the structure Opt.
vararginCell array of optional parameters. For details see InputParsing.
Returns
An instance of the class

Member Function Documentation

◆ BadInputType()

static function Messages::BadInputType ( variable  ,
type   
)
staticinherited

Throws a "bad input type" warning, with using the default value.

Parameters
variableA string conatining the name of the variable.
typeA 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
variableA string conatining the name of the variable.
typeA string describing the desired type.

◆ checkMEXfile()

static function CommonFunctions::checkMEXfile ( fncname  )
staticinherited

Checks the presence of a given MEX file.

Parameters
fncnameThe name of the function.
Returns
Returns true if the MEX file is present, false otherwise.

◆ create_scatter_GreensFunction()

function SNSJosephson::create_scatter_GreensFunction ( varargin  )
protected

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
vararginCell 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  )

Calculates the charge current operator from the inverse of the Greens function of the scattering region.

Parameters
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'junction'An instance of class NTerminal (or its subclass) describing the junction.
Returns
[1] The matrix operator of the current operator.

◆ CurrentCalc_continuum()

function SNSJosephson::CurrentCalc_continuum ( DeltaPhi_vec  ,
varargin   
)

Calculates the Josephson current of the continous scattering states.

Parameters
DeltaPhi_vecArray of phase diffrencies between the superconducting contacts.
vararginCell 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)
Returns
[1] An array of the calculated current corresponding to the phase differencies DeltaPhi_vec
[2] Energy resolved Josephson current.

◆ CurrentCalc_discrete()

function SNSJosephson::CurrentCalc_discrete ( DeltaPhi_vec  ,
varargin   
)

Calculates the Josephson current using the method in PRB 93, 224510 (2016)

Parameters
DeltaPhi_vecArray of phase diffrencies between the superconducting contacts.
vararginCell 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 $\Delta\Phi=0.5\pi$).
'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()

function CommonFunctions::diagInv ( )
inherited

Calculates the diagonal part of the inverse of a sparse matrix.

If MKL component is advised to build.

Parameters
AA 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
messageString containing the message to be displayed
nosilentSet true to override the silent option given in Opt.Silent.

◆ eig()

function CommonFunctions::eig ( ,
 
)
inherited

Calculates the generalized eigenvalue problem based on the zggev and dggev LAPACK functions.

Parameters
AA square matrix on the left side.
BA 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 ( )
inherited

A function of the Fermi-Dirac statistics.

Parameters
EThe energy value in eV (scalar or an array of energy values).
Returns
Returns with the occupation number (numbers).

◆ getBandWidth()

function SNSJosephson::getBandWidth ( )

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   
)
protected

Increase the phase difference between the Leads by delta_phi (apply gauge transformation on the second lead)

Parameters
delta_phiThe phase difference increment between the leads.
ribbon_locAn instance of class NTerminal (or its subclass) describing the junction.

◆ InputParsing()

function SNSJosephson::InputParsing ( varargin  )
protected

Parses the optional parameters for the class constructor.

Parameters
vararginCell 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 ( )
staticinherited

Inverts badly conditioned matrix A with SVD regularization.

Parameters
AA 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 ( ,
sizeInv   
)
inherited

Calculates a partial inverse of a sparse matrix.

If MKL component is not developed, the backslash operator is used insted.

Parameters
AA sparse matrix to be inverted
sizeInvThe size of partial inverse to be calculated.
Returns
Returns the calculated partial inverse

◆ ResetPhase()

function SNSJosephson::ResetPhase ( varargin  )
protected

Resets the phase difference to the initial value.

Parameters
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'junction'An instance of class NTerminal (or its subclass) describing the junction.

◆ SetEnergy()

function UtilsBase::SetEnergy ( newE  ,
varargin   
)
inherited

Sets the energy for the calculations.

Parameters
newEThe value of the energy in the same units as the Hamiltonian.
vararginCell array of optional parameters (https://www.mathworks.com/help/matlab/ref/varargin.html):
'junction'An instance of class NTerminal (or its derived class) representing the junction.

◆ setTemperature()

function FermiDirac::setTemperature ( T  )
inherited

Sets the temperature for the calculations.

Parameters
TThe temperature in Kelvin (scalar or an array)

◆ SimphsonInt()

static function CommonFunctions::SimphsonInt ( ,
 
)
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
yFunction values to be integrated
hIncrement between the x_i points.

◆ xmlread()

function CommonFunctions::xmlread ( filename  )
inherited

Function to load XML files (based on xerces libraries), providing octave compatibility.

Parameters
filenameAbsolute path to the file to be opened. (In matlab relative path is sufficient)
Returns
The loaded document object model (see http://www.mathworks.com/help/matlab/ref/xmlread.html#outputarg_DOMnode for details.)

◆ xmlwrite()

function CommonFunctions::xmlwrite ( filename  ,
DOM   
)
inherited

Function to export XML files (based on xerces libraries), providing octave compatibility.

Parameters
filenameAbsolute path to the file to be opened. (In matlab relative path is sufficient)
DOMThe loaded document object model (see http://www.mathworks.com/help/matlab/ref/xmlread.html#outputarg_DOMnode for details.)

Member Data Documentation

◆ B

Property SNSJosephson::B

The magnetic field in Tesla (OBSOLETE)

Definition at line 31 of file SNSJosephson.m.

◆ BandWidth

Property UtilsBase::BandWidth
inherited

An instance of structure BandWidth.

Definition at line 36 of file UtilsBase.m.

◆ beta

Property FermiDirac::beta
protectedinherited

$\beta = 1/(k_BT)$

Definition at line 38 of file FermiDirac.m.

◆ 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

Property FermiDirac::k_B
protectedinherited

Boltzmann constant in eV/K.

Definition at line 32 of file FermiDirac.m.

◆ MaxSize

Property CommonFunctions::MaxSize
protectedinherited

Maximal size of full matrixes to be handled.

Definition at line 44 of file CommonFunctions.m.

◆ mu

Property FermiDirac::mu
protectedinherited

The Chemical potential in the same unit as other energy scales in the Hamiltonians.

Definition at line 44 of file FermiDirac.m.

◆ Opt

Property Messages::Opt
protectedinherited

An instance of structure Opt.

Definition at line 31 of file Messages.m.

◆ ProgramName

Property CommonFunctions::ProgramName
protectedinherited

Name of the package.

Definition at line 38 of file CommonFunctions.m.

◆ ProgramShortName

Property CommonFunctions::ProgramShortName
protectedinherited

Short name of the package.

Definition at line 41 of file CommonFunctions.m.

◆ 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.

◆ T

Property FermiDirac::T
protectedinherited

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

cell array of optional parameters. (For details see InputParsing)

Definition at line 48 of file UtilsBase.m.

◆ version

Property CommonFunctions::version
protectedinherited

The current version of the package.

Definition at line 35 of file CommonFunctions.m.


The documentation for this class was generated from the following file: