|
votca 2026-dev
|
TEMPLATE, NOT IMPLEMENTED: waiting times for periodic rates by inverting the integrated escape rate (BEP R. Paiders, nhKMC, Algorithms 3 and 4; Prados, Brey, Sanchez-Rey 1997). More...
#include <kmcwaitingtime.h>


Classes | |
| struct | Settings |
Public Member Functions | |
| IntegratedRateInversion (const Settings &settings) | |
| std::string | Name () const override |
| void | Prepare (const TimeDependentRates &rates) override |
| double | NextTime (Index site, double t, KMCRandom &random) const override |
| Index | ChooseHop (Index site, double t, KMCRandom &random) const override |
| Public Member Functions inherited from votca::xtp::WaitingTimeStrategy | |
| virtual | ~WaitingTimeStrategy ()=default |
Private Attributes | |
| Settings | settings_ |
| const TimeDependentRates * | rates_ = nullptr |
TEMPLATE, NOT IMPLEMENTED: waiting times for periodic rates by inverting the integrated escape rate (BEP R. Paiders, nhKMC, Algorithms 3 and 4; Prados, Brey, Sanchez-Rey 1997).
For a carrier on site i at time t0 the waiting time dt solves -ln u = int_{t0}^{t0+dt} lambda_i(s) ds, u ~ U(0,1], lambda_i(t) = TimeDependentRates::EscapeRate(i, t) > 0 with period T. With Lambda_i(t) = int_0^t lambda_i, I_T = Lambda_i(T) and t0 = l T + t0*: m = floor((g + Lambda_i(t0*)) / I_T) ... (BEP eqs. 11-18) so only Lambda_i on [0, T) (or [0, 2T)) and I_T are needed, precomputed per site in Prepare() (quadrature + monotone PCHIP interpolant), and the remainder is a bounded, monotone root search.
ChooseHop(i, t): edge e with probability w_e(t) / lambda_i(t) at the event time t (never -1, apart from rounding).
Notes for the implementation:
Definition at line 149 of file kmcwaitingtime.h.
|
inlineexplicit |
Definition at line 156 of file kmcwaitingtime.h.
|
overridevirtual |
Implements votca::xtp::WaitingTimeStrategy.
Definition at line 161 of file kmcwaitingtime.cc.
|
inlineoverridevirtual |
Implements votca::xtp::WaitingTimeStrategy.
Definition at line 158 of file kmcwaitingtime.h.
|
overridevirtual |
Implements votca::xtp::WaitingTimeStrategy.
Definition at line 155 of file kmcwaitingtime.cc.
|
overridevirtual |
Implements votca::xtp::WaitingTimeStrategy.
Definition at line 137 of file kmcwaitingtime.cc.
|
private |
Definition at line 165 of file kmcwaitingtime.h.
|
private |
Definition at line 164 of file kmcwaitingtime.h.