VOLUME 1, ISSUE 3 · SPRING 2025 · ORIGINAL RESEARCH
The Reaction That Gives You the Wrong Product Because You Were Impatient
Computational study · Peer-edited by the club review board · LaTeX source · Analysis code · Raw output · Interactive model
A Reaction With Two Doors
Somebody on the synthesis side of the club ran a reaction last term, checked it after twenty minutes by the fastest method on hand, saw a product spot, and moved on to the next step of a three-step sequence built entirely on that identification. Two weeks later a member repeating the purification noticed the spot had shifted. It was the wrong compound. Not contaminated, not degraded: wrong, in the specific sense that the flask had been making two things from the same starting material the whole time, and the fast one had been mistaken for the only one.
Kinetic versus thermodynamic control is the entire premise here, and organic chemistry courses hand out the vocabulary for it in a single lecture: the kinetic product forms through the lower barrier and wins early, the thermodynamic product sits in the deeper energy well and wins eventually, and somewhere between "early" and "eventually" the balance flips. What the lecture rarely supplies is a number. How long is eventually? Long enough to matter to a person running the reaction, or so long that "eventually" is a philosopher's word with no chemistry attached to it? The club has no bench, no fume hood and no way to run this experiment for real. What it has is a description precise enough to integrate, so that is what we did.
The Model We Actually Ran
Take a starting material \(A\) that can become either of two products through separate, reversible, one-step reactions that never exchange material with each other directly:
$$A \underset{k_{1r}}{\overset{k_1}{\rightleftharpoons}} B \qquad\qquad A \underset{k_{2r}}{\overset{k_2}{\rightleftharpoons}} C$$\(B\) is the kinetic product: call it that because we will arrange for \(k_1 > k_2\), a lower barrier and a faster forward rate. \(C\) is the thermodynamic product: more stable, in the sense that its equilibrium constant \(K_2 = k_2/k_{2r}\) will end up larger than \(K_1 = k_1/k_{1r}\), even though it gets there more slowly. Every rate constant obeys the Arrhenius law [1], \(k(T) = A_{\text{pref}} \, e^{-E_a/RT}\), with a single shared pre-exponential factor \(A_{\text{pref}} = 10^{13}\,\text{s}^{-1}\) for all four steps, a number in the generic range transition-state theory [3] hands out for an ordinary unimolecular step. The two forward barriers, \(E_{a1}\) and \(E_{a2}\), are free parameters we set directly. The two reverse barriers are not free. Thermodynamics fixes them, through the identity \(K_{eq} = k_f/k_r = e^{-\Delta G/RT}\) [2][4]: with a shared pre-exponential factor this forces
$$E_{a,\text{reverse}} = E_{a,\text{forward}} - \Delta G$$so that specifying a forward barrier and a product stability \(\Delta G\) determines the reverse barrier exactly, at every temperature, to machine precision. No extra assumption gets bolted onto the kinetics afterwards: the identity is what makes the kinetic picture and the thermodynamic picture the same picture, a unity the IUPAC definitions of kinetic control and thermodynamic control [5][6] both take for granted and neither one derives.
The rate equations follow directly from mass action:
$$\frac{dA}{dt} = -(k_1+k_2)A + k_{1r}B + k_{2r}C \qquad \frac{dB}{dt} = k_1 A - k_{1r} B \qquad \frac{dC}{dt} = k_2 A - k_{2r} C$$with \(A(0)=A_0\), \(B(0)=C(0)=0\), and \(A+B+C=A_0\) enforced by the equations themselves rather than assumed. Two solvers work this system, on purpose. The first is a fixed-step, fourth-order Runge-Kutta integrator [16] written from scratch: no ODE library, four rate evaluations per step, the same method a first numerical-methods course teaches. The second exploits something the first ignores: at fixed temperature these equations are linear with constant coefficients, so eliminating \(C=A_0-A-B\) leaves a 2×2 linear system solvable exactly by eigendecomposition. That closed-form solution is no rival to RK4, only a shortcut: exact, limited solely by floating-point arithmetic, it lets the later sections evaluate crossover times that would otherwise demand marching a fixed-step integrator out past 1014 seconds, one small step at a time, for hundreds of parameter combinations. Section 4 checks that the two agree before either is trusted.
Two Numbers, Not One
Everything below turns on two differences, and it helps to name them before the equations bury them. The first is a barrier gap, \(\Delta E_a = E_{a2}-E_{a1}\): how much higher the thermodynamic channel's barrier sits above the kinetic channel's. The second is a stability gap, \(\Delta\Delta G = \Delta G_C - \Delta G_B\): how much lower the thermodynamic product's energy sits below the kinetic product's, given that both are already below the starting material. Our baseline reaction fixes \(E_{a1}=90\) kJ/mol, \(E_{a2}=100\) kJ/mol, \(\Delta G_B=-15\) kJ/mol, \(\Delta G_C=-40\) kJ/mol, at \(T=298.15\) K, which makes \(\Delta E_a = 10\) kJ/mol and \(\Delta\Delta G = -25\) kJ/mol. Every other number in this section is arithmetic on those four inputs, nothing more.
\(k_1 = 10^{13} \exp(-90000/(8.314 \times 298.15)) = 1.708764 \times 10^{-3}\,\text{s}^{-1}\), a half-life of 405.6 s for the kinetic channel taken alone. \(k_2 = 10^{13} \exp(-100000/2478.8) = 3.025227\times10^{-5}\,\text{s}^{-1}\), a half-life of \(2.291\times 10^4\) s, about 6.4 hours, for the thermodynamic channel alone. Ten kJ/mol of extra barrier slows the forward step by a factor of \(k_1/k_2 = 56.5\). The reverse barriers come from equation (3): \(E_{a1r} = 90-(-15)=105\) kJ/mol gives \(k_{1r}=4.025278\times10^{-6}\, \text{s}^{-1}\) and \(K_1=k_1/k_{1r}=424.5\); \(E_{a2r}=100-(-40)=140\) kJ/mol gives \(k_{2r}=2.972085\times10^{-12}\,\text{s}^{-1}\), nine orders of magnitude below \(k_{1r}\), and \(K_2=k_2/k_{2r}=1.017881\times10^{7}\). Divide: \(K_2/K_1 = 2.397786\times10^4\). The thermodynamic product ends up outnumbering the kinetic one twenty-four thousand to one, purely because its retreat is nine orders of magnitude slower, not because it forms faster. It does not form faster. It forms 56.5 times slower and wins anyway, eventually, by almost never stepping backward once it arrives.
Checking the Engine
Five checks run before any of the results above are allowed to matter, and all five pass, but one of them did not pass on the first attempt, which is worth admitting before describing what fixed it.
1. RK4 against the textbook closed form. With the thermodynamic channel switched off (\(k_2=k_{2r}=0\)), the remaining reaction \(A \rightleftharpoons B\) has the standard solution \(B(t) = B_e(1-e^{-(k_1+k_{1r})t})\). RK4 with 200,000 steps matches it at 22 checkpoints spanning four orders of magnitude in time to a maximum relative difference of 7.22 × 10−14, which is ordinary double-precision floating-point noise and nothing more.
2. RK4 against the exact linear solution, full model. Both channels active, baseline parameters, RK4 with 400,000 steps against the eigendecomposition solution at 18 checkpoints from 0.05 s to 20,000 s: maximum difference in \(C-B\), relative to \(A_0\), is 1.06×10−13. These are two different algorithms solving the same equations by unrelated routes, so this agreement is a real check on both, not a comparison of a method against itself.
3. The two textbook limits. As \(t\to0\), \(B\) and \(C\) both grow linearly from zero, so their ratio should converge to \(k_2/k_1 = 1.770418\times10^{-2}\). As \(t\to\infty\), it should converge to \(K_2/K_1 = 2.397786\times10^4\). The long-time check is easy: at \(t=10^{40}\) s the simulated ratio matches to 7.89×10−15. The short-time check is where the first attempt failed. Evaluated by the exact linear solution at \(t=10^{-10}\) s, the ratio was off by 8.9%, a real disagreement, not noise. The cause was not the physics. The exact solution computes \(B(t)\) as an equilibrium value minus an almost-equal exponential correction, and at \(t\) many orders of magnitude below any of the system's own timescales that subtraction cancels essentially all of the significant digits involved. A single RK4 step has no such subtraction to perform; it multiplies an \(O(1)\) rate by a small \(\mathrm{d}t\) directly. Re-run as a single RK4 step of size \(10^{-14}\) s, the ratio matches \(k_2/k_1\) to zero measurable difference at double precision. Both numbers describe the same limit. Only one of the two ways of asking the question survives asking it at an extreme.
4. Mass conservation. \(\max|A+B+C-A_0|/A_0\) over the RK4 trajectory in check 2: 2.01×10−14. Over the exact solution across 40 points from \(10^{-6}\) to \(10^{30}\) s: 1.11×10−16. Nothing leaks.
5. Convergence order. RK4 is a fourth-order method, so halving the step size should cut the global error by \(2^4=16\). Doubling the step count from 8 to 2048 on the single-reaction problem gives an observed order that stabilises at 4.0 to 4.4 per doubling before floating-point noise floors the error below \(10^{-14}\), with a mean of 4.125 against the theoretical 4.000. Figure 5 plots it.
A Day, Then a Season, in the Life of A, B and C
Figure 1 follows the baseline reaction from a tenth of a second to ten years. \(B\) is not shy. By 3,600 s it already holds 97.8% of the material, and it keeps climbing for another 90 minutes past that.
The decline afterward is the part a short experiment never sees. \(k_{1r}\) is small next to \(k_1\), but it is not zero, and it does not need to compete with \(k_1\) to matter. It only needs to compete with how little \(A\) is left. Once \(A\) has mostly drained away, the small fraction of \(B\) constantly stepping back into \(A\) becomes the dominant supply feeding the far slower \(C\) channel, and \(B\) starts falling even though nothing about \(B\) itself has changed. By the time \(C\) catches up at \(t^*\), \(B\) has already dropped from its own peak of 0.9800 mol/L to 0.4994 mol/L, a decline of 49.0% that happened entirely before the crossover this article is named after.
How Long, Really
The crossover time is the number this whole article is built around, so it earns its own figure, plotted as a ratio rather than as two competing curves. Figure 2 shows \(C(t)/B(t)\) on log-log axes across the same ten decades.
Notice what the flat stretches mean. For four decades of time, from a hundredth of a second to roughly ten thousand seconds, the ratio does not move. Waiting ten times longer inside that stretch buys nothing: the mixture composition is set by the ratio of forward rate constants and by nothing else, and it stays that way until the reverse reactions have had enough time to matter. Then, across less than two decades of time, the entire picture inverts, and that inversion is exactly what punishes an impatient chemist: the two safe regions, kinetic control and thermodynamic control, are each wide and forgiving, while the transition between them is narrow and unforgiving. A reaction checked at a slightly wrong time is fine. A reaction checked inside the transition window is not telling you either limit, and 111.7 days is not an obviously wrong place to check a reaction that started this morning.
Turn Up the Heat
Nothing about \(\Delta E_a\) or \(\Delta\Delta G\) changes with temperature; they are properties of the molecules. Rate constants are not. Table 1 sweeps the baseline reaction's temperature from 250 K to 400 K and recomputes the crossover time at each point.
| T (K) | k1 (s⁻¹) | k2 (s⁻¹) | K2/K1 | crossover t* |
|---|---|---|---|---|
| 250.00 | 1.5700×10⁻⁶ | 1.2781×10⁻⁸ | 1.672×10⁴ | 2,332 yr |
| 260.00 | 8.3010×10⁻⁶ | 8.1310×10⁻⁸ | 1.053×10⁴ | 277.5 yr |
| 270.00 | 3.8797×10⁻⁴ | 4.5104×10⁻⁵ | 6.862×10³ | 38.66 yr |
| 280.00 | 1.6241×10⁻³ | 2.2138×10⁻⁶ | 4.610×10³ | 6.199 yr |
| 290.00 | 6.1598×10⁻³ | 9.7366×10⁻⁶ | 3.183×10³ | 1.128 yr |
| T = 298.15 K, the baseline | ||||
| 298.15 | 1.7088×10⁻³ | 3.0252×10⁻⁵ | 2.398×10⁴ | 111.7 d |
| 310.00 | 6.8454×10⁻³ | 1.4140×10⁻⁴ | 1.631×10⁴ | 18.95 d |
| 320.00 | 2.0384×10⁻² | 4.7533×10⁻⁴ | 1.204×10⁴ | 4.694 d |
| 340.00 | 1.4909×10⁻¹ | 4.3368×10⁻³ | 6,930 | 8.842 hr |
| 360.00 | 0.8742 | 3.0950×10⁻² | 4,240 | 55.22 min |
| 380.00 | 4.2548 | 0.17960 | 2,732 | 7.289 min |
| 400.00 | 17.678 | 0.87417 | 1,839 | 1.178 min |
Warming the baseline reaction by 30 degrees, from room temperature to 328 K, would cut the wait by roughly an order of magnitude; the table shows a full run from 250 K to 400 K doing it across five and a half orders of magnitude, from 2,332 years down to 71 seconds. Heating from 298.15 K to 400 K divides the wait by 137,000. Cooling from 298.15 K to 250 K multiplies it by 7,620. Neither number is exotic chemistry. Both come from the same Arrhenius exponential every first-year course teaches, applied honestly to four rate constants instead of one, and the practical lesson is blunt: a reaction that looks kinetically frozen at room temperature and hopeless to wait out may simply need a hotplate, and a reaction that looks like it equilibrates overnight may only look that way because the bench happens to sit at 298 K rather than 260 K.
The Map of Where Waiting Works
The temperature sweep holds \(\Delta E_a\) and \(\Delta\Delta G\) fixed and moves \(T\). This section does the opposite: fix \(T=298.15\) K and sweep \(\Delta E_a\) from 0 to 50 kJ/mol against \(\Delta\Delta G\) from −40 to +10 kJ/mol, 676 combinations, and classify each one by how long it takes the thermodynamic product to overtake, or whether it ever does.
Two features of this map matter more than any single cell. First, the rust band along the top: 22.5% of the 676 combinations never cross, not because the wait is long but because we set \(\Delta\Delta G \ge 0\) there, meaning the labelled "thermodynamic" product was not actually the more stable one. Calling something the thermodynamic product does not make it so; the map enforces that the label has to be earned, and a fifth of the grid is a reminder of what happens when it is not.
Second, and less obvious until you look for it: 3.0% of cells cross within a minute, and the next 17.7% take between two weeks and a year, but nothing at all falls between an hour and two weeks. A single slice at \(\Delta\Delta G=-26\) kJ/mol makes the jump concrete: \(\Delta E_a=0\) crosses in 2.4 microseconds, and \(\Delta E_a=6\) kJ/mol, six steps up a scale that runs to fifty, already crosses in 21.4 days. The crossover time is exponential in \(\Delta E_a\), and an exponential does not fill in the middle; it jumps over it. Effectively no reaction switches products by this mechanism on an hour's timescale. It switches almost immediately, or it makes you wait weeks, with very little territory in between.
| ΔEa \ ΔΔG | −40 kJ/mol | −25 kJ/mol | −10 kJ/mol | −2 kJ/mol | +10 kJ/mol |
|---|---|---|---|---|---|
| 0 kJ/mol | 270 µs | 203 µs | 176 µs | instant | never |
| 5 kJ/mol | 13.9 d | 13.9 d | 14.1 d | 18.6 d | never |
| ΔEa = 10 kJ/mol, the baseline gap | |||||
| 10 kJ/mol | 112 d | 112 d | 113 d | 144 d | never |
| 15 kJ/mol | 2.32 yr | 2.32 yr | 2.33 yr | 2.97 yr | never |
| 20 kJ/mol | 17.4 yr | 17.4 yr | 17.6 yr | 22.3 yr | never |
| 30 kJ/mol | 984 yr | 984 yr | 992 yr | 1.26 kyr | never |
| 40 kJ/mol | 55.6 kyr | 55.6 kyr | 56.0 kyr | 71.2 kyr | never |
| 50 kJ/mol | 3.14 Myr | 3.14 Myr | 3.16 Myr | 4.02 Myr | never |
Table 2. Crossover time at 298.15 K across a coarser 8×5 grid, human units. Notice how flat each row is moving from −40 to −10 kJ/mol of stability gap: once the thermodynamic product is decisively more stable, making it slightly more stable still barely changes the wait, because \(k_{2r}\) is already so small that shaving more off it adds almost nothing. The barrier gap along each column, not the stability gap along each row, is what actually sets the clock.
Working Notes From the Club Table
Session 1
First draft integrated with RK4 all the way out to the crossover time directly, one small
fixed step at a time. For the coldest cell in the temperature sweep that meant marching out
to \(7\times10^{10}\) s. At a step small enough to resolve the fast channel's 400-second
relaxation, that is billions of steps. Estimated finish: does not finish.
Session 1, twenty minutes later
Somebody pointed out these are linear ODEs at fixed \(T\). Wrote the 2×2
eigendecomposition solution instead. Evaluating it at \(t=10^{40}\) s costs the same as
evaluating it at \(t=1\) s: one matrix exponential, no stepping required. The regime map that
used to be uncomputable now runs in under a second.
Session 2
Short-time validation failed: 8.9% off at \(t=10^{-10}\) s. Spent forty minutes suspecting the
rate constants before noticing the exact solution subtracts two nearly equal \(O(1)\)
quantities to produce an \(O(10^{-13})\) answer. That is catastrophic cancellation, not
physics. Fixed by using a single RK4 step for the extreme short-time probe instead; see
§4.
Session 2, later
Tried \(\Delta\Delta G=0\) exactly, meaning the two products tied in stability, out of
curiosity. The code sometimes reported "crossed" at a nonsensical time and sometimes reported
"never," depending on the sixteenth decimal digit of a floating-point exponential. Not a bug:
right at an exact tie, whether the thermodynamic product numerically wins depends on which
side of an infinitely thin knife-edge the arithmetic happens to fall. Kept the observation,
dropped \(\Delta\Delta G=0\) from the tables that get printed for readers, since a coin-flip
result next to consistent neighbours reads as an error even when it is not one.
Session 3
Built the full 26×26 regime map. Noticed the gap between the ≤1-minute cells and the
≤1-year cells: nothing lands in between. Confirmed with a finer slice at fixed
\(\Delta\Delta G\) that the transition really is a jump, not a plotting artefact, then wrote
§8's explanation of why an exponential does that.
Session 3, end of meeting
Every number in the article now traces to one run of
kinetics-vs-equilibrium.py, no seed to set because nothing in it is random.
Total wall-clock time: 38 seconds. The regime map, once the hard part, is now the fast part.
The Strongest Objection
The whole model rests on one shared pre-exponential factor \(A_{\text{pref}}=10^{13}\, \text{s}^{-1}\) for all four steps. That single choice is doing an enormous amount of work. Real forward and reverse steps have different entropies of activation, sometimes by several orders of magnitude in the pre-exponential factor itself, and the Curtin-Hammett literature exists precisely because rate and equilibrium are governed by free energies, not by enthalpies or barrier heights alone [7]. By forcing \(A_{\text{pref}}\) to be identical everywhere, this model has quietly assumed away the entropic half of the problem and dressed the result up as if it came from enthalpy alone. If real reactions violate that assumption routinely, and they do, every crossover time in this article could be wrong by orders of magnitude for a real molecule, even if the qualitative story survives.
This objection is correct, and it is worth sitting with rather than deflecting. Equation (3), \(E_{a,\text{reverse}} = E_{a,\text{forward}} - \Delta G\), is exact only because the shared pre-exponential factor cancels out of the ratio \(k_f/k_r\). The moment forward and reverse steps carry different entropies of activation, that identity needs a correction term built from the entropy difference, and this model has none. A real reaction where the kinetic product's transition state is comparatively rigid and the thermodynamic product's is comparatively loose, or the reverse, would see its crossover time shift by whatever factor that entropy difference contributes, on top of everything this article has computed.
We do not think this breaks the qualitative claims. A crossover exists, it is set by a barrier gap and a stability gap acting through an exponential, that exponential produces cliffs rather than gradual transitions, and heating moves the crossover according to the same Arrhenius law that sets any individual rate constant [1][4]: none of that depends on the pre-exponential factors being equal. What does depend on it is every specific number this article prints. Take the 111.7-day baseline crossover as an order-of-magnitude statement about a reaction with these barriers and these stabilities under this simplifying assumption, not as a prediction about any particular real molecule. Takahashi, Sato and Hiraoka's extended Curtin-Hammett treatment of reversible reaction networks under kinetic control [15] handles exactly this generalisation, multiple channels with independent pre-exponential factors, and is the natural next step for anyone who wants the version of this model that does not make our simplifying assumption.
What We Did Not Model
Beyond the shared pre-exponential factor, four simplifications are worth naming plainly, because a model earns trust by admitting where it stops rather than by implying it goes further than it does.
Two channels, no third door. Real competing reactions often have more than two products, and some of those products can interconvert with each other directly rather than only through the shared starting material. Cyclopentadiene's Diels-Alder dimerisation, endo against exo, is close to this article's two-channel picture and shows the same kinetic-product- first, thermodynamic-product-eventually pattern experimentally [9]. Real polymorph selection in crystallisation, where Ostwald's rule of stages predicts the least stable form nucleates first and converts stepwise toward the most stable one, routinely involves three or more competing solid forms rather than two [10][11][12], and our two-channel model would need extending, not discarding, to describe it.
Temperature-independent \(\Delta G\). Section 7's Arrhenius treatment holds \(\Delta G_B\) and \(\Delta G_C\) fixed while \(T\) varies, which ignores any heat-capacity difference between reactant and product. Over the 150-degree range we swept, that is a real but probably modest source of error next to the exponential sensitivity we were trying to illustrate.
No third-body chemistry. Solvent, catalysis, autocatalysis and any concentration dependence beyond simple mass action are absent. Molecular self-assembly under kinetic control routinely produces metastable structures that survive far longer than this model's exponentials would suggest, precisely because the "reverse reaction" for a large assembled structure can be kinetically blocked by a mechanism this model has no way to represent [13]. Protein folding is the extreme version of the same idea: a funnel-shaped energy surface can trap a folding chain in a local kinetic well for biologically relevant lifetimes, a phenomenon the energy-funnel picture of folding treats at length and our two-state chemistry cannot touch [14].
One temperature, one pressure, one solvent, for the whole trajectory. Nothing in this model represents a chemist changing conditions partway through a reaction, which is exactly what an actual kinetic-versus-thermodynamic experiment usually does: run cold to trap the kinetic product, then warm deliberately to drive it to the thermodynamic one. Our model can tell you the crossover time at any fixed temperature. It says nothing about the much more common real strategy of changing the temperature partway through, because that would mean solving a genuinely time-dependent set of rate constants, which is a different, harder calculation we did not attempt here.
Reproducing this
Everything above comes from one file and one command. You need Python 3.12 and numpy; no other package is used, and nothing in the file consults a random number generator.
python kinetics-vs-equilibrium.py > kinetics-vs-equilibrium-output.txt
Expect well under a minute on a modern laptop. Ours took 38.0 s, on numpy 2.4.2 and Python 3.12.3, most of it spent on the 676-cell regime map and its bisection search for each cell's crossover time. No seed gets reported, and running the file twice prints byte-identical output both times, because every quantity here is the deterministic result of solving fixed differential equations rather than of sampling anything. The interactive model runs the same equations live in your browser and reproduces the 111.7-day baseline crossover on its default settings.
References
- Arrhenius, S. (1889). Über die Reaktionsgeschwindigkeit bei der Inversion von Rohrzucker durch Säuren. Zeitschrift für Physikalische Chemie 4, 226–248. doi:10.1515/zpch-1889-0416
- van't Hoff, J. H. (1884). Études de dynamique chimique. Recueil des Travaux Chimiques des Pays-Bas 3, 333–336. doi:10.1002/recl.18840031003
- Eyring, H. (1935). The activated complex in chemical reactions. Journal of Chemical Physics 3, 107–115. doi:10.1063/1.1749604
- Laidler, K. J. & King, M. C. (1983). Development of transition-state theory. Journal of Physical Chemistry 87, 2657–2664. doi:10.1021/j100238a002
- IUPAC (2014). Kinetic control. In Compendium of Chemical Terminology (the "Gold Book"), 3rd ed. doi:10.1351/goldbook.k03398
- IUPAC (2014). Thermodynamic control. In Compendium of Chemical Terminology (the "Gold Book"), 3rd ed. doi:10.1351/goldbook.t06316
- Seeman, J. I. (1983). Effect of conformational change on reactivity in organic chemistry. Evaluations, applications, and extensions of Curtin-Hammett/Winstein-Holness kinetics. Chemical Reviews 83, 83–134. doi:10.1021/cr00054a001
- Woodward, R. B. & Hoffmann, R. (1965). Stereochemistry of electrocyclic reactions. Journal of the American Chemical Society 87, 395–397. doi:10.1021/ja01080a054
- Lindsay Smith, J. R., Norman, R. O. C. & Stillings, M. R. (1978). Factors affecting the endo:exo ratio in Diels-Alder reactions of cyclopentadiene. Tetrahedron 34, 1381–1383. doi:10.1016/0040-4020(78)88334-3
- Roy, S. & Nangia, A. (2007). Kinetic and thermodynamic conformational polymorphs of bis(p-tolyl) ketone p-tosylhydrazone: the Curtin-Hammett principle in crystallization. Crystal Growth & Design 7, 2047–2058. doi:10.1021/cg070542t
- Cardew, P. T. (2023). Ostwald rule of stages—myth or reality? Crystal Growth & Design 23, 3958–3969. doi:10.1021/acs.cgd.2c00141
- Tahri, Y., Gagnière, E., Chabanon, E., Bounahmidi, T., Kožíšek, Z., Candoni, N., Veesler, S., Boukerche, M. & Mangin, D. (2019). Multiscale experimental study and modeling of L-glutamic acid crystallization: emphasis on a kinetic explanation of the Ostwald rule of stages. Crystal Growth & Design 19, 3329–3337. doi:10.1021/acs.cgd.9b00217
- Jung, S. H., Takeuchi, M. & Sugiyasu, K. (2019). Molecular self-assembly under kinetic control. In Kinetic Control in Synthesis and Self-Assembly, 205–229. Elsevier. doi:10.1016/b978-0-12-812126-9.00010-9
- Onuchic, J. N., Luthey-Schulten, Z. & Wolynes, P. G. (1997). Theory of protein folding: the energy landscape perspective. Annual Review of Physical Chemistry 48, 545–600. doi:10.1146/annurev.physchem.48.1.545
- Takahashi, S., Sato, H. & Hiraoka, S. (2023). Extended Curtin-Hammett principle: origin of pathway selection in reversible reaction networks under kinetic control. ChemRxiv preprint. doi:10.26434/chemrxiv-2023-37qp8
- Butcher, J. C. (2016). Numerical Methods for Ordinary Differential Equations (3rd ed.). Wiley. doi:10.1002/9781119121534