RealTimeTransport 1.0.0
Real-time simulation of quantum transport processes
Loading...
Searching...
No Matches
RealTimeTransport::AndersonDot Class Referencefinal

#include <RealTimeTransport/Models/AndersonDot.h>

This class implements the Anderson quantum dot model (single level with spin). The Hamiltonian of the quantum dot is given by

\[ H = \epsilon (n_\uparrow + n_\downarrow) + \frac{B}{2} (n_\uparrow - n_\downarrow) + U n_\uparrow n_\downarrow. \]

It is coupled to the reservoirs via the tunneling Hamiltonian

\[ H_T = \sum_{r\sigma} \int d\omega \sqrt{\frac{\Gamma_{r\sigma}}{2\pi}} (d^\dagger_\sigma a_{r\sigma}(\omega) + a^\dagger_{r\sigma}(\omega) d_\sigma). \]

All operators are represented in the basis \( \ket{0}, \ket{\uparrow}=d^\dagger_\uparrow \ket{0}, \ket{\downarrow}=d^\dagger_\downarrow \ket{0}, \ket{\uparrow\downarrow} = d^\dagger_\uparrow d^\dagger_\downarrow \ket{0} \).

Public Member Functions

 AndersonDot () noexcept=default
 Default constructor.
 
 AndersonDot (AndersonDot &&other) noexcept=default
 Default move constructor.
 
 AndersonDot (const AndersonDot &other)=default
 Default copy constructor.
 
AndersonDotoperator= (AndersonDot &&other) noexcept=default
 Default move assignment operator.
 
AndersonDotoperator= (const AndersonDot &other)=default
 Default copy assignment operator.
 
 AndersonDot (SciCore::Real epsilon, SciCore::Real B, SciCore::Real U, const SciCore::RealVector &T, const SciCore::RealVector &mu, const SciCore::RealVector &Gamma)
 Constructs a new Anderson dot object.
 
 AndersonDot (SciCore::Real epsilon, SciCore::Real B, SciCore::Real U, const SciCore::RealVector &T, const SciCore::RealVector &mu, const SciCore::RealVector &GammaUp, const SciCore::RealVector &GammaDown)
 Constructs a new Anderson dot object.
 
SciCore::Real epsilon () const noexcept
 Returns the energy of the level.
 
SciCore::Real B () const noexcept
 Returns the magnetic field.
 
SciCore::Real U () const noexcept
 Returns the Coulomb interaction.
 
const SciCore::RealVector & GammaUp () const noexcept
 Returns the couplings \(\Gamma_{r\uparrow}\).
 
const SciCore::RealVector & GammaDown () const noexcept
 Returns the couplings \(\Gamma_{r\downarrow}\).
 
int dimHilbertSpace () const noexcept override
 The Hilbert space dimension is 4.
 
int numStates () const noexcept override
 The single particle states are \(\uparrow\) and \(\downarrow\), thus returns 2.
 
int numChannels () const noexcept override
 Each reservoir is spinful, thus returns 2.
 
int numReservoirs () const override
 Returns the number of reservoirs the system is connected to.
 
OperatorType H () const override
 Returns the Hamiltonian.
 
OperatorType d (int l) const override
 Returns the annihilation operator of the single particle state indexed by \( l=\uparrow\equiv 0 \), \( \downarrow\equiv 1 \).
 
SciCore::Complex coupling (int r, int nu, int l) const override
 Returns the coupling coefficient in the tunneling Hamiltonian, given by \(\sqrt{\lambda}_{r \nu} t_{r \nu l}\).
 
const SciCore::RealVector & temperatures () const noexcept override
 Returns the temperatures of the reservoirs the system is connected to.
 
const SciCore::RealVector & chemicalPotentials () const noexcept override
 Returns the chemical potentials of the reservoirs the system is connected to.
 
SupervectorType vectorize (const OperatorType &op) const override
 Vectorizes an operator into its supervector form.
 
OperatorType operatorize (const SupervectorType &supervector) const override
 Transforms a supervector back into operator form.
 
const std::vector< int > & blockDimensions () const noexcept override
 The memory kernel and propagator are block diagonal. This function returns a reference to a vector containing the dimensions of these blocks.
 
std::unique_ptr< Modelcopy () const override
 Returns a deep copy of the model.
 
bool isEqual (const Model &other) const override
 Returns true if other is the same as *this, otherwise false.
 
- Public Member Functions inherited from RealTimeTransport::Model
bool operator== (const Model &other) const
 Equality comparison operator.
 
bool operator!= (const Model &other) const
 Inequality comparison operator.
 
virtual OperatorType P () const
 Returns the parity operator.
 

Additional Inherited Members

- Public Types inherited from RealTimeTransport::Model
using OperatorType = SciCore::Matrix
 Type of ordinary operators.
 
using SupervectorType = SciCore::Vector
 Type of vectorized operators.
 
using SuperRowVectorType = SciCore::RowVector
 Type of adjoint of vectorized operators.
 
using SuperoperatorType = SciCore::Matrix
 Type of superoperators.
 

Constructor & Destructor Documentation

◆ AndersonDot() [1/2]

RealTimeTransport::AndersonDot::AndersonDot ( SciCore::Real epsilon,
SciCore::Real B,
SciCore::Real U,
const SciCore::RealVector & T,
const SciCore::RealVector & mu,
const SciCore::RealVector & Gamma )
Parameters
epsilonLevel energy
BMagnetic field
UCoulomb interaction
TTemperatures of the reservoirs
muChemical potentials of the reservoirs
GammaSpin-independent dot-reservoir couplings \(\Gamma_r=\Gamma_{r\uparrow}=\Gamma_{r\downarrow}\)

◆ AndersonDot() [2/2]

RealTimeTransport::AndersonDot::AndersonDot ( SciCore::Real epsilon,
SciCore::Real B,
SciCore::Real U,
const SciCore::RealVector & T,
const SciCore::RealVector & mu,
const SciCore::RealVector & GammaUp,
const SciCore::RealVector & GammaDown )
Parameters
epsilonLevel energy
BMagnetic field
UCoulomb interaction
TTemperatures
muChemical potentials
GammaUpDot-reservoir coupling \(\Gamma_{r\uparrow}\)
GammaDownDot-reservoir coupling \(\Gamma_{r\downarrow}\)