Which reactor makes the most B, and what does it cost?
A liquid-phase reaction makes a desired intermediate B, and two waste routes compete for the feed. This page picks a reactor type and a volume, and it reports the cost of that choice.
Read these two limits before you read any number.
The kinetics are a frozen educational scenario. They use Van de Vusse (1964) scenario values, and they are not measured kinetics for a real commercial process. The frozen specification labels every one of these parameters EDUCATIONAL SCENARIO ASSUMPTION. The recorded data sources repeat that label per parameter. No claim is made that these values describe a specific industrial reaction.
The optimum temperature sits on a boundary. T = 280 K is the lower bound of the frozen operating window. That bound is the active constraint for every option on this page. The window sets the optimum, and the kinetics do not. The section below explains what that means for a reader.
The recommendation: a single PFR
The screening recommendation is a single PFR at V = 133.808 L and T = 280.0 K. The PFR makes FB = 245.503 mol/h of B. The PFR does this at 0.005348 USD per mol B. That is the lowest unit cost of any option compared here.
The single PFR also has the simplest form, because a single PFR is one vessel. A CSTR-then-PFR network makes more B, but the network costs more per mole. The comparison table below gives both options with their numbers.
The most important qualification on this page
T = 280 K is the lower bound of the frozen operating window. It is the active constraint for every option evaluated.
Read that as a boundary constraint, and not as a discovered interior
optimum. The optimizer did not find a best temperature inside the window.
The optimizer pushed the temperature down until the window stopped it.
The machine-readable results file records this directly. Its
active_constraints field for both reactor types reads
"T lower bound (280 K)".
The chemistry explains why the optimizer pushes down. A lower temperature lowers the ratio k2/k1, because E2 is larger than E1. A lower k2/k1 ratio slows the series step that degrades B to waste C. It slows that step relative to the step that forms B. So the design wants the coldest operation the window allows.
Two consequences follow, and both matter. First, the frozen window sets the optimum, and the kinetics do not set it. Second, a wider window would move the answer, so 280 K is not a property of the reaction. A reader who takes 280 K as an optimised value has been misled.
The optimization figure below shows this on the surface itself. The bright ridge of high FB runs into the bottom edge of both panels. The ridge does not close inside the plotted window.
The engineering problem
A liquid-phase reaction runs two competing routes at once. A series route makes the desired intermediate B from feed A. The same route then degrades B to waste C. A parallel route consumes feed A directly to waste D.
The two routes pull against each other. A long residence time converts more A, but a long residence time also degrades more B to C. A short residence time protects B, but a short residence time leaves A unconverted. A high concentration of A favours the parallel route to D, because that route is second order in A.
The feed rate and the target production are fixed. So the question is a selection question, and not a simulation exercise. Which reactor type and which volume maximise selectivity to B at the required conversion, and what does that choice cost?
The study answers the question in five steps. It models CSTR, PFR, and batch reactors. It reports selectivity and yield against conversion. It optimizes B production over volume and temperature. It tests two two-reactor networks. It then compares the options on screening cost.
The frozen reaction system
The reaction system is Van de Vusse kinetics. B is the product the design wants, and C and D are both waste.
EDUCATIONAL SCENARIO ASSUMPTION.
Every parameter in the table below is a frozen scenario value. None of these parameters is measured for a real commercial process. The rate constants carry the Van de Vusse (1964) attribution as scenario values. The activation energies carry no attribution at all. The frozen spec states that no claim is made about a specific industrial reaction.
So read every number on this page as the output of a frozen scenario. The methods are real, but the kinetics are an educational input.
| Parameter | Value | Units | Role |
|---|---|---|---|
| k1 (at 298 K) | 5.0 | 1/h | forms B from A |
| k2 (at 298 K) | 1.0 | 1/h | degrades B to waste C |
| k3 (at 298 K) | 0.5 | L/(mol·h) | consumes A to waste D |
| E1 | 45000 | J/mol | activation energy for k1 |
| E2 | 65000 | J/mol | activation energy for k2 |
| E3 | 35000 | J/mol | activation energy for k3 |
| CA0 | 5.0 | mol/L | feed concentration of A |
| v0 | 100 | L/h | volumetric feed rate |
| T window | 280 to 340 | K | frozen operating window |
Arrhenius form: ki(T) = ki(298 K) · exp[−Ei/R · (1/T − 1/298 K)], with R = 8.314 J/(mol·K). Source: the frozen specification section 2 and the recorded data sources.
Reactor comparison
Each single reactor is optimized on its own over volume and temperature. The table gives the optimum for each reactor type, with the screening cost of each optimum.
| Option | V (L) | T (K) | FB (mol/h) | Unit cost (USD/mol B) | Annualised (USD/yr) |
|---|---|---|---|---|---|
| single PFR | 133.808 | 280.0 | 245.503 | 0.005348 | 10,504 |
| single CSTR | 227.636 | 280.0 | 230.986 | 0.007372 | 13,623 |
The PFR reaches its optimum at 133.808 L, and the CSTR needs 227.636 L. So the CSTR needs 1.70 times the volume of the PFR, and the CSTR still makes less B. Both reactors sit on the same active constraint, which is the 280 K lower bound.
The PFR wins on both volume and production, and that result needs an explanation.
A CSTR holds its whole contents at the low outlet concentration of A. That low concentration of A suppresses the parallel route to D, because the parallel route is second order in A. So the CSTR has a real advantage on the parallel route.
But the CSTR loses more on the series route than the CSTR gains on the parallel route. A CSTR mixes fresh feed with product, so some B stays in the vessel far longer than the mean. That long exposure degrades B to C. A PFR moves every element of fluid through once. So a PFR exposes B for the same space time and no longer.
At the required conversion the series penalty dominates. So the CSTR needs a larger volume and still makes less B.
Selectivity and yield
Instantaneous selectivity is reported as S = rB/(−rA) throughout this page. That is the rate of B formation over the rate of A consumption, and it is positive.
Why the convention is stated every time selectivity appears.
The frozen spec defines S = rB/rA. But rA is the signed rate dCA/dτ, and dCA/dτ is negative, so rB/rA comes out negative. A negative selectivity is a sign-convention artifact, and it is not an engineering quantity.
Change record PC-001 records this, and the operator accepted the change. So every figure, table, and result on this page divides B formation by the positive consumption term. Overall selectivity YB/X is positive already, and PC-001 does not affect it.
The study sweeps conversion from 0.05 to 0.95 at three temperatures. The qualitative result emerges from the numbers, and the study does not assert it in advance.
| Temperature (K) | Crossover conversion X |
|---|---|
| 290.0 | 0.7789 |
| 298.0 | 0.7107 |
| 310.0 | 0.5813 |
Below the crossover conversion the CSTR gives the higher overall selectivity. The low concentration of A in a CSTR suppresses the parallel route. Above the crossover conversion the PFR gives the higher overall selectivity, because the CSTR degrades too much B to C. The crossover moves to lower conversion as temperature rises.
Maximum overall yield by reactor type
| Temperature (K) | CSTR max YB | PFR max YB | Batch max YB |
|---|---|---|---|
| 290.0 | 0.4302 | 0.4850 | 0.4850 |
| 298.0 | 0.4057 | 0.4762 | 0.4762 |
| 310.0 | 0.3707 | 0.4577 | 0.4577 |
Batch and PFR coincide at every temperature, because both solve the same ODE system. The batch time maps onto the PFR space time.
The reactor network study
Two two-reactor networks were tested against the best single reactor. Each network splits a total volume between a first vessel and a second vessel. The split fraction f is the share that goes to the first vessel.
| Network | V first (L) | V second (L) | V total (L) | Split f | FB (mol/h) | Change vs best single |
|---|---|---|---|---|---|---|
| CSTR then PFR | 105.947 | 86.684 | 192.632 | 0.55 | 267.195 | +8.84% |
| PFR then CSTR | 133.684 | 0.000 | 133.684 | 1.00 | 245.503 | -0.00% |
The CSTR-then-PFR network makes 267.195 mol/h of B. That is +8.84% against the best single reactor, which is the PFR at 245.503 mol/h. But the network costs 0.005850 USD per mol B, and the single PFR costs 0.005348 USD per mol B. So the extra B costs more per mole than the B the single PFR already makes.
The CSTR-then-PFR order works because each vessel does the job it is better at. The CSTR front end takes the high-concentration feed and holds it at a low concentration of A. That low concentration suppresses the parallel route to D. The PFR tail then finishes the conversion without the long-residence penalty that a CSTR would add.
The PFR-then-CSTR order gives no improvement. Its best split is f = 1.00, which is the pure-PFR limit. So the optimizer removed the CSTR tail entirely.
Screening economics
These are SCREENING economics, and they are not a full TEA.
The purpose here is to rank reactor options against each other. The purpose is not to predict a project cost. The frozen specification puts a full techno-economic analysis explicitly out of scope, and Project J owns that work.
Every unit price below is an EDUCATIONAL SCENARIO ASSUMPTION value from the recorded data sources. The capital correlation is a textbook order-of-magnitude rule, and no vendor quoted any of these numbers.
Capital cost uses the six-tenths rule from a reference cost. Operating cost comes from two terms. Agitation energy scales with reactor volume. Downstream separation scales with the outlet molar flow. The annualised cost uses a simple five-year payback with no interest.
| Option | V (L) | Capital (USD) | Energy (USD/yr) | Separation (USD/yr) | Annualised (USD/yr) | Unit cost (USD/mol B) |
|---|---|---|---|---|---|---|
| single PFR | 133.808 | 35,898 | 37 | 3,287 | 10,504 | 0.005348 |
| CSTR -> PFR network | 192.632 | 44,670 | 54 | 3,516 | 12,504 | 0.005850 |
| single CSTR | 227.636 | 49,377 | 64 | 3,684 | 13,623 | 0.007372 |
The single PFR has the lowest unit cost at 0.005348 USD per mol B. The network raises the annualised cost by 19.0% over the single PFR. Choose the network only if the extra +8.84% of production is worth that premium.
Capital: six-tenths rule, C_ref=120000 USD at 1000 L, exponent 0.6. Operating: agitation energy (0.5 kW/m3, 0.07 USD/kWh, 8000 h/yr) plus separation (1e-3 USD/mol outlet, 8000 h/yr). Annualisation: simple 5-year payback, no interest. Inputs: the recorded data sources.
Acceptance gates
The frozen spec sets eight acceptance gates. Six of them are numeric, and a dedicated validation module measures those six into the machine-readable results file. The last two are process gates, so they have a status rather than a measured number.
| Gate | Test | Measured | Threshold | Verdict |
|---|---|---|---|---|
| G-1 | PFR vs analytical first-order | 2.2e-11 | 1.0e-06 | PASS |
| G-2 | CSTR vs closed-form single reaction | 0 | 1.0e-08 | PASS |
| G-3 | atom balance residual on every reported run | 1.1e-11 | 1.0e-08 | PASS |
| G-4 | batch vs PFR same space time | 0 | 1.0e-06 | PASS |
| G-5 | grid independence, halved rtol on CB | 3.1e-11 | 1.0e-03 | PASS |
| G-6 | 20-point multistart agreement | 0 | 5.0e-03 | PASS |
| G-7 | test suite passes, no skips in the numerical core (process gate) | 67 passed | pytest exit 0 | PASS |
| G-8 | full pipeline reproducible (process gate) | byte-identical per platform | every number regenerates from the pipeline | PASS |
G-1 to G-6 are measured by a dedicated validation module against independently written closed forms. Their measured values are read from the machine-readable results file. G-7 and G-8 are process gates with a status rather than a measured number. That file does not carry them, and their status comes from the project summary record, section 5.
G-1 through G-4 are external-validation gates.
Each of these four gates compares the solver against a closed-form analytical solution. None of them compares against a fixture this project computed itself. G-1 checks the PFR against the first-order solution CA0·exp(−kτ). G-2 checks the CSTR against the closed form CA0/(1 + kτ).
This is the cited-fixture rule carried from Projects C and D. A gate that compares a result against the same code that produced it proves nothing. The audit section below records where one of these four gates is weaker than it looks.
The audit
The independent audit returned CONDITIONAL PASS.
The verdict was conditional, and this page reports it that way. An audit that says "conditional" and then lists its own gaps is stronger evidence. It is stronger than one that says "pass" and lists nothing.
What the auditor independently re-derived
The auditor did not accept the build's headline number. The auditor hand derived the rate constants from the frozen Arrhenius parameters, then integrated the ODE system independently.
- A different integration method. The auditor used scipy RK45 at rtol 1e-10, and the build uses Radau. The two methods agree on FB to 5 significant figures at the reported PFR optimum.
- Hand-derived rate constants. The auditor computed k1 = 1.555536, k2 = 0.185156, and k3 = 0.201635 at 280 K from the frozen parameters. The auditor did that without calling the build's kinetics module.
- An independent CSTR check. The auditor solved the algebraic steady state with brentq on the closed-form mass balance. The auditor never called the build's reactor module for it.
- The multistart run. The auditor re-ran the seeded 20-point Latin-hypercube sample independently, and that re-run produced FINDING 1 below.
What the auditor criticised
These are the auditor's own words about the auditor's own gates. They are reproduced here rather than summarised away.
- G-4 is weaker than it looks. The batch solver and the PFR solver call the identical integrator against the identical rates function. The two differ only in the variable name and in the upper integration bound. So G-4 validates code structure, and G-4 does not validate reactor physics. The auditor states that this gate cannot fail unless someone introduces a typo between the two call sites. Read G-4 as a regression guard, and not as physical validation.
- G-5 tests at a tolerance the optimizer never uses. The gate compares rtol 2e-8 against rtol 1e-8. Both are far tighter than the OPT_RTOL of 1e-6 that the optimizer actually runs at. So G-5 passing does not by itself establish that the coarser rtol used during the 20-point search is grid-independent.
- G-8 was not independently re-executed. The auditor accepted the builder's reported hash for reproducibility, and did not re-run the pipeline twice to diff the output. The auditor records this as a gap in the auditor's own coverage, and not as a finding against the build.
- The CSTR optimum was not independently re-derived. The auditor re-derived the PFR optimum and checked the CSTR at an arbitrary point. The auditor did not re-derive the reported CSTR optimum itself.
- The screening economics were not re-derived. The auditor did not review the build's economics module line by line, and did not hand-verify the six-tenths capital correlation. The auditor made a plausibility check only.
- The citations were not checked against their sources. The auditor did not confirm that the Van de Vusse 1964 paper specifies these exact rate constants. The auditor took the frozen scenario framing at face value. The frozen spec makes no claim that the values come from that paper.
FINDING 1, found and fixed
The auditor raised one P1 finding, and the build fixed it after the audit. The finding concerned PC-004, which describes how the multistart handles three awkward starting points.
PC-004 originally claimed that 18 of 20 natural starts agree, and it described the three disagreeing starts as gradient noise. The auditor re-ran the exact seeded multistart and got 17 of 20, not 18. The three disagreeing starts returned FB = 0.0 at zero optimizer iterations, which is not noise near an optimum.
The build corrected both the count and the mechanism. PC-004 Revision 1 now reports 17 of 20, and it explains the real cause. Those three starts sit at high volume and high temperature, where the PFR runs to near-total conversion. B has degraded almost entirely to C there, so FB is genuinely tiny and the gradient is flat. The optimizer's convergence test then passes at the first iteration.
The machine-readable results file now persists the raw pre-restart distribution for all 20 starts. So the count is auditable from the committed artifact, and a future reader does not need to re-execute the optimizer.
Source: the independent audit that returned CONDITIONAL PASS, and change record PC-004.
Limitations
These limits shape every number on this page. They are stated here, and not in a footer.
- The kinetics are an educational scenario. Every rate constant, every activation energy, the feed concentration, the feed rate, and the temperature window are frozen scenario values. None of them is measured for a real process. The frozen spec labels them EDUCATIONAL SCENARIO ASSUMPTION, and this page carries that label.
- The optimum sits on a boundary of the frozen window. T = 280 K is the lower bound of the window. The bound is the active constraint for every option. A different window would give a different answer. So the temperature is not a property of the reaction.
- The model is isothermal, with no energy balance. Every reactor holds one temperature throughout. The model has no cooling-jacket dynamics and no adiabatic temperature rise. Real heat removal limits constrain reactor choice, and this study does not model that constraint.
- The reactors are ideal, with no mixing or RTD effects. The CSTR is perfectly mixed and the PFR is perfect plug flow. The model has no residence-time distribution, no dispersion, and no channelling. Real vessels depart from both ideals.
- There is no catalyst deactivation. The rate constants hold steady for the whole run. The model has no fouling and no activity loss over time.
- The economics are screening only. The capital rule is a textbook six-tenths correlation, and the unit prices are order-of-magnitude scenario values. No vendor quoted any of them. A full techno-economic analysis is out of scope, and Project J owns it.
- Two gates carry the auditor's caveats. G-4 validates code structure rather than reactor physics. G-5 tests at a tighter tolerance than the optimizer uses. The audit section above gives the auditor's full wording on both.