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

Kinetic Monte Carlo of several electrons or holes with site exclusion in a periodic box: drift velocity, mobility, diffusion tensor and site occupations (BulkSimulation on a bulk ToFGraph with KMCEngine). More...

#include <kmcmultiple.h>

Inheritance diagram for votca::xtp::KMCMultiple:
Collaboration diagram for votca::xtp::KMCMultiple:

Public Member Functions

 KMCMultiple ()=default
 ~KMCMultiple () 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 Member Functions

void WriteRates (const Topology &top)
void WriteOccupation (const ToFGraph &graph, const BulkSimulation::Result &result)
void WriteTrajectory (const BulkSimulation::Result &result)
void WriteTimeFile (const BulkSimulation::Result &result)
double Charge () const
 sign of the carrier charge (0 for neutral excitations)

Private Attributes

Logger log_
QMStateType carriertype_
double temperature_ = 0.0
Eigen::Vector3d field_ = Eigen::Vector3d::Zero()
Eigen::Vector3d field_Vm_ = Eigen::Vector3d::Zero()
std::string injection_pattern_ = "*"
std::string ignore_types_
BulkSimulation::Settings settings_
bool steps_ = false
double runtime_ = 0.0
double outputtime_ = 0.0
std::string waitingtime_ = "exponential"
std::string trajectoryfile_
std::string timefile_
std::string ratefile_
std::string occfile_
std::string resultfile_
bool exact_ = true

Additional Inherited Members

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

Detailed Description

Kinetic Monte Carlo of several electrons or holes with site exclusion in a periodic box: drift velocity, mobility, diffusion tensor and site occupations (BulkSimulation on a bulk ToFGraph with KMCEngine).

The run length (runtime) is a simulated time in seconds if it is at most 100, otherwise a number of KMC events; outputtime is read in the same unit.

Definition at line 48 of file kmcmultiple.h.

Constructor & Destructor Documentation

◆ KMCMultiple()

votca::xtp::KMCMultiple::KMCMultiple ( )
default

◆ ~KMCMultiple()

votca::xtp::KMCMultiple::~KMCMultiple ( )
overridedefault

Member Function Documentation

◆ Charge()

double votca::xtp::KMCMultiple::Charge ( ) const
private

sign of the carrier charge (0 for neutral excitations)

Definition at line 103 of file kmcmultiple.cc.

◆ Evaluate()

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

Implements votca::xtp::QMCalculator.

Definition at line 112 of file kmcmultiple.cc.

◆ Identify()

std::string votca::xtp::KMCMultiple::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 53 of file kmcmultiple.h.

◆ ParseOptions()

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

Implements votca::xtp::QMCalculator.

Definition at line 44 of file kmcmultiple.cc.

◆ WriteOccupation()

void votca::xtp::KMCMultiple::WriteOccupation ( const ToFGraph & graph,
const BulkSimulation::Result & result )
private

Definition at line 348 of file kmcmultiple.cc.

◆ WriteRates()

void votca::xtp::KMCMultiple::WriteRates ( const Topology & top)
private

Definition at line 333 of file kmcmultiple.cc.

◆ WriteTimeFile()

void votca::xtp::KMCMultiple::WriteTimeFile ( const BulkSimulation::Result & result)
private

Definition at line 381 of file kmcmultiple.cc.

◆ WriteToStateFile()

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

Implements votca::xtp::QMCalculator.

Definition at line 54 of file kmcmultiple.h.

◆ WriteTrajectory()

void votca::xtp::KMCMultiple::WriteTrajectory ( const BulkSimulation::Result & result)
private

Definition at line 361 of file kmcmultiple.cc.

Member Data Documentation

◆ carriertype_

QMStateType votca::xtp::KMCMultiple::carriertype_
private

Definition at line 62 of file kmcmultiple.h.

◆ exact_

bool votca::xtp::KMCMultiple::exact_ = true
private

Definition at line 78 of file kmcmultiple.h.

◆ field_

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

Definition at line 64 of file kmcmultiple.h.

◆ field_Vm_

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

Definition at line 65 of file kmcmultiple.h.

◆ ignore_types_

std::string votca::xtp::KMCMultiple::ignore_types_
private

Definition at line 67 of file kmcmultiple.h.

◆ injection_pattern_

std::string votca::xtp::KMCMultiple::injection_pattern_ = "*"
private

Definition at line 66 of file kmcmultiple.h.

◆ log_

Logger votca::xtp::KMCMultiple::log_
private

Definition at line 61 of file kmcmultiple.h.

◆ occfile_

std::string votca::xtp::KMCMultiple::occfile_
private

Definition at line 76 of file kmcmultiple.h.

◆ outputtime_

double votca::xtp::KMCMultiple::outputtime_ = 0.0
private

Definition at line 71 of file kmcmultiple.h.

◆ ratefile_

std::string votca::xtp::KMCMultiple::ratefile_
private

Definition at line 75 of file kmcmultiple.h.

◆ resultfile_

std::string votca::xtp::KMCMultiple::resultfile_
private

Definition at line 77 of file kmcmultiple.h.

◆ runtime_

double votca::xtp::KMCMultiple::runtime_ = 0.0
private

Definition at line 70 of file kmcmultiple.h.

◆ settings_

BulkSimulation::Settings votca::xtp::KMCMultiple::settings_
private

Definition at line 68 of file kmcmultiple.h.

◆ steps_

bool votca::xtp::KMCMultiple::steps_ = false
private

Definition at line 69 of file kmcmultiple.h.

◆ temperature_

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

Definition at line 63 of file kmcmultiple.h.

◆ timefile_

std::string votca::xtp::KMCMultiple::timefile_
private

Definition at line 74 of file kmcmultiple.h.

◆ trajectoryfile_

std::string votca::xtp::KMCMultiple::trajectoryfile_
private

Definition at line 73 of file kmcmultiple.h.

◆ waitingtime_

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

Definition at line 72 of file kmcmultiple.h.


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