13#ifndef REAL_TIME_TRANSPORT_RENORMALIZED_PT_CONDUCTANCE_KERNEL_H
14#define REAL_TIME_TRANSPORT_RENORMALIZED_PT_CONDUCTANCE_KERNEL_H
16#include "../RealTimeTransport_export.h"
19namespace RealTimeTransport
22namespace RenormalizedPT
72 const Model::OperatorType& stationaryState,
76 SciCore::Real errorGoal,
79 _initialize(K, KI, stationaryState, r, order, tMax, errorGoal,
nullptr, block);
101 const Model::OperatorType& stationaryState,
105 SciCore::Real errorGoal,
106 tf::Executor& executor,
109 _initialize(K, KI, stationaryState, r, order, tMax, errorGoal, &executor, block);
115 int r()
const noexcept;
137 template <
class Archive>
138 void serialize(Archive& archive)
141 _model, _r, _errorGoal, _rhoStat, _d_dmu_rhoStat, _currentKernelZeroFreq, _d_dmu_memoryKernel,
142 _d_dmu_currentKernel);
146 std::unique_ptr<Model> _model;
148 SciCore::Real _errorGoal;
150 Model::SupervectorType _rhoStat;
151 Model::SupervectorType _d_dmu_rhoStat;
152 Model::SuperRowVectorType _currentKernelZeroFreq;
154 SciCore::ChebAdaptive<Model::SuperRowVectorType> _d_dmu_currentKernel;
159 const Model::OperatorType& stationaryState,
163 SciCore::Real errorGoal,
164 tf::Executor* executor,
166 SciCore::Real hMin = -1);
187 RenormalizedPT::
Order order,
191 K, KI, K.stationaryState(block), KI
.r(), order, K.tMax(), K.errorGoal(), block);
213 RenormalizedPT::
Order order,
216 return RenormalizedPT::
ConductanceKernel(K, KI, K.stationaryState(block), r, order, K.tMax(), K.errorGoal(), block);
#define REALTIMETRANSPORT_EXPORT
Definition RealTimeTransport_export.h:15
This class represents a parameter dependent block diagonal matrix.
Definition BlockDiagonalCheb.h:54
Defines the renormalized conductance kernel.
Definition ConductanceKernel.h:37
ConductanceKernel & operator=(ConductanceKernel &&other)
Move assignment operator.
int r() const noexcept
Returns the reservoir index for which the conductance kernel was computed.
ConductanceKernel(const ConductanceKernel &other)
Copy constructor.
ConductanceKernel & operator=(const ConductanceKernel &other)
Copy assignment operator.
ConductanceKernel(const MemoryKernel &K, const CurrentKernel &KI, const Model::OperatorType &stationaryState, int r, Order order, SciCore::Real tMax, SciCore::Real errorGoal, int block=-1)
Computes the conductance kernel for a given model.
Definition ConductanceKernel.h:69
SciCore::Real errorGoal() const noexcept
Returns the error goal of the computation.
ConductanceKernel(ConductanceKernel &&other) noexcept
Move constructor.
SciCore::Real conductance() const
Returns the (stationary) conductance.
ConductanceKernel(const MemoryKernel &K, const CurrentKernel &KI, const Model::OperatorType &stationaryState, int r, Order order, SciCore::Real tMax, SciCore::Real errorGoal, tf::Executor &executor, int block=-1)
Computes the conductance kernel for a given model in parallel.
Definition ConductanceKernel.h:98
Model::OperatorType dState() const
Returns the stationary state derivative .
SciCore::Real tMax() const
Returns the maximum simulation time.
ConductanceKernel() noexcept
Constructor.
Defines the renormalized current kernel.
Definition RenormalizedPT/CurrentKernel.h:35
int r() const noexcept
Returns the reservoir index for which the current kernel was computed.
Defines the renormalized memory kernel.
Definition RenormalizedPT/MemoryKernel.h:55
REALTIMETRANSPORT_EXPORT RenormalizedPT::ConductanceKernel computeConductanceKernel(const RenormalizedPT::MemoryKernel &K, const RenormalizedPT::CurrentKernel &KI, int r, RenormalizedPT::Order order, int block=-1)
Computes the conductance kernel for a given model.
Definition ConductanceKernel.h:209
REALTIMETRANSPORT_EXPORT RenormalizedPT::ConductanceKernel computeConductanceKernel(const RenormalizedPT::MemoryKernel &K, const RenormalizedPT::CurrentKernel &KI, RenormalizedPT::Order order, int block=-1)
Computes the conductance kernel for a given model in the same reservoir for which the current kernel ...
Definition ConductanceKernel.h:184
Order
Defines the order of the approximation.
Definition RenormalizedPT/MemoryKernel.h:41