Build a piping network on an isometric 3D view: grow a pipe from any open end with the "+" build menu (pick the part, the direction and the length), insert in-line parts on a selected pipe, and edit each part in the property panel. The same fluid and pipe-standard databases feed both the builder and the calculators, so a model stays consistent end to end.
Anchor a network with fixed-head Reservoirs and Tanks, a Feed Tank, or prescribe conditions directly with Assign Pressure, Assign Flowrate, and Open Pipe (atmospheric) boundaries. Choosing the right boundary is what makes a solve determinate.
Tee networks together at Junction nodes and pull flow out with node demands to model draw-off points. End-of-branch draws are best modelled as Assign Flowrate so the demand is preserved on load.
Place a Pump (with a real head-vs-flow curve, variable-speed ratio, and NPSH margin) or a Compressor on the network. Suction and discharge pipe friction are counted correctly via node-splitting, so the operating point and system curve are physical.
Model a Control Valve (Cv/Kv setpoint), an Isolation Valve, or a Check Valve that latches on reverse flow. Valve nodes split into flanges so the pressure drop lands on the right side of the device.
Add a Relief Valve, an Orifice / Orifice Plate, a Bursting Disk, or a Known Resistance element to set pressure limits and trim flow. Handy for pressure-let-down, protection sizing, and matching a measured resistance.
Drop Sprinkler heads, Air / Vacuum Valves, Surge Relief Valves, and Surge Tanks to model fire-protection and surge-mitigation hardware directly in the network.
Every pipe carries diameter, length, roughness, elevation, and a minor-loss (K / equivalent-length) allowance from a standard material and schedule library. Elevation drives the static head so risers and drops read correctly.
Model process equipment inline: a Heat Exchanger node from the palette with its own in-network sizing tab, and a Steam Trap node — reached by changing a node’s type or loading an example, not from the palette — with dedicated assist logic, distinct from the standalone equipment calculators.
Set one system working fluid as the single source of truth and override it per-node only where you need to. The Database Fluid Editor picks from a 1,000+ fluid database (the same FDB the calculators use) and applies instantly.
Set friction model, fluid mode, ambient/thermal conditions, and special modes (gas, slurry, flare header) in one Project Settings panel that governs the whole solve.
Load a ready-made example network — cooling-water systems, EPANET benchmarks, two-phase FluidFlow cases, fire loops, flare headers, and more — from the builder Toolbar’s Load-example menu (Validation / Archive / Tutorials / Multi-Fluid sets, roughly 80 networks wired) to learn the tool or start from a working model.
Before solving, the builder validates the graph (dangling nodes, missing boundaries, degenerate demands) so you catch modelling mistakes instead of chasing a bad number afterwards.
Step backward and forward through every edit, or open the History panel and jump straight to any earlier state of the network — so an experiment on the model is never a one-way door.
Set the default properties new nodes and pipes are created with — diameter, material, roughness, and more — so a whole model is drawn in your standard sizes without re-typing them on every element.
Model Builder → Tools menu → Custom Flowsheet Labels…
Choose which fields show on each node and pipe on the canvas — tag, size, flow, pressure — so a schematic reads like your own flowsheet convention rather than a fixed default.
The builder autosaves the whole project — network, fluid, units, transient setup, and solver settings — to your browser every few seconds and offers to restore it on reload, so a refresh or crash never loses your work.
Model Builder → Header → Project Settings → Unit System
Switch the whole model between SI and US units, or set a custom unit per result category (velocity in ft/s, pressure in bar, and so on) — the display everywhere follows your choice.
Save a solve as a named run, recall it later, and compare two runs side by side to see exactly what changed between design iterations — autosaved automatically so a browser refresh never loses a solve.
A visible banner flags builder areas that are still experimental or not yet final, so you know upfront which results to treat as provisional rather than discovering the caveat after the fact.
Mark any pipe buried or above-ground and set its ambient temperature, burial depth, soil, and insulation directly on the link — the input that feeds the marching engine's ambient heat-transfer and condensation results.
Read inlet-to-outlet steam quality, heat loss, and temperature alongside flow pattern, void fraction, mixture density, and holdup for each pipe — the detail behind a condensing or two-phase line, not just a pass/fail.
A Steam Trap node reports its status, condensate flow, outlet quality, and pressure drop, modelled in the correct series topology rather than incorrectly splitting flow in parallel.
Every gas pipe reports Mach number, density, mass flow, a CHOKED badge when it hits sonic velocity, an erosional-velocity status against API 14E, and the Weymouth-equivalent standard flow — the full compressible picture per link.
Model Builder → node/pipe results → property detail
Drill into any solved node or pipe's fluid properties to see the actual correlation used from the fluid database plotted as a temperature-varying chart, instead of taking a single property value on faith.
Drag a node anywhere on the canvas and its connected pipes follow automatically, attaching at a single centre handle so links stay connected as you rearrange the model without manual re-drawing.
See a flow-control valve's Cv curve plotted with its current operating point marked, so you can judge at a glance whether the valve is sized and positioned sensibly rather than reading a bare Cv number.
Edit a pump's Q-H, efficiency, and NPSH-required curves directly in a FluidFlow-style graphical editor, with Flow/Head unit dropdowns and an explicit discharge-side picker, instead of typing coefficient tables blind.
Hover any node or pipe for a tooltip you control — pick which fields show per model-type, and adjust font and box width — so the canvas stays readable whether you want a quick glance or a detailed readout.
Rectangle- or lasso-select a whole region of the canvas and edit a shared property across every same-type element at once — change twenty pipes' roughness in one action instead of twenty clicks.
Right-click a multi-selection for a PowerPoint-style align/distribute menu — line up nodes horizontally or vertically and space them evenly, so a hand-built network looks like a drafted drawing.
Ctrl+C / Ctrl+V / Ctrl+D a selection to reuse a sub-network — a tank-and-pump skid, a metering run — instead of rebuilding the same pattern by hand every time it recurs.
Snap nodes to a grid while placing them, and toggle between a flat 2D layout and an isometric view of the same network — useful when a drawing needs to read like a piping isometric rather than a schematic.
Keep an add-node tool selected after each drop so you can place a whole row of identical elements — sprinkler heads, junctions — back to back without re-picking the tool every time.
Toggle what the canvas shows with the Toolbar display pills — node names, pipe names, quick results, and hover tooltips — so you can declutter for a screenshot or turn every id and value back on while editing.
Model Builder → Header → File → Capture Model Image (PNG / SVG)
Export a clean PNG or SVG image of the whole network from the File menu — a fully-visible screenshot of the model for a report or drawing — and fit the canvas to the model’s bounding box with the fit-to-view control.
03
Solver & Fluid Modes
One network, many physics engines: steady liquid, compressible gas, slurry, flare, rigorous two-phase, extended-period, and non-Newtonian.29 รายการ
Solves incompressible pipe networks with the Global Gradient Algorithm in dense and sparse forms, verified byte-identical to EPANET to 1e-10 on benchmark networks. The credible backbone every other mode builds on.
Choose Darcy–Weisbach (Swamee–Jain), the exact iterative Colebrook–White, or Hazen–Williams for head loss — with fire paths promoted to Hazen–Williams per NFPA-13. Friction is the backbone, so it is kept correct across every mode.
Solves gas networks with Peng–Robinson / GERG-2008 equations of state, choked-flow detection, and Weymouth / Panhandle correlations, including Joule–Thomson temperature change on pressure let-down.
Adds Wilson deposition-velocity physics as a minor-loss on the carrier friction, with per-link mixture SG, slurry static head, and a deposition-margin gate that blocks the datasheet below the deposition velocity. Answers the AFT SSL question.
Model Builder → Project Settings → Flare header mode
Rates a flare / relief header network by fixing the tip pressure and injecting each relief source as flow, then checks built-up backpressure against every device MABP across multiple contingency scenarios (global fire, power failure, single-valve). The FLARENET answer.
A rigorous coupled thermo engine that marches property-by-property along each pipe to resolve flow pattern, liquid holdup, in-situ density, vapor quality, and phase change for multi-fluid and two-phase lines — beyond a wrapped correlation.
The marching kernel applies per-segment heat loss or gain to ambient (buried or above-ground) so a hot or cold line cools or warms realistically along its length, changing outlet temperature and quality. Reuses the Heat Transfer panel with no extra setup.
Drives demands and tank levels over time so you can watch a system fill, draw down, and rebalance across a daily cycle rather than at a single snapshot. Rules-free time integration in the spirit of EPANET EPS / AFT XTS.
Handles power-law, Bingham-plastic, and Herschel–Bulkley fluids with exact power-law wall shear, so slurries, sludges, muds, and pulp get a defensible pressure drop instead of a water approximation.
On the marching engine, every pipe reports its own Reynolds number, friction factor, and head loss alongside flow pattern, liquid holdup, in-situ density, exit Mach, and ambient heat — the per-pipe detail the GGA path shows, now on the property-marching engine too.
Classifies every boundary node and result into one of six physical phases (and four practical buckets — liquid/vapor/two-phase/supercritical) automatically from the solved pressure and temperature, so you don't have to guess which physics apply before reading a result.
Computes tee and bend K-factors from closed-form SAE ARP1168-1 (tees) and ESDU 83037 (bends) correlations, plus the Miller (Internal Flow Systems) method, instead of a single flat table value — so branch and elbow losses track geometry and flow split correctly in the network solve.
Feeds the solver live density, viscosity, vapor pressure, and thermal properties from a 1,000+ fluid correlation database instead of fixed constants, so properties respond correctly to the solved pressure and temperature at every point along a run.
Adds AGA-8 detailed-characterization compressibility as a custody-transfer-grade alternative to GERG-2008/Peng–Robinson, and screens every gas line for erosional velocity per API RP 14E so an oversized-velocity line is flagged instead of silently passing.
Places a compressor inline in a gas network with fixed-discharge-pressure, fixed-ratio, or polytropic-efficiency operating modes, coupling the compression work into the downstream pressure and temperature the rest of the network sees.
Switches between Homogeneous-Equilibrium, Lockhart-Martinelli, and Beggs-Brill pressure-drop correlations with a Friedel (1979) two-phase friction multiplier as the default closure, through a pluggable seam so a different multiplier can be swapped in without touching the marching engine.
Classifies the two-phase flow regime along a pipe — stratified, slug, annular, bubble — with the Barnea (1987) unified map, then computes liquid holdup with a regime-specific model (level / drift-flux / film) instead of assuming a single homogeneous mixture.
Solves a separator or steam-trap node as its own square nodal system in the marching engine so vapor and liquid phases split and route to the correct downstream pipe instead of leaving the network with one blended stream.
Sizes and resolves all six valve types — TCV, PBV, GPV, FCV, plus PRV and PSV pressure regulators — with IEC 60534 flow coefficients directly inside the marching thermo engine, so valve pressure drop and any resulting flashing stay coupled to the rest of the pipe's property march.
Detects when a line in the marching engine reaches sonic (choked) velocity and caps the solved flow at the physical limit instead of returning a solved flow that violates compressible-flow physics.
Watches enthalpy and pressure as the marching engine steps along a pipe and detects exactly where a subcooled liquid starts to flash or a superheated vapor starts to condense, switching the local physics at that point instead of assuming one phase for the whole line.
Model Builder → Multi-Fluid examples → Pump (marching)
Runs a pump's real head-vs-flow curve, variable-speed ratio, and NPSH margin check inside the marching thermo engine (not just the steady GGA path), so a pumped two-phase or multi-fluid line gets a correct operating point end to end.
Model Builder → Project Settings → Flare header mode
Blends multiple relief-source gas compositions into one ideal-mixing pseudo-species (Kay's-rule pseudo-criticals, exact mixture molecular weight) so a flare header carrying more than one gas gets a genuine blended property set instead of rating on a single named gas.
Runs EPANET-style [CONTROLS] and [RULES] logic during an extended-period simulation so pumps and valves genuinely switch on level, time, or pressure triggers as the simulation steps, not just a fixed demand/tank pattern.
Model Builder → node palette → Control/Isolation valves
Models all six EPANET valve types — pressure-reducing, pressure-sustaining, flow-control, pressure-breaker, throttle-control, and general-purpose — with the same active/inactive big-coefficient pinning method EPANET uses, so valve state switches match the reference tool instead of oscillating or mis-converging.
Reuses the previous converged solution as the initial guess for the next solve, so scenario sweeps, EPS time steps, and small parameter tweaks converge in fewer iterations than starting cold every time.
Picks the right physics engine for a network automatically — steady GGA, compressible gas, or the marching multi-fluid engine — including a safety rule that routes a line to marching whenever phase change is possible, so you don't have to know which engine a model needs before running it.
Lets an inline Heat Exchanger node be solved two ways — pin a fixed duty or a fixed outlet ΔT — so the surrounding network solve gets a determinate energy balance across the exchanger without leaving the network under-specified.
Approximates the correct static head in a slurry network where different legs carry different mixture specific gravity, using a per-node BFS-derived SG rather than one network-wide value, and blocks (rather than silently mis-solves) sharp-SG legs it can't yet resolve exactly.
Simulates pressure surge from valve closures and pump trips with an MOC engine (Courant=1 exact) that captures Joukowsky peaks, wave reflection, and network junction coupling. Honors instantaneous, linear, exponential, and two-stage closure laws.
Model Builder → Transient panel (enable column separation)
Detects and models vapor-cavity formation and collapse with a Discrete Gas Cavity Model — pinning the head at vapor pressure and tracking the cavity through formation and collapse rejoin, including at the valve boundary where column separation most often occurs. Validated against Aalborg / Bergant surge experiments to within a few percent of the measured peak, and stays conservative through the first cavity cycle.
A dedicated single-line isothermal gas-transient engine (MOC, Courant=1) validated against exact closed-form solutions with friction, for blowdown and valve-transient pressure waves in gas piping. A low-Mach envelope keeps it correct-or-loud, and wet-steam / condensation is refused rather than mis-modelled.
The multi-line successor to the single gas line: coupled gas transients across a network with junction mass and pressure continuity, for pressure waves that propagate through a header rather than a single pipe. Carries the same T-register honesty as the single line — a shared common-Δt mesh note (T25), a low-Mach envelope (T19), and a wet-steam / condensation refuse (T20).
Export transient hydraulic forces to a CAESAR II load set — or as a forces-only CSV, a JSON forces file, Excel, or PDF — handing surge loads straight to a pipe-stress model.
Sizes air chambers, surge tanks, flywheels, and surge-relief valves to keep transient pressures within pipe ratings, with input validation that refuses non-physical requests instead of returning negative volumes.
Models a pump trip using four-quadrant Suter curves so reverse-flow and reverse-rotation behavior after power failure is captured, driving realistic downstream surge.
A standalone calculator for the surge peak from a valve closure via Joukowsky / Michaud, with a P-vs-t waveform, cavitation check, and comparison against pipe pressure rating — no full model required.
A built-in Korteweg wave-speed (celerity) helper in the Transient panel computes the pressure-wave speed from pipe material, wall thickness, and fluid, so the surge timing that drives every transient result starts from a defensible number.
Model Builder → Transient panel → Scenarios → Quick Analysis
Beyond the single-pipe pump trip, the Transient panel offers one-click Quick screens for a fast valve closure, a pump startup (with a startup-curve run-up law), and a pipe burst — a first read on surge risk without building a full scenario.
Long transient analyses can be submitted to a background job queue that returns a job id to poll (and cancel), so a big MOC run does not tie up the request. Available over the API today.
Model Builder → Transient panel → Scenarios (valve closure pattern)
Choose how a valve closes during a transient run — instantaneous, linear ramp, exponential decay, or a two-stage fast/slow profile — because the closure law materially changes the surge peak a fast finish-stage closure sees versus a naive linear assumption.
Model Builder → Transient panel → Enhanced (Friction model)
Go beyond quasi-steady pipe friction during a transient with an instantaneous-acceleration (Vitkovsky/Brunone) term or a Vardy-Brown convolution-based weighting-function model, tightening the predicted damping and decay of a surge wave train.
Run a one-click single-pipe pump-trip surge screen — power failure, flow deceleration, and downsurge — without building a full network model, for a fast first read on trip risk.
Model Builder → Pump node → Advanced → Pump-Trip Data → Four-Quadrant Curve
Pick from a typed, sourced library of AFT-style four-quadrant (Suter) pump curves for pump-trip transients — or import your own via CSV — instead of relying on an unphysical toy curve that can fail to converge in the reverse-flow quadrants.
Model Builder → Transient panel (automatic on pump-trip / reversal scenarios)
During a pump-trip or flow-reversal transient, a check valve latches shut the instant flow tries to reverse — with a hardened Newton solve that keeps the surge calculation converging through the event — instead of being treated as always-open.
Model Builder → Transient panel (enable column separation, multi-pipe network)
Models vapor-cavity formation at an interior multi-pipe junction — not just at valves — as a first-class node cavity, cross-checked against an equivalent split-pipe model to machine precision (~1e-13 m).
Runs the Method-of-Characteristics wave solve across an entire piping network at once — not just one pipe — coupling junctions, branches, and every surge-protection device into a single time-domain transient.
Place a gas-cushioned air chamber as a boundary condition anywhere in a transient network model, damping surge peaks and column-separation risk at the point you tee it in — e.g. at a pump discharge on a long rising main.
Model an open free-surface surge tank as a network node — a low-pressure, low-maintenance surge-relief option for systems where an elevated open standpipe is practical.
Model a one-way feed tank — a standpipe gated by a check valve that only admits makeup water when line pressure drops — a compact alternative to a full surge tank at a vulnerable low point.
Model an air/vacuum valve that admits air the instant line pressure drops below atmospheric, preventing pipe collapse and vapor-cavity growth at a high point, then expels it on refill.
Model a pressure-actuated relief device that opens during a transient once the local pressure crosses its set point, discharging flow to cap the surge peak instead of letting it ring through the network unchecked.
Model Builder → Transient panel → Results (Force summary)
Computes the directional support and thrust forces a transient wave imposes on pipe runs and elbows — anchored to the Joukowsky pressure rise — so a surge event can be checked against pipe-support design, not just peak pressure.
Reads the real MOC spatial max/min pressure along every pipe as a per-pipe summary table (peak surge, lowest pressure, and where each occurs, with a vacuum-risk flag) and a profile chart — then a play/scrub transport animates the instantaneous pressure sweeping through time inside that envelope. Driven by the actual solved results, not a demo waveform.
Model Builder → Transient panel (automatic, multi-pipe networks)
Automatically picks one shared MOC time step across pipes of different, non-commensurate lengths in a network, cutting wave-timing error from a multi-percent mismatch down to a fraction of a percent instead of forcing pipe lengths onto a convenient grid.
Derives each pipe's transient friction factor from its own roughness and the steady-state solve (an 'Auto' default) instead of applying one fixed friction value network-wide, so surge damping reflects the actual pipe, not a guess.
05
Auto-Sizing & Optimization
Let the tool pick pipe sizes and pump duty for you — least-cost sizing, goal-seek, and a provenance-stamped pump catalog.5 รายการ
Automatically selects pipe diameters to meet velocity and pressure targets at least cost — over per-pipe size groups and weighted multi-case design scenarios (v2) — certifying feasibility with a real cold solve so it never hands back a size that fails to converge. The AFT ANS answer.
Search a provenance-stamped pump-curve library, BEP-ranked against your duty point, and apply a real curve and speed to a node in one click — with a clear curated vs user-supplied trust tier plus a certified tier (certificate ref + revision) for vendor-verified curves. Maintain your organization's own pumps with full CRUD and bulk CSV import. The PIPE-FLO PUMP-FLO answer.
Create, edit, and manage your organization’s own pipe cost tables (per material, size, and currency) and point auto-sizing at them, so a least-cost result reflects your real prices instead of a built-in default.
Study a network beyond a single solve — scenario trees, sensitivity, control loops, standards checks — and save, share, and version your work.16 รายการ
Branch a base model into named scenarios (parameter changes), batch-run them, and rank which inputs move the answer most with a tornado sensitivity chart. Compare scenarios side by side without rebuilding the network.
Add PID control loops to a network — set point, mode, tuning, and diagnostics — and simulate how the controlled variable responds. A full loop-management subsystem, not just a fixed valve position.
Track a reactive constituent (e.g. chlorine decay) through the network over an extended-period run, on top of the tank/demand time simulation. Reaction-kinetics models, not just hydraulics.
Check solved velocities, pressures, and other quantities against configurable, standards-based limits and get flagged where a design breaches them — a design-review layer distinct from the solver honesty notes.
Screen a check valve for slam / water-hammer risk from its placement and the reverse-flow it would see — a targeted transient safety check on top of the node type.
Size equipment straight from a solved node: free-water 3-phase flash check, compressor/pump-trip settle-out pressure, flashing / two-phase relief (API 520 Omega), bursting disk, gas relief, orifice, and heat-exchanger — the "size this device from the solve" workflow.
Selected builder elements and many calculators return a pass / warn / fail verdict with the reason and a fix — pump NPSH & BEP window, control-valve choke, sprinkler 7-psi, check-valve slam, HX pinch, orifice cavitation, per-pipe pressure rating, and more. Numbers plus an engineering read on them.
Save named network projects, keep a per-project run history, and share a model with teammates. A persistence and collaboration layer over the builder, beyond the read-only example library.
With nothing selected, the right panel becomes a Solver Diagnostics dashboard — solver status and matrix-health metrics, warnings, choked-flow flags, and a convergence-history chart of residual vs iteration — so "Converged" is something you can inspect, not just a claim.
Model Builder → pin a parameter → Parameter Explorer
Pin any input — a diameter, a demand, a pump speed — and a floating Parameter Explorer lets you sweep it with a slider and watch the solved answer move in real time, for quick what-if intuition without a full scenario run.
Model Builder → select a Pump → Head Loss Breakdown
Select a pump after a solve and see where its head is going — a per-pipe head-loss breakdown across the connected loop, sorted by contribution, so the biggest losses in a system are obvious rather than buried.
Generate a node-by-node continuity-residual review sheet for a solved model — a reviewer-facing check that every junction actually balances, for a second engineer to approve before the model is trusted.
See the solver's own internal convergence gates — the checks it runs before declaring a solve converged — surfaced in the builder UI, so "Converged" means something you can inspect rather than a black-box claim.
A compressor node gets an inline pass/fail verdict on its operating point plus surge-margin inputs, catching a compressor running too close to its surge line directly in the builder results.
Detects flooding and stall conditions on a steam-trap node and reports them with a model-honesty note, so a trap that's misbehaving in the model is flagged rather than silently passing condensate that shouldn't get through.
Model Builder → Transient panel → surge-device results
After a network transient run, judges whether the surge-protection devices in the model — air chambers, surge tanks, relief valves — are actually adequately sized for the surge they just saw, not just present.
Runs the density/area and most-remote-area method with Hazen–Williams head loss to size sprinkler systems and hand the required flow and pressure to the fire pump.
Designs open-nozzle deluge systems where every head flows simultaneously (Q = K·√P), then checks the delivered density over a vessel or transformer surface for cooling.
Checks a fire pump against the NFPA-20 curve envelope (shutoff ≤ 140%, ≥ 65% head at 150% flow), suction pressure, jockey-pump sizing, and driver power with diesel deration.
Every sprinkler node exposes the full Element Properties parameter set — K-factor, orifice size, thermal response, coverage area, temperature rating — matching the parameter tree engineers already know from FluidFlow, so a model transfers without relearning field names.
Generates the NFPA-13 §28.4 hydraulic calculation package straight from a solved sprinkler model — the Summary sheet, the node-by-node Worksheet, and the graphical N^1.85-linearized paper — in the layout an AHJ expects to review.
Maps a solved sprinkler network straight onto the NFPA-13 §28.4 form set with one click, so the compliance paperwork always reflects the exact model that was solved instead of a hand re-keyed copy.
Turns density, coverage area per sprinkler, and spacing (S × B) into an auto-generated, solvable sprinkler grid — with a live-recomputed summary in the generator dialog before you confirm — instead of placing every head and branch pipe by hand.
Model Builder → Sprinkler node → Pick sprinkler model
Pick a real sprinkler head from a provenance-typed manufacturer catalog — K-factor, temperature rating, response type — and apply it to a node in one click instead of transcribing a K-factor off a cut sheet.
Model Builder → Sprinkler node → My sprinkler models
Save your own sprinkler models with a provenance dossier alongside the curated manufacturer set, so a project can standardize on a specific vendor's head across every network you build.
Model Builder → Project Settings → Fire Design Basis
Captures the NFPA-13 design-of-record envelope in one place — occupancy hazard classification, the dual density-and-area design points, hose-stream allowance, and the 2-point water-supply test — so the basis of a sprinkler design is documented with the model, not lost in a separate memo.
Model Builder → Fire calc → Supply vs demand graph
Plots the water-supply curve against the sprinkler system's hydraulic demand on N^1.85-linearized axes per NFPA-13 (2025) §28.4.2.3, so the margin between what's available and what's required reads as a straight line at a glance.
Flags a sprinkler layout whose spacing × coverage area exceeds the NFPA-13 §11.2.3 cap for the selected occupancy hazard class, catching an over-spaced head before it becomes a code violation instead of after.
Searches candidate design areas with a real solve in the loop to identify the hydraulically governing NFPA-13 area of application, then reports sprinkler demand from that governing area alone — rather than assuming the geometrically farthest area is always the worst case.
Renders sprinklers inside the applied governing NFPA-13 design area visually distinct from the rest of the system, so it's immediately clear which heads are flowing in the reported case and which are not.
Model Builder → Project Settings → Friction model (fire mode)
Enforces the NFPA-13 Table 22.4.4.7 per-pipe C-factor whenever a network is solved in fire mode, so a fire-protection network can't silently escape onto a Darcy–Weisbach friction model the code doesn't recognize.
Build up to 30 parts of a water system in the Builder v2 editor (100 with Starter, which also saves the model and prints its report), press Run (Darcy–Weisbach with automatic reducer losses and tee correlations), open the working behind a pipe’s numbers, start from the LF01 video levels, and carry the model into the full Builder after signing in.
Read the Darcy friction factor from Reynolds number and relative roughness, comparing Colebrook against Swamee–Jain and reading the Moody chart directly — with the Darcy-vs-Fanning trap called out.
Compare fitting loss three ways — Crane TP-410 (K, L/D), Hooper 2-K, and Darby 3-K — with total ΣK, equivalent length, and pressure drop for a fitting set.
Size round and rectangular HVAC ducts for ΔP, velocity, and Reynolds number (Huebscher equivalent diameter), checked against ASHRAE / SMACNA velocity limits.
Invert two gauge readings and one flow on a known line: compare the measured friction against the clean-bore prediction (the shared Darcy–Weisbach engine) and read the excess BOTH ways — an effective inner diameter from a bisection with roughness held, and an equivalent added K read against Crane benchmarks — with a ±5 % measurement band. Refuses to diagnose when the reading shows less loss than clean physics allows.
Get ΔP, regime, and head loss for power-law, Bingham-plastic, and Herschel–Bulkley fluids (Metzner–Reed, Buckingham–Reiner, Dodge–Metzner) for muds, sludges, and pulp.
Size the air receiver from both governing cases (load-unload switching + peak-event storage) rounded to a standard shell, get the condensate load the receiver and dryer must handle (ASHRAE psychrometrics at receiver pressure), and size the air main with velocity/ΔP verdicts at line-pressure density.
09
Calculators — Pumps & NPSH
Operating-point and cavitation-margin checks for pump selection.4 รายการ
Compute NPSH available from the full suction path (atmospheric/gauge pressure − vapor pressure ± static head − friction) against NPSH required per ANSI/HI 9.6.1, with a cavitation-margin warning and sensitivity plot.
Turn what a technician can actually measure — suction/discharge gauges with their elevations, a flow reading and clamp-meter power — into measured head, live efficiency and NPSHa, then rank seven probable causes (wear, cavitation, run-out, recirculation, low speed, viscosity) with what to check next. Every threshold is shown, a rule with missing inputs says so instead of being skipped, and a reading above 1.05× the pump curve REFUSES the diagnosis and sends you back to the gauges.
Read the electricity bill for a running pump instead of its gauges. A clamp meter and the nameplate give input power, the motor loading (solved as a fixed point against the IE-class part-load curve, which is disclosed as generic), pump and wire-to-water efficiency, and the power burnt in the control-valve trim priced in ฿/yr. Impeller trim and a VFD are then presented ranked by payback, with the VFD saving taken from where the affinity-scaled pump curve actually meets the system curve — the cube law is printed beside the honest figure only so the gap is visible, never used to quote a saving. Three structural gates: an implausible efficiency deletes every ฿ figure and hands back a measurement checklist, an estimated power factor turns every ฿ into a band, and a blank static head removes the VFD card entirely rather than defaulting it to zero.
Size a PSV/PRV orifice per API 520 Part I for gas/vapor, liquid, and steam service including choked flow and viscosity correction, then pick an API 526 letter size.
Size a thermal-relief PSV for a blocked, liquid-full line or vessel heated by sun, exchanger, or fire per API 521 §4.4.13, then choose the orifice and API 526 letter.
One form for a complete PSV rating: orifice selection, valve type, inlet/outlet drop, and reaction force, producing a single datasheet with an overall verdict.
Size breather / PV-valve vents for an atmospheric storage tank against thermal in/out-breathing, pumping, and fire cases per API 2000, and pick the governing case.
Simulate gas blowdown through a BDV orifice on both isothermal and adiabatic paths — check an existing orifice or size one for the API 521 §4.6.6 criterion (min(6.9 barg, 50% of initial) within 15 min), with P(t)/T(t) charts, peak flare load, and a cold-temperature MDMT warning.
Classify Zone 0/1/2 around a gas or flammable-liquid release per IEC 60079-10-1, computing release rate, zone radius, and recommended Ex marking, gas group, and temperature class.
11
Calculators — Gas & Steam
Compressible-flow sizing and steam / condensate thermodynamics.7 รายการ
Size gas and steam pipe for ΔP, velocity, and Mach number per Crane TP-410 (isothermal, Weymouth, Panhandle A/B) with a PR-EOS Z-factor and choked-flow check across 10 species.
Find outlet temperature, adiabatic/polytropic head, and brake power for a blower from flow, pressure ratio, and gas properties (GPSA / API 617), with a recommended motor.
Look up h, s, v, ρ, u, and Cp for water and steam per IAPWS-IF97 across saturated, wet, subcooled, and superheated states — for boiler, turbine, and refrigeration work.
Compute flash-steam fraction on pressure let-down and condensate load (warm-up + running) using IAPWS-IF97 properties, per the Spirax-Sarco / TLV method.
Run a new steam main in one sequential workflow: line size from velocity + ΔP verdicts, insulation heat loss with the 60 °C surface check, condensate load, trap sizing at SF=2 with drip-leg guidance, and the flash-steam return line — Spirax-Sarco/TLV method on IAPWS-IF97 properties.
Diagnose why a modulating-steam heat exchanger floods at turndown: the AMTD stall chart (jacket pressure vs load), the stall load L% where jacket pressure meets the condensate back pressure (header + lift head), the sub-atmospheric region, condensate rate at the stall point as the pump-trap capacity, and the ranked fixes with the vacuum-breaker condition stated either way.
One tool, two questions: size the area with LMTD (A = Q/(U·F·ΔT_lm)) or rate performance with ε-NTU to get effectiveness and outlet temperatures — switchable on one page.
Diagnose a running exchanger from one field test point: it first checks the two sides against each other and REFUSES the whole diagnosis above 15 % heat-balance error, then gives actual U vs clean, the fouling factor consumed against the design allowance, a signature verdict separating fouling from a bypass or one-side flow maldistribution, and a linear clean-by date projected from two user-dated tests.
Estimate the time for a pipe, tank, or sphere to reach a target temperature with a lumped-capacitance model, with a Biot-number validity check and a cooling curve.
Find every moist-air property from any input pair (T_db + RH / T_wb / T_dp / W) using Hyland–Wexler per ASHRAE, with a psychrometric chart — for AHU and coil work.
Compute ungassed/gassed agitation power, mass-transfer coefficient kLa (Van’t Riet), gas-dispersion regime, and hold-up for an aerated stirred tank, with a vendor RFQ datasheet.
13
Calculators — Vessels & Structural
Wall-thickness / MAWP to pressure codes, vessel volume, and separator sizing.4 รายการ
Compute minimum straight-pipe wall thickness under internal pressure per ASME B31.3 with corrosion and mill-tolerance allowances, checking a chosen schedule and finding MAWP.
Convert level to liquid volume (or back) in horizontal/vertical vessels with flat, 2:1 ellipsoidal, hemispherical, or torispherical heads via closed-form Jones (1974) equations, with a dip/strapping curve.
Size a knock-out drum / separator with the Souders–Brown equation (GPSA / API 12J), for vertical or horizontal orientation with pressure K-derating and mist-pad effect.
14
Calculators — Instruments & Metering
Control-valve Cv, flow-meter sizing, and restriction orifices.7 รายการ
Size a liquid control valve Cv/Kv per ISA-75.01.01 / IEC 60534 with choked-flow, cavitation σ, valve authority, and installed-characteristic checks for globe, ball, butterfly, and V-port trims.
Size a control valve for gas/vapor service per ISA-75.01.01 (IEC 60534) with the expansion factor Y and choked-flow check — the compressible complement to the liquid valve tool.
The inverse of sizing: enter the INSTALLED valve (rated Cv + inherent characteristic) and today's P1/P2/flow, and the tool locates where it is actually operating — implied opening % from the travel inversion, cavitation σ, flashing, choked flow, valve authority β — then names the complaint's cause: oversized, undersized, cavitating, flashing, or "the pipe is the problem". Refuses impossible readings rather than guessing.
Size a differential-pressure flow meter per ISO 5167 with the Reader-Harris/Gallagher discharge coefficient, gas expansibility, permanent loss, and uncertainty propagation for orifice, nozzle, and Venturi.
Size a restriction orifice that must drop a target permanent pressure at a given flow — liquid (Bernoulli) and gas (choked/sub-critical per Crane TP-410 + ISO 5167), with cavitation check and multi-stage split.
Design an atmospheric storage tank end-to-end from duty: working/nominal volume and D×H geometry, API 2000 normal venting (shared tank-venting engine), a nozzle schedule with velocity verdicts, gravity + pumped emptying time, and an RFQ summary card.
Measure open-channel flow from head H over rectangular, V-notch, and Cipolletti weirs (ISO 1438) and Parshall flumes, with an inverse H↔Q mode and rating curve.
15
Calculators — Fluid Properties
Property lookup for pure and mixed fluids from the same database the solver uses.1 รายการ
Look up ρ, μ, Cp, k, vapor pressure, and Pr for pure fluids from the 1,000+ fluid database (the same one used in the model builder) or blend components for mixture properties (Amagat / Grunberg-Nissan / Raoult).
16
Process Safety (PHA / HAC)
Full process-hazard-analysis workspace — HAZOP, LOPA, SIL, fault/event trees, bow-ties, and hazardous-area schedules.46 รายการ
Run a multi-node hazard study with a worksheet schedule, a cross-study recommendations register, and PDF/CSV/JSON export — the home base for a full process-hazard analysis.
One worksheet engine supports HAZOP (parameter × guideword), What-If free-text, FMEA (RPN + Action Priority), and Checklist studies, so you can pick the right method per node without switching tools.
Verify a safety instrumented function against both the PFDavg target and the architectural-constraint (SFF/HFT) cap per IEC 61508, with series subsystems, 1oo2D, spurious-trip rate, and proof-test optimization.
Credit independent protection layers against an initiating-event frequency to check whether a scenario’s risk is tolerable, tied directly to the safeguards on each deviation.
Build fault trees — top-event probability plus enumerated minimal cut sets and the AND/OR Boolean logic behind a failure — and event trees that branch an initiating event through successive safety functions into all 2^k outcome paths, as drawer tabs on a deviation.
Pull from ~140 indexed causes, consequences, and safeguards tagged by parameter × guideword × equipment, and seed a node from equipment HAZOP / checklist templates — so studies start fast and stay consistent.
Track recommendations across every study with owner, status, and overdue filters, inline status editing, CSV export, and a management-of-change (MoC) import that applies batched action-status updates — so nothing falls through the cracks after the workshop.
A single-deviation calculator that runs IEC 61882 + CCPS LOPA + IEC 61511 SIL-gap logic and produces an FM-EN-17 PHA datasheet — a quick standalone alternative to the full workspace.
Manage a multi-source Hazardous Area Classification project and build a 31-column Source-of-Release Schedule per IEC 60079-10-1 / EI 15 / API RP 505, exporting CSV/PDF with a datasheet per source for the electrical team.
Every study keeps a revision timeline; snapshot any point and diff two snapshots to see exactly what changed across nodes, with a CSV export of the difference. Change control for a hazard study.
Share a study with teammates, get a notification feed for shares / edits / locks, and co-edit over a live WebSocket connection — shared-by-me and shared-with-me views included.
A tamper-evident, HMAC-sealed audit log of every study action, verifiable and exportable — cross-study or per-study — so the record of who changed what, when, holds up to scrutiny.
Define who must seal a study and what each seal means, record each seal against the study content hash, and issue sealable datasheet evidence artifacts — a formal approval workflow for a completed hazard study. A seal is tamper-evidence, not a legal electronic signature.
A printable, assessor-ready evidence pack for tool qualification under IEC 61508-3 §7.4.4, recomputed live from the engine — a distinctive functional-safety deliverable few tools produce.
Seed a PHA or HAC study from a spreadsheet — an idle → parse → preview → submit CSV import pipeline that turns existing worksheets into study rows without hand re-entry.
Search every study and every worksheet row at once from the workspace header — a case-insensitive lookup across the whole PHA portfolio, so a hazard raised in one study is findable from any other.
Bring a HAZOP study in from the Open-PHA interchange format with a parsed row preview before committing — the import counterpart to the Open-PHA export, so studies can move both directions.
Open a worksheet row and discuss it in a threaded comment feed — replies, soft-delete, and moderation — so review conversation lives on the exact deviation it concerns instead of a separate email chain.
Edit the study’s risk matrix itself — severity and likelihood labels and the band grid — and the per-severity tolerable target frequencies (with a reset to standard CCPS values), so the risk framework matches your corporate standard rather than a fixed default.
Save named filter-and-sort views of the worksheet and choose which columns show — so a large study can be sliced to the rows and fields a given review pass cares about and recalled instantly.
Select any set of release sources in a Hazardous Area Classification schedule and bulk-edit shared fields (grade, ventilation, safety factor, equipment type), bulk-delete, or seed the schedule from a CSV — instead of editing dozens of sources one by one.
/calculators/hazardous-area-classification → source (project mode) → Revision history
Every release source keeps a revision history you can open, diff two revisions field-by-field (before/after, changed cells highlighted), and restore an earlier revision — change control down to the individual source.
Before a Hazardous Area schedule can be issued it must pass a completeness check — required and recommended items are listed and required gaps block issuing — and a Made / Checked / Approved / Issued approval strip records who approved. A stale-calc banner flags sources computed on an older engine version.
Pick likelihood and severity directly on a click-to-select risk matrix grid, with the marker landing on the resulting risk band in real time — a visual companion to the LOPA math on every deviation.
Shows the risk band before and after safeguard credit side by side with risk-band badges, so the value each independent protection layer buys is visible at a glance instead of buried in a probability number.
Save your own reusable cause / consequence / safeguard entries to a private per-user library, separate from the curated ~140-entry set, so judgment calls from past studies carry forward instead of being retyped.
Computes average probability of failure on demand per IEC 61508-6 Annex B from component failure rates, proof-test interval, and diagnostic coverage — the core low-demand SIL number behind a safety instrumented function.
Caps the achievable SIL against the IEC 61508-2 Route 1H safe-failure-fraction / hardware-fault-tolerance table for Type A and Type B elements, so a good PFDavg number can never silently overclaim a SIL the hardware architecture doesn't support.
Models a SIF as an arbitrary chain of series subsystems (sensor / logic solver / final element and beyond), summing PFDavg across the chain while capping each subsystem to its own architectural constraint — matching how a real SIF is actually assembled.
Quantifies a 1oo2D (one-out-of-two with diagnostics) voted subsystem with Hokstad-form conservative-bound math, cross-checked against an independent numerical Markov model — for redundant final elements or logic solvers.
Estimates the spurious-trip rate and mean-time-to-failure-spurious for a SIF architecture, so a safety upgrade's cost in unwanted shutdowns is visible alongside its PFDavg benefit.
Models the imperfect-coverage residual left by partial-stroke testing between full proof tests, and searches for the proof-test interval that meets a PFDavg target — turning 'how often do we test' into a calculated answer.
Pre-fills a SIF component's failure rate (λD) and diagnostic coverage from a curated, versioned FMEDA dataset instead of starting from a blank field, with indicative-vs-user-supplied provenance kept visible.
Imports a vendor's FMEDA report as CSV and tags it certified-tier evidence, distinguishing vendor-certified failure data from the platform's own indicative curated library at a glance.
An interactive editor for assembling a SIF's subsystem architecture — voting, component counts, per-subsystem failure data — with the result persisted against the safeguard it verifies.
Every PHA/SIL screen and report cites the standard behind its math inline — IEC 61882, IEC 61508, CCPS LOPA and more — so a reviewer can trace a number back to its clause without leaving the tool.
Takes a recommendation beyond a status flag through a full lifecycle workflow with revalidation hooks, so a management-of-change trigger can reopen and re-verify an action rather than quietly closing it.
Attaches a P&ID image to a study and pins click-placed annotations directly on it against specific equipment, so a HAZOP node's discussion stays anchored to the actual drawing instead of a separate list.
Generates starter HAZOP deviations directly from a solved Model Builder network, node by node, so a hazard study can begin from the actual design-basis numbers instead of a blank worksheet.
Model Builder → PHA study → SIF verification → Datasheet
Carries a solved network's design-basis numbers through a PHA study into a SIL-verified safeguard and out to a sealed datasheet in one traceable thread, instead of four disconnected tools kept in sync by hand.
Cross-references a study's hazards and safeguards against OSHA PSM's 14 elements, Seveso III, and RAGAGEP as an indicative appendix, helping a study demonstrate regulatory coverage without a separate compliance exercise.
Live-recomputes the platform's SIL math against the published Brissaud & Oliveira (2015) benchmark across six SIF architectures and embeds the comparison in the validation dossier — an independently checkable credibility anchor, not a self-graded claim.
Seeds a ready-made demo HAZOP study with populated deviations and safeguards on first login, so a new user can explore the worksheet, LOPA, and SIL views without building a study from scratch first.
Captures deferred items and off-topic ideas raised during a HAZOP workshop in a panel alongside the worksheet, so the session keeps moving without losing the thought.
17
Records & Compliance (21 CFR Part 11)
Tamper-evident records and sealed approval workflows, modeled on 21 CFR Part 11 electronic-records practice.7 รายการ
Browse a study's tamper-evident audit chain in a filterable, load-more dialog with a live chain-integrity verify badge, and pull the same evidence via a list/verify/export API for external tooling.
Stream a CSV export of every audit event across an organization's studies via the API, with the correct row-level-security context recaptured per row — a cross-study evidence pull for compliance reviews. Available over the API today; a dedicated admin page is not yet built.
The moment the first required person seals, a study's content becomes read-only study-wide — so a sealed record can never be silently altered underneath its own approval.
Every sealed study's PDF/Word export carries a dedicated Seal Records section listing each person who sealed, the stated meaning, timestamp, and a hash-prefix — so the paper trail travels with the document, not just the database.
Once a study is issued, every content-write endpoint returns a hard 409 on further edits — a server-side lock that can't be bypassed from the UI, closing the gap between 'sealed' and 'actually immutable'.
A dedicated Records & Seals section in the printable Validation & Methodology dossier documents the audit-chain and seal controls an auditor would ask about under 21 CFR Part 11.
Five failed login attempts locks an account for 15 minutes, with IP-level rate limiting on the login endpoint — brute-force resistance for the credentials guarding your compliance records.
18
Datasheets & Reporting
Turn a calculation into a vendor-ready RFQ datasheet or an exportable report in the format your team already uses.9 รายการ
Produce a transparent calculation sheet showing inputs, equations, and results for a calculator or a selected builder element — the audit trail behind a number.
Export PHA studies and results as a FM-EN-17 PDF, a true .docx (Word), a true .xlsx (Excel), CSV, or JSON — including the Open-PHA interchange format — so deliverables drop straight into existing workflows.
Export a solved network’s node and pipe results straight from the builder toolbar as a CSV — a quick hand-off of the numbers behind a solve into a spreadsheet, separate from the PHA study exports.
Keeps a persisted, shared revision history for a calculator or case-study datasheet across sessions and reviewers, so a Rev 0A vs. Rev 1 comparison is possible without exporting files back and forth.
Issues a calculator or case-study datasheet through a password re-authenticated sealing flow that stamps a SHA-256 content hash, so a downstream reviewer can verify the issued sheet's chain is intact and untampered.
One click swaps a report between Full-study, OSHA-PSM, Seveso-III, and Concise presets, each pulling the section set and depth that audience actually needs instead of hand-picking sections every time.
Persists a per-study custom section order and column set, plus an accent-colour cover, so an exported report matches how your organization actually structures and brands a deliverable.
Embeds the risk-matrix heat-grid and bow-tie diagram as real images inside PDF and Word exports, so the visual risk story travels with the report instead of staying trapped on screen.
A structured register whose codes run through A52 (roughly three dozen live detectors) watching every steady solve and raising refuse / blocking / warn / info notes — gating the datasheet when a result is not safe to use for sizing rather than handing back a plausible-but-wrong figure.
The marching multi-fluid engine adds its own post-solve honesty layer — eight structured detectors (free-water / three-phase separation, slugging on inclines, over-cooled vapor, single-MW flash drift, buoyancy loops, associating-species EOS limits, near-critical CO₂ viscosity, homogeneous tee splits) — surfaced on the same Scope Banner as the steady register.
The same refuse/block/warn discipline for the transient engine — e.g. it names why a multi-scenario run fell back to a legacy path, flags cavitation, and enforces a low-Mach envelope on gas transients — and it disables the transient result export dropdown whenever a blocking note fires, so a gated result can never be exported as if it were valid.
A published record of dozens of verification cases (through VC-073) cross-checking the engines against EPANET and FluidFlow references plus exact analytical oracles and published lab surge experiments, so you can see exactly where the numbers have been proven.
An in-app report of the EPANET-parity verification matrix — solve levels × case categories — showing at a glance which solver paths are benchmarked green.
Two live in-app demos you can run yourself: a Tier-2 multi-fluid marching-network solve over canned compressible networks, and a Tier-1 thermodynamic fluid-layer demo (flash / phase detection plus heated-pipe marching with a quality-vs-position chart).
A dedicated series of validation example networks — the 7.x set, from branch-tee manifolds through a fire sprinkler system, plus an API-521 flare header — you can load and solve to check friction-model parity against reference results, rather than hunting for them among the general examples.
Rejects a solved network state with a physically implausible head (e.g. thousands of meters negative) instead of handing it back as a converged answer — a numerical-nonsense trap, not just a slow-convergence one.
If a check or control valve's open/closed status flips back and forth for 5 consecutive Newton iterations, the solver freezes it rather than looping forever or oscillating to a fake convergence.
Every scenario in a batch run gets an independent, real solve — a scenario that fails to converge is reported FAILED, not silently folded in as converged alongside the ones that actually solved.
A non-converging solve surfaces the engine's actual failure reason in the UI — which constraint or node broke down — instead of a generic 'solve failed' message that leaves you guessing what to fix.
An unsupported compressor setpoint or pressure-ratio request returns a clearly labeled non-converged reason instead of crashing with a server error, so an out-of-envelope case is visibly out of envelope.
A gas-network solve is only called converged when both the Newton step is small AND the mass-balance residual is satisfied — closing a case where a tiny step alone had been reported as a false convergence.
A relief or surge device configuration that would destabilize the transient Newton solve is caught and surfaced as a clear configuration error, instead of quietly returning a wrong transient result.
Every SIL calculation carries a derived certified / indicative / user-supplied provenance status for its failure-rate data, surfaced as a gated 'FMEDA Data Provenance' section in the study export — so you know how much to trust the numbers behind the number.
LOPA cards, the worksheet grid, and every Word/PDF export carry a consistent indicative-vs-certified disclaimer, so a screening-level estimate is never mistaken for a certified engineering result downstream.
Exporting to the Open-PHA interchange schema (which only models HAZOP) refuses on FMEA or Checklist studies instead of silently dropping their content into a format that can't represent it.
Ingests EPANET's own solved results (via the wntr library) alongside a DekEn solve on the same network, so you can cross-check the two engines' numbers directly instead of taking either one on faith.
In-app pages that solve the standard US-EPA EPANET Net1/Net2/Net3 benchmark networks and show the match against the published reference results — a reliability check you can see for yourself, not just take on trust.
Export a builder network to .xlsx, or bring one in from a DekEn-template spreadsheet or an arbitrary spreadsheet via a column-mapping UI — so a network can start life, or keep living, in the spreadsheet your team already shares.
Bring a GIS shapefile (.shp/.zip) in as nodes and pipes, or a CAD DXF drawing in as a canvas underlay to trace over — so a network can be built on real site geometry instead of from scratch.
A full equipment datasheet set for the CO₂ Capture Process Pilot Plant (Mae Moh Power Plant Unit 14) — pumps, blower, agitator, strainers, heat exchanger, tanks, and more — showing the calculators and datasheets on a real project.
Public showcase pages for fire, fluids, and surge where every headline number traces back to a real production solve — the anonymized social-proof view of the platform in action.
Preliminary General Arrangement drawings — dimensioned elevation and plan views with a nozzle schedule, notes, and a title block — accompany the pilot’s separators (S-201 / S-202) and the reactor agitator (R-101), marked "preliminary — not for construction".
Vendor-RFQ datasheets for every pump on the CO₂-capture pilot — AODD diaphragm pumps for ash-water and slurry duty, plus centrifugal transfer and CaCO₃-dosing pumps — each backed by its own sizing calculator.
Datasheets for the pilot's heat-transfer equipment — an API 661 air-cooled gas cooler and electric heat-tracing on the reactor — each with its own vendor-ready calculation and spec sheet.
Datasheets for the pilot's static equipment — a Zwietering-sized buffer tank, a Stokes-law settlement tank, dual basket and auto self-cleaning strainers, and the split raw-gas / condensate KO-drum separators.
Every EGAT equipment datasheet keeps a shared, database-backed revision history so GB/admin users can track how a spec sheet changed across design iterations instead of a single overwritten file.
/case-study → any equipment page → Design Information Report
A per-equipment design-basis report panel that rolls a case study's process conditions, equipment duty, and sizing rationale into one place alongside each datasheet — the engineering 'why' to read before trusting the numbers.
22
Content & Reference
Articles, documentation, equation references, and validation write-ups.14 รายการ
This page: a searchable catalog of every platform capability, alongside the Manual at /docs/manual — a browsable tree of seven areas and dozens of sub-topics with governing equations (KaTeX) and equation-aware search, each topic on its own URL.
Hover a feature card on the homepage to preview a short MP4 clip of the tool in action, served at a viewport-tiered width so it stays fast on mobile — a quicker way to see what a feature does before clicking in.
Site traffic is measured with GA4, Microsoft Clarity session replay, and Google Search Console, all gated behind a PDPA-compliant cookie-consent banner so a visitor controls tracking before it starts.
A no-signup guided walkthrough bridges a first-time visitor from the homepage straight to running a real solve, showcasing the platform's headline capability before asking for an account.
Seven example networks reproduce worked cases from published piping-engineering handbooks (pipe properties, oil-system design, and more) so you can check DekEn's numbers directly against a textbook answer.
Solved networks render flow, velocity, and envelope data as interactive Plotly.js charts you can zoom, pan, and hover for exact values — turning a results table into a readable trend.
Engineering articles can embed Mermaid flowcharts and diagrams directly in the body text, rendered live in the browser — handy for explaining a process or a decision tree without a static image.
A generated, always-current API reference produced straight from the backend's OpenAPI schema, grouped by tag with a schema glossary — so integrators can call the solver and calculators directly without guessing an endpoint shape.
A CMS back office for authoring — article CRUD, tag management, custom categories, and file uploads — kept separate from the public /articles reading experience.
23
Accounts & Teams
Role-based access, single sign-on, and multi-tenant organizations for real teams.20 รายการ
Access levels — free account (every calculator, in full), the Pro package (the flagship apps), GB (case-study partners), and admin — gate features from the free calculator library up to curated case studies and admin tools, so each user sees exactly what they should. The Starter package adds the datasheet export and a 100-node lab with saving and a printable report.
Per-organization single sign-on via OIDC or SAML 2.0 with domain verification and group-to-role mapping, plus SCIM user provisioning — for enterprise identity management.
Organizations isolate their data with Postgres row-level security, an active-org switcher, tenant-admin controls, and plan-driven effective tiers — so multiple teams share one deployment safely.
A first-party data-monitoring pipeline that answers who is visiting, who is signed in right now, which apps and calculators actually get used, and whether the server is healthy — all from DekEn’s own database rather than a third-party analytics product, so it sees logged-in behaviour and project usage that Google Analytics structurally cannot. Four sections: Overview (visitors, trend, and a visitor-to-package funnel), Usage (per-app feature counts and a calculator popularity ranking), System (host CPU/memory/disk sampled every minute, plus request volume, error rate and the slowest routes), and SEO (the Google Analytics / Search Console / Clarity panel, honest about what is not configured). Visitors are identified by a salted hash of IP and browser that rotates every day, so unique-per-day counts are exact while cross-day tracking is impossible by construction and no cookie or consent banner is required; the raw IP is never stored. Raw rows are purged after a year, leaving daily aggregates that contain no personal data at all.
Turn a stack analyser reading (O2 or CO2 dry, CO, stack temperature) into an ASME PTC 4.1 indirect heat-loss breakdown on an HHV basis: excess air from the exact dry-product mass balance shown beside the shop-floor O2/(20.9-O2) approximation, every loss as a percentage of HHV with the flue-gas cp temperature-averaged over the real composition, efficiency on BOTH bases, blowdown reported separately on its own denominator, an achievable case at target O2 and a clean-bank stack, and ฿/yr + tCO2/yr. Ranked causes put CO ahead of excess air because the two give opposite instructions; three structural gates suppress the headline efficiency when the direct and indirect methods disagree by more than 5 points, suppress every loss for a fuel with no ultimate analysis, and suppress the achievable case while CO is live.
Answers the two questions in the order that keeps a week from being wasted: is the CONTROLLER even the cause, and only then what should the settings be. A bump test (direct theta/tau, or the 28.3 %/63.2 % two-point read straight off the trend) gives a dimensionless process gain and a lambda-IMC PI/PID set, converted into your own controller form (ISA / parallel / series) and integral units. Nine ranked rules put "the valve is not moving" and "valve stiction limit cycle" ABOVE every tuning rule and strike the recommended settings through when they fire. With no identified model the tuning numbers and the response chart do not exist at all, and an integrating level loop never receives self-regulating tuning.
Design the feedwater loop between the condensate receiver and the boiler drum in one pass: water balance with blowdown and return fraction, the COUPLED mass-and-energy deaerator balance that solves pegging steam (the pegging steam is mass — it condenses in and displaces makeup), storage volume with the honest NWL-to-trip ride-through rather than the nominal retention, BFW pump duty computed on hot-water density, the minimum-flow recirculation orifice through the shared restriction-orifice module, and an NPSHa card that shows the vessel-pressure and vapour-pressure terms CANCELLING — a deaerator holds its liquid at saturation, so NPSHa is level minus suction friction and raising the vessel pressure buys nothing. A blank level suppresses the NPSHa card and every rule that depends on it.
Two modes on one page. Design: intersect the Merkel demand curve (4-point Chebyshev over the range, saturated-air enthalpies from the shared psychrometric module) with a published tower characteristic KaV/L = c·(L/G)^-n to get L/G, air flow, fan power, cell count, basin volume and the CW pump duty. Rate: infer the tower characteristic from a field test point and re-intersect it with the DESIGN demand curve, giving a capability % and an approach normalised to the design wet bulb — so a hot day can never be reported as a broken tower. Without the design reference block the capability number and every comparative rule are absent, not hedged; LSI/RSI require real Ca, alkalinity and pH; and evaporation is computed both from the heat balance and from the field rule of thumb, shown side by side rather than averaged.
An admin console to manage every account — change access level (free account / the Starter package / the Pro package / GB / admin), ban or unban, soft-delete, restore, or hard-delete — with a show-deleted view over the whole user list.
Normal-tier (free) users get a limited preview of calculators and the model builder — enough to evaluate the tool before a subscription unlocks full editing and solving.
When an OAuth sign-in fails — for example an account already exists under email + password — a friendly error page suggests the correct login method instead of a dead-end error.
Employees at an enrolled organization are routed to their own identity provider by email domain and just-in-time enrolled into the org on first login, so nobody has to be manually pre-created.
An organization proves ownership of its email domain with a DNS TXT record before SSO routing activates for it — closing the account-takeover risk of routing logins by an unverified email domain.
Map identity-provider groups straight to DekEn roles so access follows a user's IdP group membership automatically, capped so SSO can never grant more than a site-manager role.
Org-scoped SCIM Users provisioning lets an identity provider create, update, and deprovision DekEn accounts automatically — deactivating on `active=false` — so IT never manages users by hand in two systems.
Organizations standardized on SAML can configure their own IdP, with a signed-Response validator hardened against XML signature-wrapping (XSW) attacks — an alternative to OIDC for enterprise identity.
A self-service console for an org admin to configure OIDC or SAML settings, rotate SCIM tokens, and edit the group-to-role mapping — no support ticket needed to stand up enterprise identity.
A user's actual access is their organization's subscription plan combined with their individual role, capped to the lower of the two — so an org can license one tier for its whole team without every member needing a personal subscription.
Edit your display name and set or change your password from a personal profile page — the self-service account surface, distinct from the admin user-management tools.