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

#include <RealTimeTransport/Models/ResonantLevel.h>

This class implements a single spinless level. The Hamiltonian is given by

\[ H = \epsilon n, \]

where \( n=d^\dagger d \). It is coupled to the reservoirs via the tunneling Hamiltonian

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

All operators are represented in the basis \( \ket{0}, \ket{1} \).

Public Member Functions

 ResonantLevel () noexcept=default
 Default constructor.
 
 ResonantLevel (ResonantLevel &&other) noexcept=default
 Default move constructor.
 
 ResonantLevel (const ResonantLevel &other)=default
 Default copy constructor.
 
ResonantLeveloperator= (ResonantLevel &&other) noexcept=default
 Default move assignment operator.
 
ResonantLeveloperator= (const ResonantLevel &other)=default
 Default copy assignment operator.
 
 ResonantLevel (SciCore::Real epsilon, const SciCore::RealVector &T, const SciCore::RealVector &mu, const SciCore::RealVector &Gamma)
 Constructs a new ResonantLevel object.
 
SciCore::Real epsilon () const noexcept
 Returns the energy of the level.
 
int dimHilbertSpace () const noexcept override
 The Hilbert space dimension is 2 (empty and full state).
 
int numStates () const noexcept override
 Only one single particle state.
 
int numChannels () const noexcept override
 Reservoirs are not spinful, thus returns 1.
 
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. \(l\) is always 0.
 
SciCore::Complex coupling (int r, int nu, int l) const override
 Returns the coupling coefficient in the tunneling Hamiltonian. Both \(\nu\) and \(l\) are always 0.
 
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

◆ ResonantLevel()

RealTimeTransport::ResonantLevel::ResonantLevel ( SciCore::Real epsilon,
const SciCore::RealVector & T,
const SciCore::RealVector & mu,
const SciCore::RealVector & Gamma )
Parameters
epsilonLevel energy
TTemperature reservoirs
muChemical potentials reservoirs
GammaDot-reservoir coupling