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

#include <RealTimeTransport/RenormalizedPT/ConductanceKernel.h>

This class computes the conductance kernel via the renormalized perturbation theory. This kernel can be used to compute the stationary conductance \( dI_r/d\mu_r \) of reservoir \( r \) without numerical differentiation, which is numerically more stable. The memory and current kernel must be computed first in order to use this class. A cross conductance \( dI_r/d\mu_{r'} \) can be obtained by first computing the current kernel for resrevoir \( r \), and then the conductance kernel for reservoir \( r' \).

Public Member Functions

 ConductanceKernel () noexcept
 Constructor.
 
 ConductanceKernel (ConductanceKernel &&other) noexcept
 Move constructor.
 
 ConductanceKernel (const ConductanceKernel &other)
 Copy constructor.
 
ConductanceKerneloperator= (ConductanceKernel &&other)
 Move assignment operator.
 
ConductanceKerneloperator= (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.
 
 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.
 
int r () const noexcept
 Returns the reservoir index for which the conductance kernel was computed.
 
SciCore::Real tMax () const
 Returns the maximum simulation time.
 
SciCore::Real errorGoal () const noexcept
 Returns the error goal of the computation.
 
SciCore::Real conductance () const
 Returns the (stationary) conductance.
 
Model::OperatorType dState () const
 Returns the stationary state derivative \( d\rho/d\mu_r \).
 

Constructor & Destructor Documentation

◆ ConductanceKernel() [1/2]

RealTimeTransport::RenormalizedPT::ConductanceKernel::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.

Parameters
KThe memory kernel of the model.
KIThe current kernel of the model.
stationaryStateThe Stationary state of the model.
rIndex of the reservoir \( r=0,1,\dots \)
orderThe order of the renormalized perturbation series.
tMaxMaximum time until the conductance kernel is resolved.
errorGoalError goal of the conductance kernel computation.
blockComputes the complete conductance kernel if block==-1, otherwise computes only a single block with index block.

◆ ConductanceKernel() [2/2]

RealTimeTransport::RenormalizedPT::ConductanceKernel::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.

Parameters
KThe memory kernel of the model.
KIThe current kernel of the model.
stationaryStateThe Stationary state of the model.
rIndex of the reservoir \( r=0,1,\dots \)
orderThe order of the renormalized perturbation series.
tMaxMaximum time until the conductance kernel is resolved.
errorGoalError goal of the conductance kernel computation.
executorA Taskflow executor managing threads.
blockComputes the complete conductance kernel if block==-1, otherwise computes only a single block with index block.