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
Density Class Reference

A class to calculate the onsite desnity useful for self-consistent calculations. More...

Inheritance diagram for Density:
Inheritance graph
[legend]

Public Member Functions

function Density (Opt, varargin)
 Constructor of the class. More...
 
function DensityCalc (varargin)
 Calculates the onsite desnity using the method in Nanotechnology 25 (2014), 465201. More...
 
function DensityCalcSmall (num_occupied_states)
 determine the number of sites in the calculations to preallocate memory 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 DOSCalc (Evec, varargin)
 Calculates the onsite desnity of states. 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 ()
 creating site indexes corresponding to the elements of the density vector 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 LocalDOSCalc (Energy, varargin)
 preallocate memory for Densitysurf 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 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 BandWidth
 An instance of structure BandWidth. More...
 
Property DOSdata
 
 DOSvec
 Array of the density of states values. More...
 
 Evec
 Array of the enrgy points. 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 complexDensity (junction_loc, JustScatter)
 Calculates the density at a complex energy. More...
 
function complexSpectral (junction_loc, JustScatter)
 setting the current energy More...
 
function create_Hamiltonians (varargin)
 Creates the Hamiltonians of the system. More...
 
function create_scatter (varargin)
 cerating Hamiltonian of the scattering region More...
 
function InputParsing (varargin)
 Parses the optional parameters for the class constructor. 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 onsite desnity useful for self-consistent calculations.

Available

EQuUs v4.9 or later

Definition at line 26 of file Density.m.

Constructor & Destructor Documentation

◆ Density()

function Density::Density ( Opt  ,
varargin   
)

Constructor of the class.

Parameters
OptAn instance of 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.

◆ complexDensity()

function Density::complexDensity ( junction_loc  ,
JustScatter   
)
protected

Calculates the density at a complex energy.

Parameters
junction_locAn instance of class NTerminal or its subclass describing the junction.
JustScatterLogical value. True if only an isolated scattering center should be considered in the self-consistent calculations, false otherwise.

◆ complexSpectral()

function DOS::complexSpectral ( junction_loc  ,
JustScatter   
)
protectedinherited

setting the current energy

creating the Hamiltonian of the scattering region evaluating the energy resolved density creating the data structure of the local density of states Calculates the spectral function at a complex energy

Parameters
junction_locAn instance of class NTerminal or its subclass representing the junction.
JustScatterlogical value. True if only an isolated scattering center should be considered in the calculations, false otherwise.
Returns
spectral_function The calculted spectral function and a data structure containing geometry data of the junction.

◆ create_Hamiltonians()

function DOS::create_Hamiltonians ( varargin  )
protectedinherited

Creates the Hamiltonians of the system.

Parameters
vararginCell array of optional parameters:.

◆ create_scatter()

function DOS::create_scatter ( varargin  )
protectedinherited

cerating Hamiltonian of the scattering region

creating the Lead Hamiltonians Creates the Hamiltonian of the scattering center

Parameters
vararginCell array of optional parameters:.

◆ DensityCalc()

function Density::DensityCalc ( varargin  )

Calculates the onsite desnity using the method in Nanotechnology 25 (2014), 465201.

Parameters
vararginCell array of optional parameters:
'Edb'The number of the energy points over the contour integral.
'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'The complex energy points in case of custom integration path. (Overrides all other optional parameters.)
'Emin'The minimum of the energy array.
'JustScatter'Logical value. True if only an isolated scattering center should be considered in the self-consistent calculations, false otherwise.
Returns
An array of the calculated density and a structure describing the geometry of the sites.

◆ DensityCalcSmall()

function Density::DensityCalcSmall ( num_occupied_states  )

determine the number of sites in the calculations to preallocate memory

preallocate memory for Densitysurf creating function handles for parallel for setting the current energy creating the Hamiltonian of the scattering region evaluating the energy resolved density closing the parallel pool calculating the contour integrals Calculates the onsite desnity using the method in Nanotechnology 25 (2014), 465201. This method is usable for small isolated scattering centers for which an exact diagonalization can be performed

Parameters
num_occupied_statesNumber of occupied states
Returns
An array of the calculated density and a structure describing the geometry of the sites.

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

◆ DOSCalc()

function DOS::DOSCalc ( Evec  ,
varargin   
)
inherited

Calculates the onsite desnity of states.

Parameters
EvecOne-dimensional array of the energy points.
vararginCell array of optional parameters:
'JustScatter'Logical value. Set true to omit the contacts from the system

◆ 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 Density::getBandWidth ( )

creating site indexes corresponding to the elements of the density vector

Determines the band width of the leads and of the scattering region.

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

◆ InputParsing()

function Density::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 absolute temperature in Kelvins.
'silent'Set true to suppress output messages.
'scatterPotential'A function handle y=f( #coordinates coords ) or y=f( CreateHamiltonians CreateH, E ) of the potential across the junction.
'useSelfEnergy'Logical value. Set true (default) to solve the Dyson equation with the self energies of the leads, or false to use the surface Green operators.
'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 a class NTerminal or its subclass describing 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.

◆ LocalDOSCalc()

function DOS::LocalDOSCalc ( Energy  ,
varargin   
)
inherited

preallocate memory for Densitysurf

creating function handles for parallel for setting the current energy creating the Hamiltonian of the scattering region evaluating the energy resolved density closing the parallel pool Calculates the local desnity of states for a given energy.

Parameters
EnergyThe energy value in the units of the Hamiltonians
vararginCell array of optional parameters:
'JustScatter'Logical value. Set true to omit the contacts from the system
Returns
Returns with the calculated local DOS. (An instance of structure LocalDOS)

◆ 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

◆ 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

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

◆ DOSdata

Property DOS::DOSdata
inherited

Definition at line 34 of file DOS.m.

◆ DOSvec

DOS::DOSvec
inherited

Array of the density of states values.

Definition at line 198 of file structures.m.

◆ Evec

DOS::Evec
inherited

Array of the enrgy points.

Definition at line 200 of file structures.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: