votca 2026-dev
Loading...
Searching...
No Matches
votca::xtp::KMCToF Class Referencefinal

Time-of-flight kinetic Monte Carlo: carriers are injected in the source region (one or more pulses), hop with site exclusion and leave at the sink. Records per run the first arrival and the mean transit time per carrier (the observables "first" and "transit" of grw) and the transient current (Ramo-Shockley) and collected fraction on a logarithmic time axis. More...

#include <kmctof.h>

Inheritance diagram for votca::xtp::KMCToF:
Collaboration diagram for votca::xtp::KMCToF:

Public Member Functions

 KMCToF ()=default
 ~KMCToF () override=default
std::string Identify () const override
 Calculator name.
bool WriteToStateFile () const override
Public Member Functions inherited from votca::xtp::QMCalculator
 QMCalculator ()=default
 ~QMCalculator () override=default
std::string Package () const final
 Package name.
bool EvaluateFrame (Topology &top)
void Initialize (const tools::Property &opt) final
 Initializes a calculator from an XML file with options.
Public Member Functions inherited from votca::tools::Calculator
 Calculator ()=default
virtual ~Calculator ()=default
void setnThreads (Index nThreads)
 Sets number of threads to use.

Protected Member Functions

void ParseOptions (const tools::Property &options) override
bool Evaluate (Topology &top) override

Private Attributes

Logger log_
QMStateType carriertype_
double temperature_ = 0.0
Eigen::Vector3d field_ = Eigen::Vector3d::Zero()
Eigen::Vector3d field_Vm_ = Eigen::Vector3d::Zero()
ToFGraph::Options tof_
std::uint64_t seed_ = 1
Index runs_ = 1000
std::vector< KMCEngine::Pulse > pulses_
KMCEngine::Limits limits_
std::string waitingtime_ = "exponential"
std::string runfile_
std::string currentfile_
std::string resultfile_
double tmin_ = 1e-15
double tmax_ = 1.0
Index bins_per_decade_ = 10

Additional Inherited Members

Protected Attributes inherited from votca::tools::Calculator
Index nThreads_
bool maverick_

Detailed Description

Time-of-flight kinetic Monte Carlo: carriers are injected in the source region (one or more pulses), hop with site exclusion and leave at the sink. Records per run the first arrival and the mean transit time per carrier (the observables "first" and "transit" of grw) and the transient current (Ramo-Shockley) and collected fraction on a logarithmic time axis.

Definition at line 45 of file kmctof.h.

Constructor & Destructor Documentation

◆ KMCToF()

votca::xtp::KMCToF::KMCToF ( )
default

◆ ~KMCToF()

votca::xtp::KMCToF::~KMCToF ( )
overridedefault

Member Function Documentation

◆ Evaluate()

bool votca::xtp::KMCToF::Evaluate ( Topology & top)
overrideprotectedvirtual

Implements votca::xtp::QMCalculator.

Definition at line 90 of file kmctof.cc.

◆ Identify()

std::string votca::xtp::KMCToF::Identify ( ) const
inlineoverridevirtual

Calculator name.

This name is used to register a calculator in a Factory It the name of the XML file with the default calculator options stored in VOTCASHARE

Returns
calculator name

Implements votca::xtp::QMCalculator.

Definition at line 50 of file kmctof.h.

◆ ParseOptions()

void votca::xtp::KMCToF::ParseOptions ( const tools::Property & options)
overrideprotectedvirtual

Implements votca::xtp::QMCalculator.

Definition at line 43 of file kmctof.cc.

◆ WriteToStateFile()

bool votca::xtp::KMCToF::WriteToStateFile ( ) const
inlineoverridevirtual

Implements votca::xtp::QMCalculator.

Definition at line 51 of file kmctof.h.

Member Data Documentation

◆ bins_per_decade_

Index votca::xtp::KMCToF::bins_per_decade_ = 10
private

Definition at line 74 of file kmctof.h.

◆ carriertype_

QMStateType votca::xtp::KMCToF::carriertype_
private

Definition at line 59 of file kmctof.h.

◆ currentfile_

std::string votca::xtp::KMCToF::currentfile_
private

Definition at line 70 of file kmctof.h.

◆ field_

Eigen::Vector3d votca::xtp::KMCToF::field_ = Eigen::Vector3d::Zero()
private

Definition at line 61 of file kmctof.h.

◆ field_Vm_

Eigen::Vector3d votca::xtp::KMCToF::field_Vm_ = Eigen::Vector3d::Zero()
private

Definition at line 62 of file kmctof.h.

◆ limits_

KMCEngine::Limits votca::xtp::KMCToF::limits_
private

Definition at line 67 of file kmctof.h.

◆ log_

Logger votca::xtp::KMCToF::log_
private

Definition at line 58 of file kmctof.h.

◆ pulses_

std::vector<KMCEngine::Pulse> votca::xtp::KMCToF::pulses_
private

Definition at line 66 of file kmctof.h.

◆ resultfile_

std::string votca::xtp::KMCToF::resultfile_
private

Definition at line 71 of file kmctof.h.

◆ runfile_

std::string votca::xtp::KMCToF::runfile_
private

Definition at line 69 of file kmctof.h.

◆ runs_

Index votca::xtp::KMCToF::runs_ = 1000
private

Definition at line 65 of file kmctof.h.

◆ seed_

std::uint64_t votca::xtp::KMCToF::seed_ = 1
private

Definition at line 64 of file kmctof.h.

◆ temperature_

double votca::xtp::KMCToF::temperature_ = 0.0
private

Definition at line 60 of file kmctof.h.

◆ tmax_

double votca::xtp::KMCToF::tmax_ = 1.0
private

Definition at line 73 of file kmctof.h.

◆ tmin_

double votca::xtp::KMCToF::tmin_ = 1e-15
private

Definition at line 72 of file kmctof.h.

◆ tof_

ToFGraph::Options votca::xtp::KMCToF::tof_
private

Definition at line 63 of file kmctof.h.

◆ waitingtime_

std::string votca::xtp::KMCToF::waitingtime_ = "exponential"
private

Definition at line 68 of file kmctof.h.


The documentation for this class was generated from the following files: