21#ifndef VOTCA_XTP_TOFGRAPH_H
22#define VOTCA_XTP_TOFGRAPH_H
101 const std::string& ignore_types);
111 Eigen::Vector3d
pos = Eigen::Vector3d::Zero();
128 Eigen::Vector3d
dR = Eigen::Vector3d::Zero();
147 double temperature,
const Eigen::Vector3d& field);
218 Eigen::Vector3d
normal_ = Eigen::Vector3d::Zero();
[begin, end) of the out-edges of one site
const Edge * begin() const
EdgeRange(const Edge *b, const Edge *e)
void SetupSites(const Topology &top)
QMStateType CarrierType() const
const Eigen::Vector3d & Field() const
Index NumberOfIgnoredSites() const
sites of ignored segment types
const Site & getSite(Index i) const
std::vector< double > escape_rates_
std::vector< Index > disconnected_sources_
double DetailedBalanceDeviation() const
largest |ln(w_ij/w_ji) - (U_i - U_j)/kT| over all pairs
const std::vector< Index > & SourceSites() const
source sites from which a sink can be reached
std::vector< Site > sites_
Index NumberOfSites() const
const Edge & getEdge(Index e) const
const std::vector< Index > & DisconnectedSources() const
source sites from which no sink can be reached (excluded above)
std::vector< Index > offsets_
const std::vector< Index > & SinkSites() const
Index NumberOfCutPairs() const
std::vector< Index > sources_
std::vector< Edge > edges_
ToFGraph(const Topology &top, const Options &opt, QMStateType carrier, double temperature, const Eigen::Vector3d &field)
temperature as kT in Hartree, field in Hartree/bohr (as Rate_Engine)
double Temperature() const
static Options BulkOptions(const std::string &injection_pattern, const std::string &ignore_types)
Index NumberOfEdges() const
EdgeRange OutEdges(Index i) const
const std::vector< Site > & Sites() const
Index sites_without_sink_
double Thickness() const
thickness of the box along the normal
bool isReversible() const
std::vector< Index > sinks_
const Eigen::Vector3d & Normal() const
unit normal of the cut face, pointing from source to sink side
static Options OptionsFromProperty(const tools::Property &tof)
Options from the "tof" subpackage (subpackages/tof.xml), lengths in nm.
void SetupEdges(const Topology &top)
Index EdgeOffset(Index i) const
double EscapeRate(Index i) const
sum of the rates of all out-edges
std::string Summary() const
human readable summary
Container for segments and box and atoms.
Charge transport classes.
Provides a means for comparing floating point numbers.
std::string source_pattern
std::vector< std::string > ignore_types
segment type wildcards of segments without edges
Index axis
box vector across which the periodicity is cut (0: a, 1: b, 2: c)
double potential
energy + field term, U = E - q F.r: hops release U_i - U_j
bool reaches_sink
a sink can be reached from this site (always true for sinks)
double energy
site energy of the carrier
bool ignored
segment type in Options::ignore_types, no edges
double x
coordinate along the transport normal, in [0, thickness)
Eigen::Vector3d pos
position with the fractional coordinates wrapped into [0,1)