49 const double *
box{
nullptr};
65 std::function<VectorXd(
double)>
seed;
90 const ScanOptions &options);
94void integrate(std::vector<Plane> &planes);
115Rate
rate(
const std::vector<Plane> &planes,
double beta);
135 std::function<VectorXd(
double)>
seed;
158 const RecrossingOptions &options);
170std::vector<std::string>
173 const MatrixXd &hSaddle,
const std::vector<VectorXd> &pathQ,
174 const std::vector<double> &temperatures,
175 std::vector<std::pair<std::string, double>> &extras);
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, eOnStorageOrder > MatrixXd
Recrossing recrossing(Potential &pot, const Coordinate &c, const RecrossingOptions &o)
Bennett-Chandler transmission at s*: parents sampled with the centroid held on the plane,...
std::vector< Plane > scan(Potential &pot, const Coordinate &c, const ScanOptions &o)
Samples one ring per plane and integrates the mean force.
std::vector< std::string > runAfterInstanton(const Parameters ¶ms, Potential &pot, const Matter &reactant, const Matter &saddle, const MatrixXd &hSaddle, const std::vector< VectorXd > &pathQ, const std::vector< double > &temperatures, std::vector< std::pair< std::string, double > > &extras)
[Instanton] mode rate with pi_planes > 0: the planes and rate at each temperature,...
void integrate(std::vector< Plane > &planes)
Trapezoid integral of the mean forces, F(s_0) = 0, with errors from independent planes.
Rate rate(const std::vector< Plane > &planes, double beta)
k = (1/2) sqrt(2 / (pi beta)) exp(-beta F(s*)) / int_{s_0}^{s*} exp(-beta F(s)) ds,...
void validateOptions(const instanton_options_t &o)
Throws std::invalid_argument on an inconsistent [Instanton] pi_* key.
RAII resource manager for the ARTn C library with global synchronization.
std::vector< int > numbers
std::vector< double > masses
double freeEnergy
F(s) - F(s_0) by the trapezoid rule over the planes, eV, and its standard error from the mean-force e...
std::vector< double > spread
Root-mean-square bead displacement from the centroid per Cartesian coordinate, Angstrom,...
VectorXd centroid
Production average of the centroid, Cartesian.
double meanForce
dF/ds = -<n .
long reactant
Index of the plane with the lowest F, the reactant.
double firstPlaneHeight
beta (F(s_0) - F(reactant)): the reactant integral is cut at s_0, so a small value means the first pl...
double logRate
ln k with k in inverse eOn time units (sqrt(amu Angstrom^2 / eV)), and its standard error.
double barrier
F(s*) - F(reactant), eV, and its error.
long parents
Parent configurations, each this many thermostatted steps after the last.
long equilibration
Thermostatted steps on the plane before the first parent.
std::function< VectorXd(double)> seed
Cartesian centroid to start the parent ring at.
long steps
Unconstrained, thermostat-free steps per child of ring.dt.
long children
Momentum draws per parent; each runs forward and reversed.
double s
The dividing plane s*, amu^0.5 Angstrom.
pathintegral::Options ring
The parents' ring and thermostat.
std::vector< double > time
t = step * ring.dt, from 0 to steps * ring.dt, and kappa(t) = <sdot(0) h(s(t) - s*)> / <sdot(0) h(sdo...
double plateau
Mean of kappa(t) over the last quarter of the times, and its jackknife standard error over parents.
std::vector< double > kappa
std::function< VectorXd(double)> seed
Cartesian centroid to start the ring at on the plane at s.
std::vector< double > planes
Plane positions in amu^0.5 Angstrom, ascending.
long blocks
Equal blocks of the production run for the standard error.
pathintegral::Options ring
Beads, temperature, units (kB in eV / K, hbar in eV time units), time step and thermostat of the ring...