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

#include <RealTimeTransport/IteratedRG/MemoryKernel.h>

Defines the memory kernel computed via the renormalization group iteration.

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)
 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)
 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 memory kernel.
 
const BlockDiagonalChebK () const noexcept
 Returns \(-i K(t)\), where \(K(t)\) denotes the 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 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::IteratedRG::MemoryKernel::MemoryKernel ( const std::unique_ptr< Model > & model,
Order order,
SciCore::Real tMax,
SciCore::Real errorGoal )

Computes the memory kernel for a given model using the renormalization group iteration.

Parameters
modelThe model for which the memory kernel is computed.
orderOrder of the RG iteration.
tMaxMaximum time until the memory kernel is resolved.
errorGoalError goal of the memory kernel computation.

◆ MemoryKernel() [2/2]

RealTimeTransport::IteratedRG::MemoryKernel::MemoryKernel ( const std::unique_ptr< Model > & model,
Order order,
SciCore::Real tMax,
SciCore::Real errorGoal,
tf::Executor & executor )

Computes the memory kernel for a given model using the renormalization group iteration in parallel.

Parameters
modelThe model for which the memory kernel is computed.
orderOrder of the RG iteration.
tMaxMaximum time until the memory kernel is resolved.
errorGoalError goal of the memory kernel computation.
executorAn excecutor managing multiple threads.