21#ifndef VOTCA_XTP_LIFETIMESIMULATION_H
22#define VOTCA_XTP_LIFETIMESIMULATION_H
155 const std::vector<double>& decay_rates,
156 Index direct_limit = 20000,
157 double tolerance = 1
e-12);
177 std::vector<EnergySample>* energy)
const;
std::unique_ptr< TimeDependentRates > own_rates_
std::unique_ptr< KMCEngine > engine_
std::unique_ptr< WaitingTimeStrategy > own_strategy_
static ExactResult Exact(const ToFGraph &graph, const std::vector< double > &decay_rates, Index direct_limit=20000, double tolerance=1e-12)
RunData SingleRun(Index run, Index decays, std::vector< EnergySample > *energy) const
std::vector< double > decay_rates_
void Setup(WaitingTimeStrategy &strategy, const TimeDependentRates &rates)
LifetimeSimulation(const ToFGraph &graph, std::vector< double > decay_rates, const Settings &settings)
Hop rates of the edges of a ToFGraph as functions of time.
Hopping graph for time-of-flight (ToF) transport.
How a carrier's next hop is drawn: the waiting time and the destination. The pluggable part of the KM...
Provides a means for comparing floating point numbers.
sums over the decays of one run
Eigen::Vector3d components
Eigen::VectorXd decay_probability
double squared_displacement
Eigen::Vector3d squared_components
Eigen::VectorXd occupation
expected time per site per carrier, normalized by the lifetime
Eigen::Vector3d displacement
Eigen::VectorXd occupation
occupation probability per site (sum: number of carriers)
std::vector< Record > records
double squared_displacement
Eigen::VectorXd decay_fraction
fraction of the decays per site
std::vector< EnergySample > energy
double mean_distance_error
Eigen::Vector3d squared_components
double squared_displacement_error
KMCEngine::RunStatus status
std::vector< Record > records
Eigen::VectorXd occupation
double max_wall_time
wall-clock limit of each run (s)
bool keep_records
keep the record of every decay
Index decays
decays in total, distributed over the runs