DRNX — technical assumptions adopted

This document collects every design decision, simplification and scope exclusion. It is a mandatory annex when results are handed over for checking.


1. Governing assumptions

#AssumptionRationale
Z-1All engineering logic runs in the browserRequired for deployment on Cloudflare Pages as a static build, with no application server
Z-2The backend is optional and performs no computationCloudflare Workers has hard CPU and memory limits; engineering computation does not belong there
Z-3No external dependencies, no CDNFully offline operation after first load; no supply-chain exposure
Z-4SI units in the computation layerConversion happens only in the presentation layer
Z-5No normative values hard-codedAll come from a profile file carrying a SHA-256 checksum
Z-6Guessing normative values is prohibitedValues without a confirmed source are marked [TO BE VERIFIED]
Z-7Drawings authored in sheet millimetresThe only way to guarantee scale fidelity in print
Z-8Rasterisation of technical drawings prohibitedThe PDF must remain vector and measurable

2. Computational assumptions

2.1 Hydraulics

#AssumptionPractical consequence
H-1Friction model: Prandtl–Colebrook, explicit formNo iteration, deterministic result
H-2Roughness k_b is operational, not materialIncludes local losses and manholes; minor losses are not added separately
H-3Kinematic viscosity fixed at 1.31\cdot10^{-6} m²/sCorresponds to roughly 10 °C; temperature effects neglected
H-4Bisection range limited to h \le 0.938DAbove this Q(h) is not monotonic; exceedance is treated as pressurised flow
H-5Only circular sections in the sizing engineEgg, bell and rectangular sections are out of scope for this release
H-6Minor losses not modelled separatelyAbsorbed into k_b per DWA-A 110 practice
H-7Downstream boundary: free outfallBackwater from the receiving body is out of scope

2.2 Hydrology

#AssumptionPractical consequence
Y-1Rational method as the sizing basisAppropriate where time of concentration is close to storm duration
Y-2Critical storm searched across ten durations, 5–180 minSelected on maximum flow, not maximum intensity
Y-3Runoff coefficient \psi uniform across the catchmentComposite catchments require the user to area-weight \psi
Y-4Initial and continuing losses not modelledAbsorbed into \psi; Horton, Green-Ampt and SCS-CN are out of scope
Y-5Areal reduction factor (ARF) neglectedDefensible for urban catchments below a few tens of hectares
Y-6Catchment defaults to a strip along the routeAlternative: D8 delineation from the DTM
Y-7Hyetographs preserve rainfall depth, not the IDF curve at every stepVerified by test; error 0.0000 %
Y-8Błaszczyk use outside 5–180 min is not blockedThe user is responsible for the range of applicability

2.3 Sizing

#AssumptionPractical consequence
D-1Local optimisation, reach by reachNot a global network optimum; it is repeatable and explainable
D-2Objective: pipe + excavation + manhole costPrices come from the profile file, marked [TO BE VERIFIED]
D-3Excavation volume simplified: L\,(c_{min}+D+0.15)(D+0.8)Trench bottom width per EN 1610 with 0.8 m working space; battered sides excluded from the objective
D-4Gradient search step 0.5 ‰Trade-off between resolution and runtime
D-5Fixed 55 m spacing when building the networkDN-dependent normative spacing lives in the profile, but the initial subdivision is uniform
D-6Self-cleansing criterion is alternative: v_{min} or \tau_{min}Satisfying either is sufficient
D-7Drop manholes and steps are not inserted automaticallyThe threshold exists in the profile; implementation is out of scope
D-8Clashes with existing utilities are not checkedNo utility layer in this release
D-9Pumping stations are not designedExceeding trench depth is flagged only

2.4 Dynamic simulation

#AssumptionPractical consequence
S-1Kinematic wave, explicit upwind schemeBackwater effects are not represented
S-2Time step 5 s, simulated duration 1 hCourant condition monitored and reported
S-3Lateral inflow proportional to the hyetograph ordinateNo separate catchment rainfall–runoff transformation
S-4Flooding taken as volume exceeding 0.98 D capacitySimplified balance, no overland spreading
S-5Full Saint-Venant equations out of scopeVerification path: export to EPA SWMM

2.5 Terrain and reference systems

#AssumptionPractical consequence
T-1DTM sampled by bilinear interpolationBicubic is out of scope
T-2Working window limited to 16 million cellsEnforced in the parsers with a message
T-3The application works in a single working CRSReprojection between systems is out of scope — see O-9
T-4Vertical datum handled by a constant zonal shiftQuasi-geoid model unavailable in the browser; ±0.035 m uncertainty annotated on the drawing
T-5DTM void filling not implementednodata cells interrupt profile sampling

3. Departures from the original scope

A register of exclusions. Each carries a technical rationale and a workaround.

#RequirementStatusRationaleWorkaround
O-1LAS/LAZExcludedDecompressing and triangulating hundreds of millions of points exceeds the browser memory budgetConvert to raster in QGIS
O-2GeoTIFF / COGExcludedRequires geotiff.js, conflicting with the no-dependency principle (Z-3)Export to ASCII Grid in QGIS; restoring it means moving to a Vite build
O-3Binary ESRI Grid, DWGExcludedClosed formats or ones requiring GDAL/ODAExternal conversion
O-4Quasi-geoid .gtx modelReplacedNo PROJ-data in the browserConstant zonal shift from the profile + uncertainty annotation
O-5Saint-Venant equations (Preissmann)ExcludedComputational cost and numerical stability exceed the browser budget for production networks.inp export to EPA SWMM
O-6Running EPA SWMM in-appExcludedNo native environment in the browser or in WorkersCross-validation outside the application
O-7Full EN 1295-1 structural calculationsLimitedOut of scope for the web versionSN stiffness class attribute + indicative cover check
O-8PDF/A-2b, GeoPDF, GeoPackageExcludedNo dependency-free libraries offering validatable conformanceExternal conversion
O-9proj4js reprojection, CRS detection cascadeLimitedNo-dependency principle (Z-3)Explicit CRS selection by the user, stored in .drnx together with the vertical datum
O-10MapLibre GL + deck.glReplacedRequire a CDN or bundler; conflict with Z-3Bespoke canvas plan renderer with hillshading and hypsometric tinting
O-11Web WorkersDeferredThe heaviest operation (D8, 134 k cells) runs in under 300 ms and is one-offExtract once DTMs exceed 4 million cells
O-12Font embedding in the PDFExcludedDependency-free TrueType subsetting is substantial workHelvetica WinAnsi; diacritics transliterated
O-13KOSTRA curves in the DE profileApproximate parametersNo licensed access to DWD dataMarked [TO BE VERIFIED]; the structure is import-ready
O-14Gullies, separators, storage, regulatorsOut of scopeThe data model provides for them; the engine does not handle themRepresent as manual node inflows
O-15Automatic gully spacing (HEC-22)Out of scopeRequires a kerb-channel model and carriageway geometry—
O-16Roof catchments per EN 12056-3Out of scope—Fold into \psi or add as a manual inflow
O-17Revisions, revision clouds, version comparisonOut of scopeThe data model provides a Revision entityCompare .drnx files with an external tool
O-18Splitting a long profile across sheetsOut of scopeThe profile fits one sheet at typical scalesChange the scale or sheet format
O-19SVG symbol library in national conventionSimplifiedManholes drawn as a rectangular outlineReplaceable via a configuration file in a future release
O-2050-step undo/redoLimitedUndo operates on route verticesFull state history requires an immutable model

4. Values requiring confirmation

Every item marked [TO BE VERIFIED] in the profile files. Before results are used in documentation submitted for approval, confirm them against the original standard text or the practice's price book.

GroupItemsSource to confirm against
Roughness k_ball materialsDWA-A 110, value table
Runoff coefficients \psisix surface typesPN-EN 752 / national guidance
Błaszczyk parameter Hdefault 600 mmIMGW-PIB station data for the location
DE profile IDF curvesa, b, c, mKOSTRA-DWD 2020
Unit pricespipes, excavation, manholesPractice price book or SEKOCENBUD
Frost depth1.2 m (PL), 0.8 m (DE)Climate zone map
Kronstadt'86 → EVRF2007 shift+0.165 ±0.035 mGUGiK, data for the specific location

5. Scope of responsibility

The application is a designer's aid. It does not replace:

Responsibility for the design rests with the chartered engineer.


6. Compliance with acceptance requirements

RequirementStatusEvidence
DTM import in ≥ 2 formatsMetASCII Grid, XYZ/CSV + synthetic terrain
Sizing consistent with the normative profileMet0 violations across 75 checks, PL and DE profiles
Scaled printing, including distorted scale, ±0.1 %MetMeasured error 0.000000 % on profile and cross section
Vector PDF without rasterisationMetNo /Subtype /Image objects in the stream
Simulation continuity error < 1 %Met0.0000 % over 720 steps, Cr_{max} = 0.462
.drnx save and load without data lossMetSHA-256 of inputs recorded in the manifest
Reproducibility of computationMetEngine version + profile hash + input hash
Offline operation after first loadMetNo dependencies, no CDN
Deployment as a static build without a serverMetwrangler pages deploy .
100-manhole scheme from drawing to PDF in < 20 minMetSix-step path described in the tutorial