12.3.1.4.8. kmctof¶
Time-of-flight kinetic Monte Carlo with site exclusion: carriers are injected in the source region (pulses), hop with Marcus rates and leave at the sink. Every carrier has its own clock; a hop into an occupied site is a null event (exact). Records first arrival and mean transit time per carrier (as grw), the transient current and the collected fraction The following table contains the defaults input options for the calculator, The default OPTIONAL means this option is switched off, if no input is given. REQUIRED arguments have to be specified, otherwise an error is thrown.
Property Name |
Default Value |
Description |
Valid Input |
|---|---|---|---|
carriertype |
electron |
Carrier type |
electron
hole
singlet
triplet
|
temperature |
300 |
Temperature |
float+ |
field |
0.0 0.0 0.0 |
External electric field |
|
tof.axis |
a |
Box vector across which the periodicity is cut; transport
runs along the normal of the face spanned by the other
two box vectors, from fractional coordinate 0 (source
side) to 1 (sink side)
|
a
b
c
|
tof.source.thickness |
1.0 |
Thickness of the source slab at the face with fractional
coordinate 0, measured along the normal (0: no slab criterion)
|
float+ |
tof.source.pattern |
Segment type wildcard, e.g. ‘Alq3*’ (empty: no pattern
criterion)
|
||
tof.sink.thickness |
1.0 |
Thickness of the sink slab at the face with fractional
coordinate 1, measured along the normal (0: no slab criterion)
|
float+ |
tof.sink.pattern |
Segment type wildcard (empty: no pattern criterion) |
||
tof.ignoretypes |
Segment types (wildcards, separated by commas or spaces)
that take no part in transport: no hops to or from them
|
||
seed |
1 |
Seed; run r uses its own random streams derived from (seed,
r), independent of threads
|
int+ |
runs |
1000 |
Number of independent runs |
int+ |
injection.carriers |
1 |
Carriers per pulse |
int+ |
injection.pulses |
1 |
Number of pulses |
int+ |
injection.period |
0 |
Time between pulse starts |
float+ |
injection.shape |
delta |
delta: all carriers at the pulse start; gaussian: times
drawn from a Gaussian of standard deviation width (t >=
0); rectangular: uniform over width
|
delta
gaussian
rectangular
|
injection.width |
0 |
Pulse width |
float+ |
waitingtime |
exponential |
How waiting times are drawn (KMC engine strategy): exponential
(time-homogeneous KMC) or thinning (bound rates and rejection;
with the static rates used here a cross-check of exponential).
Strategies for time-dependent rates plug in through WaitingTimeStrategy
|
exponential
thinning
|
maxtime |
1e10 |
Simulated time limit per run (runs stopped by it are reported
as censored)
|
float+ |
maxevents |
1000000000 |
Limit of proposed hops per run |
int+ |
resultfile |
kmctof_results.dat |
Output: main results as ‘key value unit’ lines (empty: none) |
|
runfile |
kmctof_runs.dat |
Output: one line per run (empty: none) |
|
current.file |
kmctof_current.dat |
Output file (empty: none) |
|
current.tmin |
1e-15 |
Start of the time axis |
float+ |
current.tmax |
1 |
End of the time axis |
float+ |
current.binsperdecade |
10 |
Bins per decade |
int+ |
Note
An xml file containing the defaults for the kmctof calculator can be created via -p kmctof -o FILENAME command line options `