7#ifndef REAL_TIME_TRANSPORT_ITERATED_RG_CURRENT_KERNEL_H
8#define REAL_TIME_TRANSPORT_ITERATED_RG_CURRENT_KERNEL_H
10#include <SciCore/ChebAdaptive.h>
12#include "../RealTimeTransport_export.h"
15namespace RealTimeTransport
66 SciCore::Real errorGoal,
69 _initialize(K, propagator, r, order, tMax, errorGoal,
nullptr, block);
93 SciCore::Real errorGoal,
94 tf::Executor& executor,
97 _initialize(K, propagator, r, order, tMax, errorGoal, &executor, block);
108 int r()
const noexcept;
140 template <
class Archive>
141 void serialize(Archive& archive)
143 archive(_model, _r, _errorGoal, _minusISigmaInfty, _minusIK);
147 std::unique_ptr<Model> _model;
149 SciCore::Real _errorGoal;
151 Model::SuperRowVectorType _minusISigmaInfty;
152 SciCore::ChebAdaptive<Model::SuperRowVectorType> _minusIK;
160 SciCore::Real errorGoal,
161 tf::Executor* executor,
187 IteratedRG::
Order order,
189 SciCore::Real errorGoal,
192 return IteratedRG::CurrentKernel(K, propagator, r, order, tMax, errorGoal, block);
216 IteratedRG::
Order order,
218 SciCore::Real errorGoal,
219 tf::Executor& executor,
222 return IteratedRG::CurrentKernel(K, propagator, r, order, tMax, errorGoal, executor, block);
#define REALTIMETRANSPORT_EXPORT
Definition RealTimeTransport_export.h:15
Defines the current kernel.
Definition IteratedRG/CurrentKernel.h:29
CurrentKernel & operator=(CurrentKernel &&other)
Move assignment operator.
CurrentKernel(CurrentKernel &&other) noexcept
Move constructor.
int r() const noexcept
Returns the reservoir index for which the current kernel was computed.
SciCore::Real tMax() const
Returns the maximum simulation time.
CurrentKernel(const CurrentKernel &other)
Copy constructor.
Model::SuperRowVectorType zeroFrequency() const
Returns , where denotes infinite temperature current kernel and the current kernel at zero frequenc...
SciCore::Real stationaryCurrent(const Model::OperatorType &stationaryState) const
Returns the stationary current.
const SciCore::ChebAdaptive< Model::SuperRowVectorType > & K() const noexcept
Returns , where denotes the current kernel.
CurrentKernel(const MemoryKernel &K, const Propagator &propagator, int r, Order order, SciCore::Real tMax, SciCore::Real errorGoal, int block=-1)
Computes the current kernel for a given model.
Definition IteratedRG/CurrentKernel.h:60
CurrentKernel(const MemoryKernel &K, const Propagator &propagator, 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.
Definition IteratedRG/CurrentKernel.h:87
CurrentKernel & operator=(const CurrentKernel &other)
Copy assignment operator.
SciCore::Real errorGoal() const noexcept
Returns the error goal of the computation.
const Model * model() const noexcept
Returns a pointer to the model.
CurrentKernel() noexcept
Constructor.
const Model::SuperRowVectorType & SigmaInfty() const noexcept
Returns , where denotes the infinite temperature current kernel.
Defines the RG memory kernel.
Definition IteratedRG/MemoryKernel.h:56
Abstract class representing a model.
Definition Model.h:47
Type representing the propagator (dynamical map).
Definition Propagator.h:23
REALTIMETRANSPORT_EXPORT SciCore::ChebAdaptive< SciCore::Real > computeCurrent(const IteratedRG::CurrentKernel &KCurrent, const Propagator &propagator, const Model::OperatorType &rho0)
Computes the transient current for a given initial state.
REALTIMETRANSPORT_EXPORT IteratedRG::CurrentKernel computeCurrentKernel(const IteratedRG::MemoryKernel &K, const Propagator &propagator, int r, IteratedRG::Order order, SciCore::Real tMax, SciCore::Real errorGoal, int block=-1)
Computes the current kernel for a given model.
Definition IteratedRG/CurrentKernel.h:183
REALTIMETRANSPORT_EXPORT IteratedRG::CurrentKernel computeCurrentKernel(const IteratedRG::MemoryKernel &K, const Propagator &propagator, int r, IteratedRG::Order order, SciCore::Real tMax, SciCore::Real errorGoal, tf::Executor &executor, int block=-1)
Computes the current kernel for a given model in parallel.
Definition IteratedRG/CurrentKernel.h:212
Order
Defines the order of the approximation.
Definition IteratedRG/MemoryKernel.h:42