RealTimeTransport 1.0.0
Real-time simulation of quantum transport processes
Loading...
Searching...
No Matches
RealTimeTransport::RenormalizedPT::CurrentKernel Class Reference

#include <RealTimeTransport/RenormalizedPT/CurrentKernel.h>

Defines the current kernel computed via the renormalized perturbation theory.

Public Member Functions

 CurrentKernel () noexcept
 Constructor.
 
 CurrentKernel (CurrentKernel &&other) noexcept
 Move constructor.
 
 CurrentKernel (const CurrentKernel &other)
 Copy constructor.
 
CurrentKerneloperator= (CurrentKernel &&other)
 Move assignment operator.
 
CurrentKerneloperator= (const CurrentKernel &other)
 Copy assignment operator.
 
 CurrentKernel (const std::unique_ptr< Model > &model, int r, Order order, SciCore::Real tMax, SciCore::Real errorGoal, int block=-1)
 Computes the current kernel for a given model.
 
 CurrentKernel (const std::unique_ptr< Model > &model, int r, Order order, SciCore::Real tMax, SciCore::Real errorGoal, tf::Executor &executor, int block=-1)
 Computes the current kernel for a given model in parallel.
 
const Modelmodel () const noexcept
 Returns a pointer to the model.
 
int r () const noexcept
 Returns the reservoir index for which the current kernel was computed.
 
SciCore::Real tMax () const
 Returns the maximum simulation time.
 
SciCore::Real errorGoal () const noexcept
 Returns the error goal of the computation.
 
const Model::SuperRowVectorTypeSigmaInfty () const noexcept
 Returns \( -i \Sigma_{\infty} \), where \( \Sigma_{\infty} \) denotes the infinite temperature current kernel.
 
const SciCore::ChebAdaptive< Model::SuperRowVectorType > & K () const noexcept
 Returns \( -i K \), where \( K \) denotes the current kernel.
 
Model::SuperRowVectorType zeroFrequency () const
 Returns \(-i \Sigma_{\infty} -i K(0)\), where \(\Sigma_{\infty}\) denotes infinite temperature current kernel and \(K(0)\) the current kernel at zero frequency.
 
SciCore::Real stationaryCurrent (const Model::OperatorType &stationaryState) const
 Returns the stationary current.
 

Constructor & Destructor Documentation

◆ CurrentKernel() [1/2]

RealTimeTransport::RenormalizedPT::CurrentKernel::CurrentKernel ( const std::unique_ptr< Model > & model,
int r,
Order order,
SciCore::Real tMax,
SciCore::Real errorGoal,
int block = -1 )

Computes the current kernel for a given model.

Parameters
modelThe model for which the current kernel is computed.
rIndex of the reservoir \( r=0,1,\dots \)
orderThe order of the renormalized perturbation series.
tMaxMaximum time until the current kernel is resolved.
errorGoalError goal of the current kernel computation.
blockComputes the complete current kernel if block==-1, otherwise computes only a single block with index block.

◆ CurrentKernel() [2/2]

RealTimeTransport::RenormalizedPT::CurrentKernel::CurrentKernel ( const std::unique_ptr< Model > & model,
int r,
Order order,
SciCore::Real tMax,
SciCore::Real errorGoal,
tf::Executor & executor,
int block = -1 )

Computes the current kernel for a given model in parallel.

Parameters
modelThe model for which the current kernel is computed.
rIndex of the reservoir \( r=0,1,\dots \)
orderThe order of the renormalized perturbation series.
tMaxMaximum time until the current kernel is resolved.
errorGoalError goal of the current kernel computation.
executorAn excecutor managing multiple threads.
blockComputes the complete current kernel if block==-1, otherwise computes only a single block with index block.