21#ifndef VOTCA_XTP_STOCHASTICNETWORKFIT_H
22#define VOTCA_XTP_STOCHASTICNETWORKFIT_H
98 std::vector<Index>
l_b;
99 std::vector<Index>
l_c;
113 Eigen::Vector3d
box = Eigen::Vector3d::Zero();
124 std::vector<double>
J2;
129 const std::vector<QMStateType>& carriers);
132 const std::vector<QMStateType>& carriers,
133 const Eigen::Vector3d& box);
137 std::vector<double>
r;
193 const std::vector<Eigen::Vector3d>& points,
const Eigen::Vector3d& box);
196 const std::vector<Eigen::Vector3d>& points,
const Eigen::Vector3d& box,
197 Index probes, std::uint64_t seed);
199 static Curve Cdf(
const std::vector<double>& x,
const std::vector<double>& r);
202 const Eigen::Vector3d& box,
double bin,
207 const Eigen::Vector3d& box,
208 const std::vector<double>& z,
double bin,
209 double rmax,
const std::vector<char>& skip = {});
213 static std::vector<Curve>
Overlaps(
const std::vector<Eigen::Vector3d>& points,
214 const Eigen::Vector3d& box,
215 const std::vector<Index>& l,
double bin,
219 static double FitWeights(
const Curve& kappa,
const Curve& Ob,
const Curve& Oc,
220 double& w_b,
double& w_c);
222 static Curve
PairsPerSite(
const Data& data,
double bin,
double rmax);
234 std::vector<double>& standardized)
const;
static Curve PairCorrelation(const std::vector< Eigen::Vector3d > &points, const Eigen::Vector3d &box, double bin, double rmax)
pair correlation function in bins of width bin up to rmax
Curve FitConnection() const
static Curve Cdf(const std::vector< double > &x, const std::vector< double > &r)
empirical distribution function on a grid
static std::vector< double > NearestDistances(const std::vector< Eigen::Vector3d > &points, const Eigen::Vector3d &box)
nearest neighbour distances
static Curve PairsPerSite(const Data &data, double bin, double rmax)
pairs per site in distance bins (connected pairs of the data)
static double NormalQuantile(double u)
inverse of the standard normal distribution function
static std::vector< double > ContactDistances(const std::vector< Eigen::Vector3d > &points, const Eigen::Vector3d &box, Index probes, std::uint64_t seed)
distances of probes random positions to the nearest point
static Data FromNetwork(const StochasticNetwork &net, const std::vector< QMStateType > &carriers, const Eigen::Vector3d &box)
the same data from a model network (validation)
StochasticNetworkFit(const Data &data, const Settings &settings)
PointFit FitPoints() const
static std::vector< Curve > Overlaps(const std::vector< Eigen::Vector3d > &points, const Eigen::Vector3d &box, const std::vector< Index > &l, double bin, double rmax)
overlap curves O_l(r) for the given l
CouplingFit FitCoupling(Index carrier, std::vector< double > &standardized) const
static double FitWeights(const Curve &kappa, const Curve &Ob, const Curve &Oc, double &w_b, double &w_c)
static Curve MeanLog10J2(const Data &data, Index carrier, double bin, double rmax)
mean of log10(J^2/eV^2) in distance bins
static Curve Correlation(const std::vector< Eigen::Vector3d > &points, const Eigen::Vector3d &box, const std::vector< double > &z, double bin, double rmax, const std::vector< char > &skip={})
static Data FromTopology(const Topology &top, const std::vector< QMStateType > &carriers)
Stochastic network model of a molecular charge transport network (Baumeier, Stenzel,...
Container for segments and box and atoms.
Provides a means for comparing floating point numbers.
StochasticNetwork::CouplingModel model
std::vector< double > value
std::vector< double > count
std::vector< double > U_xX_nN
std::vector< Eigen::Vector3d > positions
std::vector< Pair > pairs
std::vector< double > U_xN_xX
std::vector< QMStateType > carriers
std::vector< double > U_nX_nN
std::vector< std::vector< double > > energies
Curve l_c_scan
rms of the best fit for each l_c (r: l_c)
Curve kappa_model
the model on the microscopic sites, in the same (sample) form
StochasticNetwork::PointProcess process
StochasticNetwork::Options options
std::vector< CouplingFit > couplings
std::vector< EnergyFit > energies
StochasticNetwork::PointProcess points
double correlation_cutoff
largest distance for kappa(r) and O_l(r); 0: just below half the box
std::vector< TrapInput > traps
std::vector< QMStateType > carriers
bool fit_points
false: the point process is not fitted but taken from points