Fluid Network Analysis
Use the bundled runtime and schema instead of calculating nontrivial networks informally. The runtime requires Python 3.9 or newer and does not require the source repository or third-party Python packages.
Workflow
-
Read references/schema.md when creating or modifying TOML.
-
Preserve the distinction between a load inlet and its downstream sink boundary. Measure inlet pressure at the load node and flow on its declared measurement edge.
-
Convert user units to SI before writing TOML and retain the original values in explanatory text when useful.
-
Represent only explicitly requested operating conditions. Apply scenario actions as state overrides; never generate a Cartesian product of all failures unless the user asks for it.
-
Resolve
<skill-folder>to the directory containing thisSKILL.md, then validate before solving:python <skill-folder>/scripts/fluid_network.py validate <network.toml> -
Analyze all declared scenarios or one selected scenario:
python <skill-folder>/scripts/fluid_network.py analyze <network.toml> --format markdown python <skill-folder>/scripts/fluid_network.py analyze <network.toml> --scenario <scenario-id> --format json -
Report assumptions, validation errors, solver convergence and mass-balance residuals. Do not present unresolved pressures or flows as physical results.
Modeling decisions
- Use
pressure_boundarywith rolesourcefor supplies and rolesinkfor ambient or return pressure. - Use
junctionfor ordinary unknown-pressure nodes. - Use
loadonly at the load inlet and provide both pressure and flow thresholds. - Use
ΔP = RQfor linear resistance andΔP = RQ|Q|for quadratic resistance. - Model a pump as fixed pressure rise plus positive internal resistance. Do not silently approximate a supplied pump curve as fixed head.
- Treat reliability results as deterministic availability within the named scenario, not as failure probability.
If topology, source pressure, sink pressure, resistance data, or load thresholds are absent, state the minimum assumptions required for a runnable model. Do not hide those assumptions inside generated values.
Use assets/simple_network.toml as a minimal starting template and assets/redundant_supply.toml for main/backup path analysis. Copy an asset to the user's workspace before modifying it; do not edit the installed asset in place.
