How it calculates

Nothing here is secret, and most of it is not ours.

This page is what the verification record checks. Read them in order: here is what the tool computes and where each method comes from; then, on the next page, here is what happened when we read our own code against the books.

The provenance, in one table

Where each method in the solver comes from, including the two that are not textbook material and say so.
What Where it comes from
ASM3 kinetics and stoichiometry IWA Scientific and Technical Report No. 9
Clarifier, screen, filter and anaerobic sizing Wastewater Engineering: Treatment and Resource Recovery, Metcalf & Eddy, 5th ed., cited by equation number on the block that uses it
Solution–diffusion membrane transport Metcalf & Eddy 5th ed., Eqs. 11-38 and 11-39
Element-by-element march, polarisation factor, temperature correction Standard membrane projection practice, in every major manufacturer's manual — not textbook material, and the block says so
Fenton oxidation No textbook design method exists. The block's own reference sheet says so.

The biology

ASM3, thirteen components and twelve processes, solved as steady-state continuously stirred reactors.

The stoichiometric matrix is not typed in

It is derived at run time from COD, nitrogen and charge conservation, which is why the mass balances close exactly rather than approximately. A model whose balances close because the coefficients were fitted can be quietly wrong in a way one whose balances close by construction cannot.

Sludge age is computed over the converged flowsheet

Not over one reactor, and it counts only solids that actually cross a system boundary — solids going round the return loop have not left the system. The aerobic fraction is reported separately, because nitrifier washout is governed by aerobic sludge age and not by the total. If you have ever seen a plant lose nitrification while its nameplate sludge age looked comfortable, that distinction is why.

The measured TKN drives the model

You enter a TKN; the composition factors on the substrate fractions are scaled so that the organic nitrogen adds up to TKN minus ammonium. This is not how it worked originally and the story is on the verification page — it is the single most consequential thing the check found.

The tool now tells you when that scaling has had to move a long way from the municipal default, because when it has, your nitrogen analysis and your COD fractionation are describing different water.

What the check found

The membranes

Reverse osmosis and nanofiltration are marched element by element

Not a lumped array with a rejection percentage: each element in the pressure vessel is solved in sequence, with solution–diffusion transport, film-theory concentration polarisation, and the pressure drop through the spacer following the flow through that element rather than a flat allowance.

Fourteen ions are tracked separately

Sodium, potassium, calcium, magnesium, strontium, barium, chloride, sulfate, bicarbonate, nitrate, fluoride, phosphate, silica and boron — each with its own salt permeability relative to sodium chloride. Divalents are held back far better than monovalents; boron and carbon dioxide slip through. That is why the answer changes when you change the feed ion analysis, and why an ion analysis with a charge imbalance gets a warning rather than a silent result.

The permeability constants are not stored

Each element's A and B are back-calculated from its own published test point, so the numbers stay self-consistent with the datasheet they came from rather than drifting away from it.

The concentrate is reported as a stream

With its Langelier index and its scaling potential, because the practical question on a reuse scheme is usually not the permeate.

The aeration

Standard oxygen transfer rate to actual, at your alpha factor, your standard oxygen transfer efficiency, your diffuser submergence and your diffuser fouling factor — the four inputs the aerobic block asks for and then uses. Dissolved-oxygen saturation follows the Benson–Krause relation, which reproduces the reference appendix's table to ±0.001 mg/L across 0–40 °C — it did not, once, and that is on the verification page.

The blower computes shaft power, pressure ratio, air mass flow and specific power, and compares its duty against the process air the reactors downstream actually call for. If those two disagree, a check says so. That block ignored its own inputs until the verification found it.

The design checks

More than fifty of them, at three levels: errors that mean the design cannot be right, warnings that mean it is outside a published range, and reported figures that are neither but are worth reading — a sludge age, a blower duty.

Each one compares what you built against a range from the references, and each says which range and where it comes from. A check that fires without telling you what it is comparing you to is just an opinion.

Two of them are here because they were wrong and are now right, and the story is worth the space. A screenings-volume range measured on municipal sewage used to fire on every industrial design; it is now scaled to the feed's own solids. A flux-spread check used to fire on essentially every standard membrane layout, because flux always tapers — that is what a taper is for. It now fires when the back of the train has stopped contributing, which is the useful question.

What the solver does with your flowsheet

Recycle loops are torn automatically and iterated to convergence

Return activated sludge and internal nitrate recycle are ordinary connections; you draw them and press calculate.

The core is compiled WebAssembly and it runs in your tab

Your flowsheet is not uploaded to anyone to be solved. That is a privacy property and also a speed one — a solve is milliseconds rather than a round trip.

Results grey out as soon as an input changes

A stale number that still looks fresh is worse than no number.

And what it does not do

Steady state, not dynamic. No cost estimating. No civil, structural or electrical design. Equalization is a pass-through at steady state. Fenton has no book method. Manufacturer element data is indicative and must be confirmed against the current datasheet and the manufacturer's own projection software before a design is issued. The full list, with the reasoning, is on the product page.

An account is required. During the beta every account gets full access, and no card is asked for.