Riser/SheetOpen the full hydraulic calc

Validation

This is a life-safety calculation from a vendor you have not heard of. That is a reasonable thing to be careful about, so here is exactly how the solver is checked and what has not been checked yet.

Preliminary. No cross-checks against incumbent tools have been published yet. The golden fixtures and property tests described below do run on every change, but the third leg of this — comparison against Hcalc, FHC or HASS — is not done.

How the solver is checked

  1. Golden fixtures you can derive by hand

    Networks small enough to work out on paper — one pipe and one head, a three-head branch, a symmetric junction, elevation only — are stored with their expected answers and run on every change, matched to one part in a billion. Each fixture records the derivation, so a disagreement points at a formula rather than at a number nobody can explain.

  2. Properties that must hold for any network

    Randomly generated networks are checked for the things that are true regardless of the numbers: flow into a junction equals flow out, every operating head satisfies its own orifice equation, reordering the rows of a sheet produces a bit-identical answer, and solving twice gives the same result. Continuity and orifice residuals are re-checked on every solve, not only in tests.

  3. Cross-checks against tools already in use

    The same networks entered into incumbent software, with the results compared and every difference explained rather than averaged away. This is the leg that is still outstanding.

  4. The browser and the server agree exactly

    One Rust crate is compiled both to WebAssembly and natively, and all exponentiation goes through the same library in both, so the answer you watch change as you type is bit-identical to the one the report is generated from. The golden fixtures are run in a real browser to prove it.

Cross-check results

No cross-checks published yet. When they are, this section will carry the table: the case, the tool compared against, both results, and the difference with its explanation. Until then, treat the golden fixtures and the property tests as the evidence available, and check anything you are about to submit against your own reference.

Reference data

Pipe dimensions, C-factors, fitting equivalent lengths, K-factors, hazard curves and hose allowances are stored as data with the edition and table each one came from. Every record also carries whether it has been checked against that source by a second pass.

As of reference data 2026.09.0, some records are still pending that second check. While any record is unverified, every report generated carries a "preliminary" banner and the workspace shows a warning note. That state is visible in the product, not only here.

If you find something wrong

Send the inputs that produced it to [email protected]. A reproducible disagreement becomes a golden fixture, which means it gets fixed and then stays fixed.

The formulas, written out