|
votca 2026-dev
|
Hop rates of the edges of a ToFGraph as functions of time. More...
#include <kmcrates.h>


Public Member Functions | |
| virtual | ~TimeDependentRates ()=default |
| virtual double | Rate (Index edge, double t) const =0 |
| rate of edge e at time t | |
| virtual double | EscapeRate (Index site, double t) const |
| virtual double | UpperBound (Index edge) const =0 |
| an upper bound of Rate(edge, t) for all t (needed by thinning) | |
| virtual double | Period () const |
| common period T of all rates if they are periodic, 0 otherwise | |
| virtual bool | isStatic () const |
| true if no rate depends on time | |
| const ToFGraph & | Graph () const |
Protected Member Functions | |
| TimeDependentRates (const ToFGraph &graph) | |
Protected Attributes | |
| const ToFGraph & | graph_ |
Hop rates of the edges of a ToFGraph as functions of time.
Edges are identified by their global index in the graph (sites i own the edges [ToFGraph::EdgeOffset(i), ToFGraph::EdgeOffset(i+1))). Times are the absolute simulation time in s (the same clock as the injection times), rates in 1/s. Implementations must be thread safe for the const methods (runs are done in parallel).
Used by the waiting-time strategies of the KMC engine (WaitingTimeStrategy): the strategy decides how waiting times are drawn from these rates.
Example for a time-dependent implementation (to be written for oscillating fields): Marcus rates with the field F(t) = F0 + F1 cos(2 pi f t + phi), evaluated per edge from constants stored at construction (prefactor, site-energy difference, R_ij, reorganization energy), with Period() = 1/f and UpperBound() = the maximum over one period.
Definition at line 52 of file kmcrates.h.
|
virtualdefault |
|
inlineexplicitprotected |
Definition at line 75 of file kmcrates.h.
|
virtual |
sum of the rates of the out-edges of site i at time t; override if it can be computed faster than the sum over the edges
Reimplemented in votca::xtp::StaticRates.
Definition at line 31 of file kmcwaitingtime.cc.
|
inline |
Definition at line 72 of file kmcrates.h.
|
inlinevirtual |
true if no rate depends on time
Reimplemented in votca::xtp::StaticRates.
Definition at line 70 of file kmcrates.h.
|
inlinevirtual |
common period T of all rates if they are periodic, 0 otherwise
Definition at line 67 of file kmcrates.h.
|
pure virtual |
rate of edge e at time t
Implemented in votca::xtp::StaticRates.
|
pure virtual |
an upper bound of Rate(edge, t) for all t (needed by thinning)
Implemented in votca::xtp::StaticRates.
|
protected |
Definition at line 76 of file kmcrates.h.