|
RealTimeTransport 1.0.0
Real-time simulation of quantum transport processes
|
#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. | |
| AndersonDot & | operator= (AndersonDot &&other) noexcept=default |
| Default move assignment operator. | |
| AndersonDot & | operator= (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< Model > | copy () 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. | |
| RealTimeTransport::AndersonDot::AndersonDot | ( | SciCore::Real | epsilon, |
| SciCore::Real | B, | ||
| SciCore::Real | U, | ||
| const SciCore::RealVector & | T, | ||
| const SciCore::RealVector & | mu, | ||
| const SciCore::RealVector & | Gamma ) |
| epsilon | Level energy |
| B | Magnetic field |
| U | Coulomb interaction |
| T | Temperatures of the reservoirs |
| mu | Chemical potentials of the reservoirs |
| Gamma | Spin-independent dot-reservoir couplings \(\Gamma_r=\Gamma_{r\uparrow}=\Gamma_{r\downarrow}\) |
| 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 ) |
| epsilon | Level energy |
| B | Magnetic field |
| U | Coulomb interaction |
| T | Temperatures |
| mu | Chemical potentials |
| GammaUp | Dot-reservoir coupling \(\Gamma_{r\uparrow}\) |
| GammaDown | Dot-reservoir coupling \(\Gamma_{r\downarrow}\) |