Thermodynamic & fluid-system modeling
Draw a connected system. Specify the conditions you actually know. The solver finds every remaining pressure, temperature, phase, and mass flow — coupled, not copy-pasted between calculations.
EARLY ACCESS · v0.5.0 · SOLVER UNDER ACTIVE VALIDATIONThe product
Schematic canvas, docked project and properties panels, live state labels, property diagrams, CSV export. This is the actual application.
Why coupled
Spreadsheets, property tables, and scripts are fine tools. The difference is the coupling: change one condition here and every downstream state updates in the same solve.
One representation. The pressure drop, the compressor work, and the phase at every point come out of the same F(x) = 0.
01 — CONSTRAIN
Pin the pressures you know. Demand superheat and subcooling. The environment counts degrees of freedom until the system is exactly solvable.
02 — SOLVE
Friction correlations, efficiency relations, phase conditions — every component contributes its residuals to F(x) = 0, solved whole. Rank analysis proves your specifications actually determine the answer.
| it | ‖F‖∞ | ‖Δx‖ |
|---|---|---|
| 0 | 4.2e+02 | — |
| 1 | 6.8e+01 | 2.1e−01 |
| 2 | 3.4e+00 | 8.7e−02 |
| 3 | 1.2e−01 | 1.1e−02 |
| 4 | 8.6e−04 | 6.3e−04 |
| 5 | 2.4e−06 | 2.9e−05 |
| 6 | 8.1e−09 | 1.4e−06 |
| 7 | 3.2e−11 | 5.0e−08 |
03 — VERIFY
The dome is computed from the equation of state, the cycle sits where the physics puts it — superheat and subcooling visibly outside the dome — and the first law must close. Every time.
04 — INTERACT
Three specifications a real system lives or dies by. Watch flash quality, discharge temperature, and COP respond.
| pressure ratio P₃/P₂ | 5.49 |
| T₃ — discharge temperature | 68.1 °C |
| x₇ — flash quality after valve | 0.289 |
| Q̇_evap — cooling capacity | 6.76 kW |
| Ẇ_comp — compressor power | 2.31 kW |
| Q̇_rej — total heat rejected | 9.07 kW |
| COP — coefficient of performance | 2.92 |
R134a · suction 186 kPa after coil + line drop from a 214 kPa evaporator inlet · discharge at P_cond + 22 kPa · η_s = 0.72 · ṁ = 0.045 kg/s. In the application these are live solves over any of 137 fluids; here they are precomputed because this page ships no solver.
Applications
The same constraint formulation, from refrigeration plants to microreactors.
Vapor-compression with superheat, subcooling, and line losses.
Rankine cycles, boiler to condensate return, with recuperation.
Recuperated Brayton, down to microreactor scale.
Static head, long runs, bends — friction and pump work together.
JT throttling and recuperative cooling toward liquefaction.
Organic Rankine loops from low-grade heat.
BUNDLED EXAMPLE — ships as a working sample project you can open and solve. COMPONENTS AVAILABLE — the required components and fluids ship today; you build the model yourself. Neither label is a certification for any particular engineering use.
Trust
Every result carries its derivation. Nothing is a number without a pedigree.
| Case | Checked against | Layer | Status |
|---|---|---|---|
| R134a vapor-compression cycle | first-law closure, COP | integration | PASSING IN CI |
| Helium closed Brayton (microreactor) | cycle efficiency & net-work bounds | golden project | PASSING IN CI |
| Rankine steam cycle | full network solve, all states | integration | PASSING IN CI |
| Bend loss coefficients | Crane TP-410 anchors (45° / 90° / 180°) | regression | PASSING IN CI |
| Water/steam property backend | pinned CoolProp state points | regression | PASSING IN CI |
From the automated test suite that runs on every change. Validation is ongoing across fundamental thermodynamics and fluid-mechanics problems; independent hand-calculation benchmarks are being added before launch. No result from any tool replaces your own verification.
Under the hood
The full CoolProp library in its own naming scheme — refrigerants, CO₂, cryogens, hydrocarbons, water/steam — plus a liquid-metal model. Equations of state, not lookup-table approximations.
Pipes with Darcy–Weisbach friction and the Swamee–Jain correlation over Reynolds number and roughness. Bends by Crane TP-410 equivalent length or a direct minor-loss coefficient. Velocity terms in nozzle and diffuser energy balances.
Underconstrained, overconstrained, or inconsistent — the solver reports degrees of freedom and Jacobian rank, names the offending components, and never pretends a bad solve is a good one.
No tiers, no modules, no seat negotiations, no sales calls. The version you pay for is the whole thing.
Windows 10 and 11, 64-bit. Early access build.
SHA-256: be6d4c4245c98779bbad13545e8ee88e1942d2807ed0f64fc2b4c795aeb6c2fa
Published by Rowan Baptista. This early-access build is not yet code-signed — Windows SmartScreen may warn on first run; verify the hash above before installing. Code signing is planned for a future release.
Roadmap
The constraint architecture takes new component models without changing how you build. In active development, in roughly this order:
No. Project files and all calculations stay on your computer. Only your license activation (email, key, a random installation ID) is checked with our licensing service.
Yes — cancel yourself in the billing portal, no email required. You keep access through the end of the paid period, then the app becomes read-only for opening and exporting existing work.
All 137 — every fluid in CoolProp, in CoolProp's own naming scheme, plus a liquid-metal model. The app falls back to built-in approximations if CoolProp is unavailable.
A spreadsheet makes you linearize the problem yourself and look up properties by hand. ThermoFluid Studio solves the coupled nonlinear system over equations of state, and tells you when your specification set is under- or overconstrained instead of silently producing a number.
The count of unknowns your specifications haven't yet pinned down. Zero means exactly solvable. More than zero means the solver would have to guess; fewer than zero means your specifications conflict. The software reports this before and after every solve.
No. It is a modeling aid. You are responsible for independently verifying every result before relying on it, and it must not be the sole basis for any safety-critical decision. See the disclaimer.