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

#include <RealTimeTransport/RenormalizedPT/MemoryKernel.h>

Defines the memory kernel computed via the renormalized perturbation theory.

Public Member Functions

 MemoryKernel () noexcept
 Constructor.
 
 MemoryKernel (MemoryKernel &&other) noexcept
 Move constructor.
 
 MemoryKernel (const MemoryKernel &other)
 Copy constructor.
 
MemoryKerneloperator= (MemoryKernel &&other)
 Move assignment operator.
 
MemoryKerneloperator= (const MemoryKernel &other)
 Copy assignment operator.
 
 MemoryKernel (const std::unique_ptr< Model > &model, Order order, SciCore::Real tMax, SciCore::Real errorGoal, int block=-1)
 Computes the memory kernel for a given model.
 
 MemoryKernel (const std::unique_ptr< Model > &model, Order order, SciCore::Real tMax, SciCore::Real errorGoal, tf::Executor &executor, int block=-1)
 Computes the memory mernel for a given model in parallel.
 
bool operator== (const MemoryKernel &other) const noexcept
 Operator testing for equality.
 
bool operator!= (const MemoryKernel &other) const noexcept
 Operator testing for inequality.
 
const Modelmodel () const noexcept
 Returns a pointer to the model.
 
SciCore::Real tMax () const
 Returns the maximum simulation time.
 
SciCore::Real errorGoal () const noexcept
 Returns the error goal of the computation.
 
const BlockDiagonalMatrixLInfty () const noexcept
 Returns the renormalized Liouvillian \(-i L_{\infty}\).
 
BlockDiagonalChebK () noexcept
 Returns \(-i K(t)\), where \(K(t)\) denotes the renormalized memory kernel.
 
const BlockDiagonalChebK () const noexcept
 Returns \(-i K(t)\), where \(K(t)\) denotes the renormalized memory kernel.
 
BlockDiagonalMatrix zeroFrequency () const
 Returns \(-i L_{\infty} -i \hat K(0)\), where \(L_{\infty}\) denotes the renormalized Liouvillian and \(\hat K(0)\) the renormalized memory kernel at zero frequency.
 
Model::OperatorType stationaryState (int block=-1) const
 Returns the stationary state. This method assumes that the stationary state is unique.
 

Constructor & Destructor Documentation

◆ MemoryKernel() [1/2]

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

Computes the memory kernel for a given model.

Parameters
modelThe model for which the memory kernel is computed.
orderThe order of the renormalized perturbation series.
tMaxMaximum time until the memory kernel is resolved.
errorGoalError goal of the memory kernel computation.
blockComputes the complete memory kernel if block==-1, otherwise computes only a single block with index block.

◆ MemoryKernel() [2/2]

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

Computes the memory mernel for a given model in parallel.

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