For every calculation this app performs: the relation it evaluates, the principle that relation rests on, how the working form follows from it, what it assumes, how it is solved numerically, and where it stops being trustworthy.
Read each result with its model, reference state and validity range. The sections below explain the available choices and the meaning of numerical limits, so a finite answer is not mistaken for a model that applies under every condition.
Symbols follow the calculation's notation
(eta_c, DeltaS); relations are rendered as plain
text so that they read the same here, on the screens, and inside the app's
own copy of this manual.
This covers all 54 included modules: states and processes, control-volume devices, exergy, power and refrigeration cycles, gas mixtures and moist air, reactions and equilibrium, and thermodynamic design. Model choices have different ranges: water uses IAPWS-IF97, ideal gases use NASA caloric data, supported refrigerants use Helmholtz formulations, and cubic equations provide explicitly identified approximate alternatives. Each module below states its available processes and limits; a general equation does not imply every material or phase is supported. The specification defines 453 symbols and 18 guard rails.
This manual states, for every calculation the app performs, which relation is being evaluated, what principle it rests on, how the working form follows from that principle, what it assumes, how it is solved numerically, and where it stops being trustworthy. It is written to be consulted rather than read straight through: each module entry is self-contained, and nothing later depends on anything earlier except the conventions fixed in the next chapter.
It is not a textbook. It does not teach thermodynamics from first principles, it sets no exercises, and it assumes a reader who has met the subject and now wants to know precisely what this particular program does with it. Where a derivation appears, it is there to fix the assumptions behind the app's own working relation, not to instruct in the subject.
Every module entry has the same shape, with sections omitted where they do not apply: what the screen is for, the relation as the app prints it, the principle it rests on, the derivation, the display equations, the assumptions, the inputs and outputs with their units, the choices the app refuses to make for you, the identities that must always hold, the places where the arithmetic gets delicate, the solution method, the limitations, and how to read the result.
Two of those sections come from different places, and the difference matters. The relation, the symbols, the units, the branches, the invariants and the guard rails are read out of the specification the app itself is built from -- so a relation printed here is the relation the screens evaluate, and it cannot drift, because there is only one copy of it. The prose -- basis, derivation, assumptions, method, limitations, reading -- is written by hand, and the build refuses to proceed if a shipping module has none.
What this manual will not do is name a course text. A mathematical relation is a fact and a method, and printing it is lawful and useful; printing somebody's book title, chapter or equation number in a product is neither necessary nor courteous, and it would suggest that you need to buy something else before this app is any use to you. You do not. Where a source can be named -- the international formulation for the properties of water and steam, the NASA Glenn polynomial coefficients, the NIST-JANAF thermochemical tables, the NIST Chemistry WebBook, the CODATA constants -- it is named, in full, so readers can see exactly which public models and data the app uses.
Symbols are printed as the app names them. The canon stores each quantity under a plain-text identifier -- eta_c, DeltaS, Qdot_H, v_fg -- and the symbol tables in this manual show those identifiers rather than a typeset rendering of them. That is deliberate: a subscript in this subject is often two letters that mean one thing, and a typesetter reading v_fg sets a subscript f followed by a stray g, which is a different symbol. The relations themselves are authored as mathematics and are rendered as mathematics.
An overdot denotes a rate: heat-transfer rate differs from transferred heat. A zero subscript denotes the environment in an exergy balance, but stagnation properties are identified explicitly in flow calculations. Read the symbol's definition in its module. A subscript s on a device exit denotes the isentropic comparison state at the same exit pressure.
Signs, fixed once. Work is positive out of a system and heat is positive into it, so the closed-system first law reads as heat in minus work out. Every cycle quantity, by contrast, is a magnitude: the heat rejected by a power cycle is entered as a positive number, not as a negative heat addition, and the performance relations are written to match. The two conventions do not conflict because they apply to different things, but mixing them is the single commonest way a first-law answer comes out with the right size and the wrong sign.
Every delta is out minus in. State two minus state one for a process, exit minus inlet for a device. A single quantity written the other way round produces a balance that closes against itself and describes a different process, which is why the app computes each difference in one place rather than at each point of use.
Absolute temperature, always. Reservoir temperatures, boundary temperatures and dead-state temperatures are absolute, and this is not a formality: the reversible bound evaluated in degrees Celsius returns a plausible-looking number that is simply wrong, and it is the most frequent single error on the second-law screens. Use the displayed temperature unit. The app cannot infer that a number typed into a kelvin field was intended to mean degrees Celsius.
Units. Everything inside the calculation is SI, and unit conversion happens once, at the edge. Internally, pressure is in megapascals and specific volume in cubic metres per kilogram, so their product is megajoules per kilogram and the relations that mix them carry an explicit factor of a thousand rather than a hidden one; specific energies are in kilojoules per kilogram and specific entropies in kilojoules per kilogram-kelvin. Velocities are in metres per second, so every kinetic-energy term carries its own factor of a thousand -- written out where it occurs, because a missing factor of a thousand in a velocity term is invisible at low speed and dominant at high. Molar quantities are per kilomole; kilojoules per kilomole and joules per mole are the same number, which is why molar tables in this subject can be read either way.
The enthalpy reference is declared rather than assumed. The ideal-gas polynomials put the enthalpy zero at the standard formation reference, so the enthalpy reported for a gas is an absolute enthalpy on that reference and not the "zero at zero kelvin" convention of a printed air table. For a non-reacting calculation only differences matter and the two agree exactly. Mixing the two inside one calculation is wrong by megajoules and looks entirely plausible, so nothing in this app silently rebases: a calculation that wants the other convention subtracts the reference value visibly.
Four ideas cover almost every numerical decision in the product, and knowing them makes the per-module method notes short.
The layering. The lowest layer is a set of pure functions, one relation each, with no units, no interface and no decisions: given numbers, return a number. Above it, a composition layer assembles those into devices and cycles. Above that, a solve layer inverts them -- given an output, find the input -- and decides which of several roots is the physical one. A separate layer converts units at the boundary, and a final layer holds display decisions: how many figures a quantity gets, when a warning fires, which input fields go dead. The layering is what makes the two front ends agree: both read the same decision layer, so a rule about when to show a warning is written once and compared across the language boundary once.
Nothing in the lowest layer raises. An input outside the domain returns "not a number", and the layer above decides what to say about it. The rule exists because these functions are called a few thousand times while a slider moves, and one bad point must not take down a plot that was drawing a hundred of them. A returned "not a number" is therefore never proof of a defect; it is how a refusal travels upward.
Scalar inverses use physical intervals. Water-state inversions, saturation calculations and energy-balance temperatures search within the selected model's range. Bracketed root finding preserves that interval. A requested state outside it is refused; the last iterate is not a converged answer.
Coupled systems require different methods. General equilibrium has several unknown species amounts, conservation equations and possible active phases. It uses constrained solves with derivatives, feasibility checks and damped steps. Newton-type iterations are appropriate there, provided convergence, conservation and phase stability are checked. A scalar bracket alone cannot solve a coupled species-and-phase problem.
Removable limits and undefined states are different. Polytropic work at unit exponent has a finite logarithmic limit, evaluated separately or through conditioned arithmetic. By contrast, liquid-vapour quality at the critical point is undefined because the two phases coincide; no special formula can make it an identifiable fraction. The module states which quantities remain available near such a boundary. Where useful, expm1 and log1p protect small differences, and algebraic cancellation precedes floating-point evaluation.
Where precision genuinely runs out, the manual says so. Each module entry that has such a point names it and states whether the app uses an absolute error floor, a conditioned expression, or marks the quantity unavailable.
Every result belongs to a model. Before using it, check the selected model, the displayed units, and the valid range beside the relevant inputs. A number can be computed correctly and still be unsuitable for a physical situation that violates the model's assumptions.
Start with the governing relation. Each calculator displays the relation it evaluates. Use it to confirm sign conventions, the meaning of efficiencies and effectiveness values, and whether a quantity is total, specific, molar or a rate.
Read the balances and residuals. Where a calculation contains an energy, entropy, species or phase balance, the screen reports its closure or the reason the solve was refused. A small residual supports numerical convergence; it does not remove a stated model limitation.
Treat warnings as part of the answer. A warning distinguishes a usable approximation with a known limit from an invalid state. The numerical value, warning and model name should be carried together when the result is exported or used in further work.
Consult the module entry. The assumptions, branches, numerical method and known limits below are based on the supplied course material and the public property formulations used by the app. They define what the calculation means and where it should stop being used.
These guards describe model ranges and numerical or physical boundaries. Depending on the selected calculation, an invalid state is refused or a declared approximation carries a warning. Read the module's limitations together with these guards.
| Quantity | Valid range | Severity | What the app says |
|---|---|---|---|
| temperature | 273.15–1073.15 K | Warning | Outside the validated range of the water formulation for this region. Region 5 extends to 2273.15 K but only below 50 MPa. |
| pressure | 0.000611657–100 MPa | Error | Outside the validated pressure range of the water formulation. |
| temperature | 200–6,000 K | Warning | Outside the fitted range of the ideal-gas polynomials. Extrapolation is not reported as a value. |
| turbine exit quality | ≥ 0.88 | Warning | Liquid fraction above about 12 percent at the turbine exit erodes the blades. Real plants design against this, so a cycle that violates it is arithmetically right and mechanically wrong. |
| reduced pressure | 0–10 | Warning | Beyond the correlated range of the generalised charts. Use a cubic equation of state instead. |
| reduced pressure | ≤ 0.1 | Info | The ideal gas model loses accuracy here unless the reduced temperature is well above 2. The compressibility factor is shown alongside so the error is visible rather than assumed. |
| vapour pressure | — | Error | The water-vapour partial pressure has reached the mixture pressure. The humidity ratio is unbounded and the state is unphysical. |
| moist-air property against a published psychrometric table | — | Info | Moist air is treated here as a mixture of ideal gases, which is the model taught alongside these relations and the one the formulas on this screen belong to. Published tables carry an enhancement factor for the slight non-ideality of water vapour in air, and read about 0.44 per cent higher at the saturation line at 0 degrees Celsius, rising to 0.6 per cent at 50. The difference is the model, not an error in either; below saturation it is smaller still. |
| specific heat model | — | Info | Cold-air-standard results use a constant specific heat ratio and overstate efficiency at high peak temperature. The variable-specific-heat result is shown beside it. |
| pressure above saturation | — | Info | The saturated-liquid approximation is being used. Its error grows with pressure; the pressure-corrected form and the exact value are both available. |
| equivalence ratio | 0.3–3 | Warning | Outside the usual flammability range for hydrocarbon fuels in air. The energy balance still solves, but the mixture would not burn. |
| entropy production | ≥ 0 kJ/K | Error | Entropy production came out negative. That is not a small number, it is an impossible process: check the sign of a heat transfer or the direction of a stream. |
| reduced temperature of water | ≤ 0.999 | Warning | Within about 0.6 K of the critical point the latent quantities vanish and quality loses meaning. Values here carry an absolute error floor, not a relative one. |
| water property against a printed table | — | Info | Values come from the current international formulation. Older printed tables were computed from an earlier one and differ in the fourth figure, most visibly in the saturated-vapour columns. Neither is a mistake; they are different formulations, and this one is the one still maintained. |
| ideal-gas specific heat | — | Info | Specific heats near room temperature carry about 0.2 per cent of fit uncertainty, and methane about 1.4 per cent. Formation enthalpies do not: they are exact to better than 0.04 kJ/mol, which is what reacting-systems work depends on. |
| an ideal-gas property evaluated across 1000 K | — | Info | The ideal-gas polynomials are fitted in two temperature intervals that meet at 1000 K, and the two are fitted independently. Nothing forces them to agree exactly where they meet, and they do not: the step is about one part in a million at worst, on methane. It is a property of the published data rather than of the arithmetic here, and removing it would mean altering the fit. |
| temperature of a frozen-composition gas mixture | ≤ 2,500 K | Warning | Above roughly 2500 K a fixed-composition model of air or of combustion products stops describing the real gas: dissociation changes what is present. The numbers here remain the correct answer for the frozen mixture and are no longer the correct answer for the substance. |
| reduced temperature of the heat-rejection state | ≤ 0.92 | Warning | These properties come from a cubic equation of state, and this cycle is working close to the refrigerant's critical point, which is where a cubic is weakest. Measured for carbon dioxide against the NIST reference equation of state: the saturation pressure holds to 0.85 per cent from 220 to 300 K, but above about 0.92 of the critical temperature -- 280 K for carbon dioxide -- the latent heat is 3.4 per cent low at 290 K and 13.4 per cent low at 300 K, the saturated liquid volume runs from 4.1 per cent low at 220 K to 15.5 per cent high at 300 K, and on a 308 K gas-cooler isotherm the molar volume is 14 per cent out at 8.5 MPa and the enthalpy change 17 per cent, easing to 6 and 4 per cent by 12 MPa. Carbon dioxide is the only refrigerant this has been measured on. Read the shape of the result -- which way it moves, and that the discharge pressure has an optimum -- rather than its figures. |
Two independent properties fix the state of a simple compressible substance. This screen accepts any admissible pair and reports the rest, with the phase region named rather than implied.
The state postulate: two independent intensive properties fix the state of a simple compressible substance, and every other property then follows. That is the whole content of this screen, and the qualifier "independent" is where all its difficulty lives -- pressure and temperature stop being independent the moment the substance is a liquid-vapour mixture, and no arithmetic downstream recovers from a pair that did not fix a state in the first place.
For water the properties are not fitted one by one. A single dimensionless potential is fitted per region -- the Gibbs function of reduced pressure and temperature in the liquid and vapour regions, the Helmholtz function of reduced density and temperature in the region around the critical point -- and every property reported here is a derivative of that one function. Specific volume, internal energy, enthalpy, entropy and the specific heats are therefore consistent with one another structurally, not by maintenance: they cannot disagree, because there is only one function and they are different derivatives of it.
That is also why the app carries the potentials rather than a table of numbers. A table has to be interpolated, and interpolation between tabulated enthalpies does not generally satisfy the same differential relations the enthalpies themselves do; the derivative-based identities that this screen checks would fail on interpolated data for reasons that have nothing to do with the substance.
Inside the vapour dome the state is not on either fitted surface. It is a mechanical mixture of two states that are, and the lever rule is the statement that any extensive property of the mixture is the mass-weighted average of its values at the two ends of the tie line. Writing the mixture enthalpy as the saturated-liquid value plus quality times the latent value, and reading the same relation backwards to get quality from any property and its two saturation values, is the entire two-phase treatment.
The saturated states are not separate correlations either. Saturated liquid is the liquid-region potential evaluated on the saturation line and saturated vapour is the vapour-region potential evaluated on the same line, which is how the formulation defines them -- so consistency between the phases is again structural. Above about 623 K the saturation line runs through the critical region rather than bounding it, and both of its sides are then states of the density-explicit potential; the app finds them by a bracketed root find on each side of the critical density rather than by continuing to evaluate the liquid and vapour potentials outside their own domains.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | Water in 1.0; refrigerants arrive with PE-12. |
T | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | 273.15 <= T <= 1073.15Regions 1–4; Region 5 remains outside the current water solver. |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | 0.000611657 <= p <= 100.0 |
v | Specific volume: the space one kilogram of the substance occupies. The reciprocal of density, and the property that makes a gas different from a liquid. | m^3/kg | v > 0 |
u | Specific internal energy: the energy stored in one kilogram of a substance by the motion and arrangement of its molecules, with no reference to where the substance is or how fast it is moving. | kJ/kg | — |
h | Specific enthalpy: internal energy plus pressure times specific volume. It exists because that combination appears every time a substance flows across a boundary, so it is a bookkeeping convenience that behaves like a property. | kJ/kg | — |
s | Specific entropy: the property that counts how much of a system's energy is no longer available to do work. It increases in every real process and stays put only in an ideal one. | kJ/(kg K) | — |
x | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | - | 0 <= x <= 1 |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
T | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | from the chosen pair |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
v | Specific volume: the space one kilogram of the substance occupies. The reciprocal of density, and the property that makes a gas different from a liquid. | m^3/kg | — |
rho | Density: mass per unit volume, the reciprocal of specific volume. | kg/m^3 | ρ = 1/v |
u | Specific internal energy: the energy stored in one kilogram of a substance by the motion and arrangement of its molecules, with no reference to where the substance is or how fast it is moving. | kJ/kg | — |
h | Specific enthalpy: internal energy plus pressure times specific volume. It exists because that combination appears every time a substance flows across a boundary, so it is a bookkeeping convenience that behaves like a property. | kJ/kg | h = u + pv |
s | Specific entropy: the property that counts how much of a system's energy is no longer available to do work. It increases in every real process and stays put only in an ideal one. | kJ/(kg K) | — |
x | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | - | x=(v-v_f)/v_fg Reported only when strictly between 0 and 1. |
phase | Which region of the phase diagram the state falls in: compressed liquid, saturated mixture, saturated vapour, superheated vapour, or supercritical. | — | One of the five region labels. |
Which two properties are being supplied?
(T,p), (p,x), (T,x), (p,h), (p,s), (T,v), (p,v), (h,s), (u,v)
Choose two independent properties. On the saturation line, pressure and temperature alone cannot fix quality; select another pair.
Which resolved temperature state?
lower-temperature root, higher-temperature root
Shown for p,v. Liquid water near its density maximum can have two temperatures at the same pressure and volume. A single resolved state is returned for either selection when there is only one; numerically indistinguishable roots are refused.
Exact relations:
Monotonic trends:
v_fg, h_fg and s_fg all vanish, so quality is 0/0 and every property becomes extremely sensitive to its argument
How the app handles it: absolute error floor with a written physical justification; quality suppressed rather than reported as noise
the lower bound of the formulation; below it the substance is solid
How the app handles it: hard domain guard, reported as out of range rather than extrapolated
the formulation switches from a pressure-explicit to a density-explicit potential
How the app handles it: the two regions are required to agree to formulation tolerance on the boundary itself
quality becomes very sensitive to the property used to compute it
How the app handles it: compute x from whichever property the caller supplied -- enthalpy or entropy -- and clamp the result to [0, 1] inside a relative window on the latent span. The property is not chosen by fg span, and nothing on screen says which one was used.
Region 1 ends at 623.15 K and region 3 begins there. The two are independently fitted, so enthalpy steps by about 1e-5 relative across the seam. Inverting enthalpy or entropy within a few millikelvin of it can land on the other side.
How the app handles it: Measured rather than removed. The step divided by dh/dT bounds the temperature ambiguity at 5 mK across the whole pressure range, and the app displays temperature to 0.01 K -- so it is below the last digit shown. Recorded so that nobody spends a week transcribing an auxiliary equation set to fix an effect half the size of the display resolution.
Regions 2 and 3 are fitted independently, so a state on this boundary has two enthalpies and two entropies, one from each equation. IAPWS-IF97 declares the largest disagreement anywhere along the line as 0.134 kJ/kg in enthalpy and 0.177 J/(kg K) in entropy. Along an isobar that appears as a step, and the step changes direction partway along the line. Where it steps down, a value just inside it is reached on both sides, so fixing a state from pressure and enthalpy, or pressure and entropy, can return the temperature belonging to the other side. Where it steps up, it leaves a gap of values that no state at that pressure attains at all.
How the app handles it: Measured rather than removed, in both directions, because neither can be made smaller here: the two regions each reproduce their own published verification values to nine figures while disagreeing with each other by this much. The step divided by the property's slope along the isobar bounds the temperature error at 0.019 K over the whole line. That is larger than the 0.01 K this app displays, so a state within about 0.02 K of the boundary can read two in the last digit off and name the neighbouring region. Where the step leaves a gap and no state has the value asked for, the nearest state is returned rather than a refusal -- it is the boundary itself, and the enthalpy or entropy it carries differs from the one requested by at most half the declared disagreement.
The entry provides nine pairs: p–T, p–x, T–x, p–h, p–s, T–v, p–v, h–s and u–v. The p–v inversion exposes a temperature-root choice where water's density anomaly admits alternatives; an unresolved ambiguous root is not silently chosen. The h–s and u–v searches also validate phase and property closure.
Every pair is reduced to one of the two directions the property potentials evaluate directly. Pressure and temperature is a direct evaluation once the region has been decided. Pressure with enthalpy or entropy, and the pairs that involve specific volume, are inverted by bracketed root finding on the forward relation.
The published backward equations are deliberately not used. They exist so that industrial simulators can avoid an iteration they perform billions of times; this app evaluates a state a few thousand times a second at the very most, driven by a slider. What they would cost is roughly a hundred and fifty more coefficients transcribed by hand -- and the one transcription error this project has actually found took a published nine-figure verification table to catch. Iterating on relations that are already verified to nine significant figures is slower by an amount no user can perceive and introduces nothing new to get wrong.
Two decisions inside that search are not obvious. The two-phase test comes first when inverting from pressure and enthalpy or entropy, because inside the dome the property is constant along the isobar and not invertible in temperature at all; a root finder asked to invert it there reports a bracket failure for what is in fact the commonest state in a power cycle. And the test uses a small relative window on the latent span rather than the exact saturation endpoints, because those endpoints are themselves computed: an enthalpy a few parts in ten thousand million million below the saturated-liquid value is the same state, not a different one, and without the window it fell through to a single-phase search that correctly found nothing.
In the density-explicit region the state has to be found by iteration in density. Below the critical temperature that region straddles the saturation line and an isotherm crosses the target pressure twice, once on each side. Which crossing is physical is decided by comparing the requested pressure with the saturation pressure, not by whichever root the solver reaches first -- getting that wrong returns a perfectly convergent answer for the wrong phase.
Read the phase label first. A condenser exit and a boiler exit are both "in the two-phase region" and could hardly be more different, so the label distinguishes the ends of the dome rather than lumping them; and if the label says the state is single-phase, the absence of a quality is information, not an omission.
The inputs that go dead when you choose a pair are the second thing to read. Choosing pressure and quality greys out temperature because the saturation line has already fixed it -- the app says which, in those words, because a greyed field with no explanation reads as a broken program rather than as a consequence of what you just chose.
Treat a refusal as an answer. "No state at this pressure has that enthalpy, and here is the range that is reachable" is more useful than a number, and it is what you get instead of a silently clamped one.
Temperature alone fixes every caloric property of an ideal gas. The screen shows the variable-specific-heat result and the constant-specific-heat result side by side, because the gap between them is the thing being taught.
For a gas at low enough density the molecules are far enough apart that their mutual attraction contributes nothing to the internal energy. The consequence is the one this screen is built on: temperature alone fixes every caloric property. Enthalpy, internal energy and the specific heats are functions of temperature and of nothing else, and only entropy retains a pressure dependence, which is a counting statement about how many ways the molecules can be arranged rather than anything to do with their forces.
The specific heat at constant pressure is supplied as a fitted polynomial in temperature, divided by the universal gas constant to make it dimensionless. The active data use the NASA nine-coefficient form with inverse-temperature terms and analytic enthalpy and entropy integrals. Coefficient intervals have published validity limits and joins; finite rounding of their integration constants can leave small jumps. Such a join is a property of the source fit, not a reason to extrapolate an interval or silently change its constants.
Enthalpy is the integral of that polynomial with respect to temperature, and the standard entropy is the integral of the polynomial divided by temperature. Single-state properties use the published analytic integrals. The separate two-state entropy-change calculation integrates cp/T across coefficient joins, so it must not be confused with direct subtraction of independently fitted integration constants. The integration constants are the two extra coefficients published with each fit, which is what puts the enthalpy zero at the standard formation reference rather than at zero kelvin.
Internal energy follows from enthalpy without a second fit, because the ideal-gas relation makes the difference exactly the gas constant times temperature; and the two specific heats differ by exactly the gas constant for the same reason. So of the five caloric quantities on the screen only two are fitted and three are consequences, which is why an error in the fit shows up in all of them at once and an error in the algebra shows up in one.
Entropy needs the pressure term. Between two states it is the difference of the two standard entropies minus the gas constant times the logarithm of the pressure ratio. Setting that difference to zero and rearranging gives the isentropic relation without any assumption that the specific heat ratio is constant -- and defining a relative pressure as the exponential of the standard entropy divided by the gas constant turns the whole isentropic move into a single ratio. The relative volume is the corresponding quantity for a move at fixed entropy between two volumes. Both are defined only up to a multiplicative constant, because every use of them is a ratio; the app normalises both to one at the reference temperature, which also keeps the exponential from overflowing at the top of the fitted range.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | Air and the species set carried by the polynomial data. |
T | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | within the selected species source temperature range |
basis | Whether specific quantities are reported per kilogram or per kilomole. It changes every number on the screen at once. | — | Mass or molar. |
T_cp_evaluation | Temperature at which a constant specific heat is evaluated. | K | Active only for the constant-cp model; within the selected species source range. |
gas_cp_model | Specific-heat law used consistently in the ideal-gas state and inverse calculations. | — | one declared caloric modelVariable cp, constant cp at an evaluation temperature, or cold-air standard (air only). |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | within selected source rangeFirst temperature for entropy change and cp-plot interval. |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | p > 0First pressure for entropy change. |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | within selected source rangeSecond temperature for entropy change and cp-plot interval. |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | p > 0Second pressure for entropy change. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
R | Specific gas constant: the universal gas constant divided by the molar mass of this particular gas. | kJ/(kg K) | R=R̄/M Core value is mass specific; molar basis uses ui.gas_properties_view.value and changes kg to kmol in the unit. |
M | Molar mass: the mass of one kilomole of the substance. For a mixture, the mole-fraction-weighted average. | kg/kmol | — |
cp | Specific heat at constant pressure: how much energy raises one kilogram by one degree while the pressure is held fixed. | kJ/(kg K) | c̄ₚ(T)=R̄(a₁T⁻²+a₂T⁻¹+a₃+a₄T+a₅T²+a₆T³+a₇T⁴) Core value is mass specific; molar basis uses ui.gas_properties_view.value and changes kg to kmol in the unit. |
cv | Specific heat at constant volume: the same question with the volume held fixed instead, which is a smaller number because none of the energy goes into pushing the surroundings back. | kJ/(kg K) | cᵥ=cₚ-R Core value is mass specific; molar basis uses ui.gas_properties_view.value and changes kg to kmol in the unit. |
k | Specific heat ratio: cp divided by cv. It governs how steeply temperature changes when a gas is compressed without heat transfer. | - | k=cₚ/cᵥ |
h | Specific enthalpy: internal energy plus pressure times specific volume. It exists because that combination appears every time a substance flows across a boundary, so it is a bookkeeping convenience that behaves like a property. | kJ/kg | h(T)=∫ cₚ dT Core value is mass specific; molar basis uses ui.gas_properties_view.value and changes kg to kmol in the unit. |
u | Specific internal energy: the energy stored in one kilogram of a substance by the motion and arrangement of its molecules, with no reference to where the substance is or how fast it is moving. | kJ/kg | u=h-RT Core value is mass specific; molar basis uses ui.gas_properties_view.value and changes kg to kmol in the unit. |
s0 | The standard-state entropy function: the part of an ideal gas's entropy that depends only on temperature, with the pressure dependence stripped out and handled separately. | kJ/(kg K) | s°(T)=∫ cₚ/T dT Core value is mass specific; molar basis uses ui.gas_properties_view.value and changes kg to kmol in the unit. |
pr | Relative pressure: a tabulated function of temperature alone whose ratio between two states equals the pressure ratio of an isentropic process between them. A device for avoiding an integral, not a physical pressure. | - | p_r(T)= exp ((s°(T)-s°(T_ref))/R) Normalised to 1 at the reference temperature. Defined only up to a multiplicative constant; every use is a ratio. |
vr | Relative volume: the companion to relative pressure, whose ratio gives the volume ratio of an isentropic process. | - | v_r(T)=(T/T_ref)/(p_r(T)) Same normalisation, same reason. |
specific_entropy_change | Entropy change per unit mass, or per unit amount when molar basis is selected. | kJ/(kg K) | Δ s=s⁰(T₂)-s⁰(T₁)-R ln (p₂/p₁) Specific entropy change, not total entropy. Molar basis multiplies the mass-specific value by molar mass and displays kJ/(kmol K). Core value is mass specific; molar basis uses ui.gas_properties_view.value and changes kg to kmol in the unit. |
Which specific-heat model?
variable c_p from the polynomial, constant c_p evaluated at a stated temperature, constant k, cold-air-standard
Restored historical obligation. Constant cp uses its own evaluation temperature; cold-air k=1.4 is available for air only. All models preserve the same 298.15K formation/entropy anchor.
Mass or molar basis?
mass, molar
Caloric values multiply by molar mass; k/pr/vr remain dimensionless.
Exact relations:
Monotonic trends:
extrapolation beyond 200 K or 6000 K diverges quickly and silently
How the app handles it: hard domain guard; out of range is reported, never extrapolated
two fitted intervals meet; a naive implementation can be discontinuous there
How the app handles it: continuity of cp, h and entropy at the join is checked at the join temperature itself
For a single state, the variable-specific-heat branch directly evaluates the NASA functions. The constant-cp branch evaluates cp at the stated reference temperature and integrates that constant from a common formation-reference anchor. Cold-air standard uses the declared air heat-capacity ratio and is available only for air. All comparisons keep the same property reference and mass or molar basis, so changing a model is not a change of units.
The two-state entropy change is computed separately. For variable cp, the thermal contribution is the integral of cp/T, split at coefficient joins; this avoids subtracting rounded entropy integration constants across a join. Constant-cp models use the logarithmic temperature ratio. A conditioned logarithm evaluates the pressure contribution, and the screen displays the combined entropy change. The plotted heat-capacity interval follows the two entered temperatures. Out-of-range states are refused rather than extrapolated.
Read the three specific-heat models against each other rather than one at a time. The screen shows the polynomial answer, the constant-specific-heat answer at a stated evaluation temperature, and the cold-air-standard constant ratio, and the gap between them is what the cold-air assumption costs -- a gap that grows with the temperature span of whatever cycle you are about to feed these numbers into.
The relative pressure and relative volume are ratios and nothing else. Their individual values carry no physical meaning at all -- a printed table picks a different normalising constant and its numbers differ from these -- but the ratio of either quantity between two temperatures is the same in both, and that ratio is the answer to an isentropic move.
Enthalpy and internal energy on this screen are absolute values on the formation reference. If you are comparing against a table whose zero is somewhere else, compare differences, not values.
Compare four cubic equations and a branch-checked Lee-Kesler correlation with ideal gas and IF97 water, using molar-volume readings and sampled Z/volume-difference isotherms with explicit gaps at unresolved states and branch changes. The native comparison fixes water and canonical critical/acentric data; volume and EOS choice are backend capabilities, while this screen compares all eligible models from entered p and T.
The compressibility factor is the ratio of the actual product of pressure and molar volume to what the ideal-gas relation would give at the same temperature. It is one, exactly, for an ideal gas, so its distance from one is a direct measure of how far a state has left the model the gas screens rest on. The corresponding-states principle is the second idea: expressed in coordinates reduced by their own critical constants, substances of similar molecular shape follow nearly the same compressibility surface, which is what makes a generalised correlation possible at all.
The four cubics share p=RT/(v-b)-a(T)/[(v+epsilon b)(v+sigma b)]. Critical conditions determine their attraction and covolume constants. Multiplying the denominators produces a cubic in the dimensionless compressibility factor. This avoids dimensional coefficient scaling but does not remove all cancellation.
Three distinct roots define competing liquid-like, unstable and vapour-like branches. They do not define saturation: coexisting phases must also have equal fugacity. The outer roots can be metastable. At a critical or spinodal multiple root the stability derivative vanishes, and numerical root locations become sensitive.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
T | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
p_plot_min | Lower pressure of the displayed isotherm interval. | MPa | 0.000611213 <= p_plot_min < p_plot_max <= 100Lower pressure of the displayed isotherm interval. |
p_plot_max | Upper pressure of the displayed isotherm interval. | MPa | 0.000611213 <= p_plot_min < p_plot_max <= 100Upper pressure of the displayed isotherm interval. |
root | Candidate outer branch selected independently for each EOS. | - | largest root: vapour, smallest root: liquidCandidate outer branch selected independently for each EOS. |
plot_quantity | Quantity on the common isotherm chart. | - | compressibility, relative volume differenceQuantity on the common isotherm chart. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
Z | Compressibility factor: how far the substance departs from ideal-gas behaviour, expressed as the ratio of its actual specific volume to the ideal-gas value at the same temperature and pressure. | - | Z=pv/RT |
v | Specific volume: the space one kilogram of the substance occupies. The reciprocal of density, and the property that makes a gas different from a liquid. | m^3/kmol | Molar basis, matching the universal gas constant used by the cubic relations. |
TR | Reduced temperature: temperature as a fraction of the critical temperature. | - | T_R=T/T_c |
pR | Reduced pressure: pressure as a fraction of the critical pressure. | - | p_R=p/p_c |
vR_pseudo | Pseudo-reduced specific volume: a dimensionless volume built from the critical constants, used so a volume can be entered on a chart drawn in reduced coordinates. | - | v_R'=v p_c/(RT_c) |
error_vs_reference | How far the chosen model sits from the reference formulation at this state, so the model's accuracy is a number rather than a claim. | - | Relative molar-volume difference from IF97: table values are fractions; the relative-difference chart uses percent. |
phase | Which region of the phase diagram the state falls in: compressed liquid, saturated mixture, saturated vapour, superheated vapour, or supercritical. | - | IF97 reference phase. |
root_count | Per-model root counts or Lee–Kesler fitted-fluid crossing count; counts do not establish phase coexistence. | - | Per-model root counts or Lee–Kesler fitted-fluid crossing count; counts do not establish phase coexistence. |
branch_status | Resolved per-model candidate branch and reasons for unavailable comparisons. | - | Resolved per-model candidate branch and reasons for unavailable comparisons. |
Which equation of state?
ideal gas, generalised compressibility chart, van der Waals, Redlich-Kwong, Soave-Redlich-Kwong, Peng-Robinson
Models are displayed together; unresolved Lee-Kesler branches are omitted with a visible reason. No accuracy threshold is inferred from reduced pressure. The generalised entry evaluates the equation rather than digitising a chart.
Which outer candidate root should be compared?
largest root: vapour, smallest root: liquid
Largest/smallest select each model independently. A single available root can belong to either stable outer branch. Per-model counts and resolved branch labels are reported; coexistence is not inferred from the roots.
Exact relations:
Monotonic trends:
Root conditioning worsens near coalescence at spinodal or critical conditions. The saturation line is instead fixed by equal fugacity.
How the app handles it: Use the existing trigonometric/Cardano forms with a coefficient-scaled multiple-root tolerance. Do not label unresolved stable branches or connect their plot segments. Tiny liquid roots can suffer subtractive cancellation even far from the discriminant seam.
the chart-based route is extrapolating
How the app handles it: validity warning V-LEEKESLER-PR and a recommendation to use a cubic instead
Cubic roots use the existing closed trigonometric form for three real roots and Cardano for one, with a coefficient-scaled seam tolerance. Roots below the covolume are excluded. The comparison classifies stable outer branches using the pressure derivative and the unstable separator through the model critical volume; it leaves near-fold numerical ambiguity unresolved.
For each Lee-Kesler fitted fluid, branch verification bounds the pressure derivative on the entire connection to the dense and dilute limits. Bounds include the analytic extrema of the damped power terms. Adaptive subdivision proves a connection only when the interval upper bound is negative. Its finite iteration budget can leave a result unresolved near critical conditions; that is not evidence of a different phase. The raw correlation solver exposes the interpolated numeric response and branch metadata; this comparison applies the additional matching-branch acceptance rule.
The isotherm evaluates a logarithmic pressure grid and includes the current pressure when it is inside the plot interval. IF97 saturation pressure and nearby one-sided states are added when applicable. Segments stop at missing values, unresolved branch verification, branch changes and crossing-count changes. Volume-difference curves also stop at reference-phase changes. The chart preserves segments as separate series with one colour and legend per model. Sampling is not a continuous-domain accuracy or stability proof.
Enter water pressure and temperature, then select the largest or smallest candidate root. Read the IF97 phase and each model’s own root count and stable-branch label. Models are compared together; none is highlighted as a preferred choice.
Choose the pressure interval and either compressibility or relative molar-volume difference for the isotherm. The horizontal axis is logarithmic reduced pressure. The current IF97 point is marked only when its reference exists and lies inside the interval. Gaps remain gaps in PNG, PDF and SVG. The table remains the source for isolated valid states that cannot form a line segment.
How to get an enthalpy or entropy change for a real gas: take the ideal-gas change, then correct it at each end. The correction is what the generalised charts hold, and here it is computed rather than read off a figure.
A departure function is the difference between a real-fluid property and its ideal-gas value at the same state coordinates. It permits ideal-gas caloric information and a nonideal equation of state to be combined without confusing a property difference with a path-dependent heat or work transfer.
Connect each real endpoint to an ideal-gas reference endpoint through an imaginary zero-density path. Since enthalpy and entropy are state properties, the complete change equals the ideal-gas change plus the difference between departure corrections at the two endpoints. The imaginary path is a device for deriving the correction; it is not a proposed physical process. Cubic-equation departures follow analytically from the equation's temperature dependence, and fugacity expresses the corresponding chemical-potential correction.
The generalized route instead evaluates the declared corresponding-states relation. It and the cubic route are alternative property models, so their difference is a model comparison. Agreement of their ideal-gas limits does not make their dense-fluid predictions interchangeable.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | Selected species supplies its critical constants and acentric factor; these are not editable inputs. |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
model | Which equation of state the screen is evaluating. | — | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
dh_departure | How much the real enthalpy differs from the ideal-gas enthalpy at the same temperature. | kJ/kg | — |
ds_departure | How much the real entropy differs from the ideal-gas entropy at the same temperature and pressure. | kJ/(kg K) | — |
DeltaH | Change in total enthalpy between the two states. | kJ/kg | — |
DeltaS | Change in total entropy between the two states. | kJ/(kg K) | — |
phi_fug | Fugacity coefficient: the factor by which a real gas's escaping tendency differs from its pressure. One for an ideal gas. | - | ln φ=∫₀^p(Z-1)/p dp |
Which route to the correction?
generalised correlation, from a cubic equation of state, analytically
Exact relations:
Monotonic trends:
both departures vary steeply and correlation and equation of state diverge from each other
How the app handles it: show both routes and their difference, rather than presenting one number as the answer
Each endpoint is solved with the selected model before evaluating its departure. The ideal-gas change is evaluated separately from NASA caloric data, and the result displays both endpoint corrections and their net contribution. The native entry selects the gas-phase root; it has no liquid-root selector. Invalid endpoint roots are not replaced by ideal-gas values.
Read the total together with the ideal and departure parts. A large cancellation between endpoint corrections can make the small difference sensitive even when each endpoint is finite. When comparing routes, keep the species, temperatures, pressures and property reference fixed.
Explore single-phase derivatives and liquid–vapour coexistence using water or a cubic equation of state. Compare available independent derivative routes, and distinguish exact relations from approximations.
Thermodynamic properties are linked because they are derivatives of a common potential. Maxwell relations, response coefficients and phase-boundary slopes provide alternative routes to the same quantities and expose contradictions that independently fitted property formulas can conceal.
Equality of mixed second derivatives of a thermodynamic potential produces the Maxwell relations. Combining those derivatives with the definitions of thermal expansion and isothermal compressibility gives the difference between constant-pressure and constant-volume specific heats. Applying the differential enthalpy relation at constant enthalpy gives the Joule–Thomson coefficient: its numerator compares thermal expansion with ideal-gas-like expansion, and its denominator is the actual constant-pressure heat capacity.
Along liquid-vapour coexistence, equal phase chemical potentials remain equal after a small change in temperature and pressure. Subtracting their differentials yields the Clapeyron slope from latent enthalpy and the phase volume difference. Assuming an ideal dilute vapour and negligible liquid volume gives the Clausius–Clapeyron approximation, whose restrictions are stronger than those of the original relation.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | — |
T | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
relation | Which of the property relations the screen is evaluating. | — | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
beta_v | Volume expansivity: the fractional change in volume per degree of temperature rise at constant pressure. | 1/K | β=(1/v)(∂ v/(∂ T))ₚ |
kappa_T | Isothermal compressibility: the fractional reduction in volume per unit pressure rise at constant temperature. | 1/MPa | κ=-(1/v)(∂ v/(∂ p))_T |
cp_minus_cv | The gap between the two specific heats, which for a real substance depends on how much it expands when heated and how much it resists being squeezed. | kJ/(kg K) | cₚ-cᵥ=vTβ²/κ |
mu_JT | Joule-Thomson coefficient: how much the temperature changes per unit pressure drop in a throttling process. Its sign decides whether throttling cools or warms, and refrigeration only works where it is positive. | K/MPa | Kernel returns K/kPa; presentation multiplies by 1000. |
dpdT_sat | The slope of the saturation line on the pressure-temperature plane. | MPa/K | Kernel Clapeyron slope with kJ/kg is kPa/K; presentation divides by 1000. |
hfg | Latent enthalpy: the energy one kilogram absorbs turning from saturated liquid into saturated vapour at fixed temperature. | kJ/kg | h_fg=T v_fg(dp/(dT))_sat |
c_sound | Speed of sound in the substance at this state. | m/s | — |
Which relation?
the four Maxwell relations, the Clapeyron relation, the Clausius-Clapeyron approximation, cp minus cv, volume expansivity and compressibility, the Joule-Thomson coefficient
All listed choices have explicit native controls and calculated outputs.
Evaluate from what?
the reference formulation for water, a cubic equation of state
All listed choices have explicit native controls and calculated outputs.
Exact relations:
Monotonic trends:
the isothermal compressibility diverges, so cp diverges with it
How the app handles it: report the divergence as physical rather than as an error, and floor the derived quantities that would otherwise overflow
step size trades truncation error against cancellation error
How the app handles it: use analytic derivatives of the potentials wherever they exist, and use a numerical derivative only where they do not; the two routes are compared directly
The selected water formulation or cubic model supplies the relevant derivatives and heat capacity. The task exposes both direct relations and the corresponding comparison quantities, including latent enthalpy and saturation slope. Invalid phases, degenerate denominators and unresolved critical neighbourhoods are rejected or marked unavailable.
Check the model, phase and units before comparing two routes. A near-zero Joule–Thomson coefficient indicates inversion, not zero heat capacity. A diverging response close to a critical point may reflect physical conditioning; an unavailable numerical result must not be treated as a finite zero.
Composition, mixture properties, and adiabatic mixing of two streams. The entropy of mixing is the part that is forgotten, and the screen shows it as its own line so it cannot be.
Ideal-gas mixture properties combine species caloric properties with partial-pressure entropy. Composition fractions require a declared mass or mole basis, and mixing can generate entropy even when the entering streams have equal temperatures and no heat is exchanged.
Mole fractions weight molar heat capacities and determine apparent molecular mass; mass fractions weight mass-specific properties. Conversion between those bases therefore uses molecular masses before any averaging. Dalton's relation gives each species partial pressure, which enters its entropy logarithm. Comparing separated pure gases with the same final mixture produces the entropy-of-mixing term proportional to minus the sum of mole amounts times logarithms of mole fractions.
For adiabatic mixing of two streams, conserve each species and total enthalpy. The combined composition is known from the species balances, leaving outlet temperature to satisfy enthalpy conservation. Summing outlet entropy and subtracting inlet entropy then includes thermal equilibration, compositional mixing and any declared pressure effect. Combining identical species first avoids inventing mixing entropy merely because one substance was entered through two ports.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
composition1 | The make-up of the mixture, as fractions of its components. | - | First stream or property-state composition; proportional nonnegative amounts are normalised. |
composition2 | The make-up of the mixture, as fractions of its components. | - | Second stream composition in mixing mode. |
basis | Whether specific quantities are reported per kilogram or per kilomole. It changes every number on the screen at once. | - | mole fractions, mass fractionsControls composition fractions only; both entered stream flows remain molar. |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | First stream or property-state temperature. |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | First stream or property-state pressure. |
ndot1 | Molar flow: amount of substance passing a section per unit time. | kmol/s | positive finiteFirst inlet molar flow; active in mixing mode. |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Second inlet temperature. |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | Second inlet pressure. |
ndot2 | Molar flow: amount of substance passing a section per unit time. | kmol/s | positive finiteSecond inlet molar flow; active in mixing mode. |
p3 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | Outlet mixing pressure; momentum is not solved. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
M | Molar mass: the mass of one kilomole of the substance. For a mixture, the mole-fraction-weighted average. | kg/kmol | M=Σ yᵢMᵢ |
R | Specific gas constant: the universal gas constant divided by the molar mass of this particular gas. | kJ/(kg K) | — |
cp | Specific heat at constant pressure: how much energy raises one kilogram by one degree while the pressure is held fixed. | kJ/(kg K) | — |
cv | Specific heat at constant volume: the same question with the volume held fixed instead, which is a smaller number because none of the energy goes into pushing the surroundings back. | kJ/(kg K) | — |
k | Specific heat ratio: cp divided by cv. It governs how steeply temperature changes when a gas is compressed without heat transfer. | - | — |
p_partial | Partial pressure: the pressure one component of a mixture would exert if it alone occupied the whole volume. | MPa | pᵢ=yᵢp Same pressure unit as the input, before the display-unit conversion. |
DeltaS_mixing | The entropy created purely by letting distinct species share a volume, with no temperature or pressure change involved. Forgetting it is the classic mixture error. | kJ/(kg K) | -(R̄/M)Σᵢ yᵢ ln yᵢ Displayed mass-specific entropy of mixing; the raw kernel identity is per kmol and is divided by apparent molar mass. |
T3 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
sigmadot | Rate of entropy production. | kW/K | Total = thermal + composition + pressure contributions, each in kW/K. Pressure changes can contribute negatively; the total must satisfy the second law. The mixer does not solve momentum. |
ndot | Molar flow: amount of substance passing a section per unit time. | kmol/s | Total outlet molar flow; sum of the inlet molar flows. |
sigma_thermal | Thermal contribution to the entropy-production rate. | kW/K | Thermal contribution to the entropy-production rate. |
sigma_composition | Composition contribution to the entropy-production rate. | kW/K | Composition contribution to the entropy-production rate. |
sigma_pressure | Pressure contribution to entropy rate; it may be negative while the total remains nonnegative. | kW/K | Pressure contribution to entropy rate; it may be negative while the total remains nonnegative. |
Composition given how?
mole fractions, mass fractions
The conversion needs the molar masses, and the two analyses of the same mixture look completely different, which is worth seeing side by side.
What is being computed?
mixture properties at a state, adiabatic mixing of two streams
Exact relations:
Monotonic trends:
the logarithm in the mixing term diverges while its product with the fraction goes to zero
How the app handles it: evaluate y ln y as a single guarded expression that returns exactly zero at y = 0, rather than multiplying a zero by an infinity
Fractions are normalized and converted on the selected basis. The state task evaluates mixture properties directly. The mixing task merges species inventories, brackets outlet temperature on the enthalpy balance and evaluates entropy using actual partial pressures. Thermal entropy is evaluated from each actual species at the recovered outlet temperature, composition entropy from the mole-fraction logarithms, and pressure entropy from each inlet-to-outlet pressure ratio. Invalid inputs, nonfinite balances and negative total entropy production fail explicitly.
Use the basis label before entering fractions and compare mass-specific with mass-specific outputs. At equal temperature, mixing different gases can still produce entropy; combining streams of the same gas at the same state should not. The three displayed contributions sum to the total. Pressure changes are kept separate from composition changes; a nonnegative total is necessary but does not solve momentum or establish a realizable mixer geometry.
Resolve a reversible closed-system process with an ideal-gas caloric model, water IF97, or given constant c and v; compare boundary work, heat and state changes on p-v and absolute-temperature T-s diagrams.
A closed-system boundary-work integral depends on the path. Internal energy, enthalpy and entropy changes depend on its endpoints. This entry resolves both endpoints and the intervening states with one selected property model, then reports specific quantities and totals for the stated mass. Heat enters the system and work leaves it.
For a reversible simple-compressible path with boundary work only, du = T ds - p dv. Thus w = integral p dv and q = delta u + w = integral T ds. A power law p v^n = constant supplies one particular mechanical path. Its n=1 member is an ideal-gas isotherm, while its n=k member is an isentrope only for an ideal gas with constant specific heats. Variable-heat-capacity gas isentropes instead hold the model entropy fixed. Water isentropes likewise solve p,s states; a water isotherm need not hold pv constant. In the wet region its pressure remains the saturation pressure as quality changes.
The user-given incompressible model holds v and c constant. Its changes are delta u = c delta T, delta h = c delta T + v delta p, and delta s = c ln(T2/T1), with pressure-volume products converted to energy units. It has zero boundary work. Temperature is constant on its isothermal and isentropic paths; pressure is constant on its isobaric and finite-exponent polytropic paths. This idealisation has no named material database and no phase-change prediction.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | declared ideal-gas species; water; or a user-given incompressible idealisation |
process | Which of the available process paths the screen is applying. | — | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | finite positive temperature inside the selected modelUsed only when active in the selected independent pair or endpoint control; otherwise derived. |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | finite positive pressure inside the selected modelUsed only when active in the selected independent pair or endpoint control; otherwise derived. |
v1 | Specific volume: the space one kilogram of the substance occupies. The reciprocal of density, and the property that makes a gas different from a liquid. | m^3/kg | finite positive specific volumeUsed only when active in the selected independent pair or endpoint control; otherwise derived. |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | finite positive temperature inside the selected modelUsed only when active in the selected independent pair or endpoint control; otherwise derived. |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | finite positive pressure inside the selected modelUsed only when active in the selected independent pair or endpoint control; otherwise derived. |
v2 | Specific volume: the space one kilogram of the substance occupies. The reciprocal of density, and the property that makes a gas different from a liquid. | m^3/kg | finite positive specific volumeUsed only when active in the selected independent pair or endpoint control; otherwise derived. |
n | Polytropic exponent: the constant in a path where pressure times volume to this power stays fixed. Zero gives constant pressure, one gives constant temperature for an ideal gas, and the specific heat ratio gives an isentropic path. | - | -inf < n < infPolytropic exponent. |
m | Mass of the system or of the sample being considered. | kg | finite m > 0; all nonzero totals must remain representable |
process_model | Property model used for every state on the path. | — | ideal gas | water IF97 | incompressible (given c and v)Property model used for every state on the path. |
caloric_model | NASA polynomial, evaluated constant cp, or air-only cold-air standard. | — | one of the three declared gas caloric modelsNASA polynomial, evaluated constant cp, or air-only cold-air standard. |
evaluation_temperature | Temperature used to evaluate constant cp. | K | inside the selected gas polynomial intervalTemperature used to evaluate constant cp. |
inlet_pair | Water alone accepts quality; the given-c/v model uses p,T. | — | p,T | p,v | p,xWater alone accepts quality; the given-c/v model uses p,T. |
x | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | — | 0 <= x <= 1Active water quality for an initial p,x pair or isobaric endpoint. |
temperature_root | Visible water p,v temperature root; changing root counts on a polytrope are refused. | — | lower-temperature root | higher-temperature rootVisible water p,v temperature root; changing root counts on a polytrope are refused. |
heat_capacity | User-given incompressible constant c; no material database. | kJ/(kg K) | finite c > 0User-given incompressible constant c; no material database. |
fixed_volume | User-given incompressible constant specific volume. | m^3/kg | finite v > 0User-given incompressible constant specific volume. |
path_samples | Number of base nodes; water saturation breakpoints may add nodes. | — | integer 2 <= path_samples <= 401Number of base nodes; water saturation breakpoints may add nodes. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
W | Work transferred across the boundary, taken as positive when it comes out of the system. | kJ | W=∫₁² p dV Total for the stated mass; state changes and transfers are also shown per kg. |
Q | Heat transferred across the boundary, taken as positive when it goes into the system. | kJ | Q=Δ U+W Total for the stated mass; state changes and transfers are also shown per kg. |
DeltaU | Change in the total internal energy of the system between the two states. | kJ | Total for the stated mass; state changes and transfers are also shown per kg. |
DeltaH | Change in total enthalpy between the two states. | kJ | Total for the stated mass; state changes and transfers are also shown per kg. |
DeltaS | Change in total entropy between the two states. | kJ/K | Total for the stated mass; state changes and transfers are also shown per kg. |
specific_work | Boundary work leaving the closed system per unit mass. | kJ/kg | Boundary work leaving the closed system per unit mass. |
specific_heat | Heat entering the closed system per unit mass. | kJ/kg | Heat entering the closed system per unit mass. |
process_delta_u | Change in specific internal energy, final minus initial. | kJ/kg | Change in specific internal energy, final minus initial. |
process_delta_h | Change in specific enthalpy, final minus initial. | kJ/kg | Change in specific enthalpy, final minus initial. |
process_delta_s | Change in specific entropy, final minus initial. | kJ/(kg K) | Change in specific entropy, final minus initial. |
sampled_work | Trapezoidal integral of pressure with respect to specific volume. | kJ/kg | Trapezoidal integral of pressure with respect to specific volume. |
sampled_heat | Trapezoidal integral of absolute temperature with respect to specific entropy. | kJ/kg | Trapezoidal integral of absolute temperature with respect to specific entropy. |
work_difference | Sampled p dv minus reported boundary work; a diagnostic, not a certified error bound. | kJ/kg | Sampled p dv minus reported boundary work; a diagnostic, not a certified error bound. |
heat_difference | Sampled T ds minus reported heat; includes sampling and property-formulation consistency. | kJ/kg | Sampled T ds minus reported heat; includes sampling and property-formulation consistency. |
Which path?
isothermal, isobaric, isochoric, isentropic, polytropic with a given n
n=k is an isentrope only for a constant-specific-heat ideal gas. Water isotherms do not generally have pv constant. Isentropic paths are resolved from the selected model entropy.
Exact relations:
Monotonic trends:
the closed form (p2 V2 - p1 V1)/(1 - n) is 0/0; the limit is p1 V1 ln(V2/V1)
How the app handles it: Use log1p for close volume ratios and expm1(x)/x with x=(1-n)log(v2/v1); evaluate its limit at x=0. Scaled products and a logarithmic large-x branch avoid intermediate overflow. Reject nonzero subnormal work.
Delta-s is the difference of two large nearly equal terms and loses most of its significant figures
How the app handles it: evaluate the standard-entropy difference in factored form and take the pressure term with log1p
The low-level power-law integral uses L=log(v2/v1) and x=(1-n)L, evaluating p1 v1 L expm1(x)/x with the x=0 limit equal to one. Scaled products avoid intermediate overflow. A logarithmic form handles very large positive x. Invalid or contradictory endpoints and unrepresentable nonzero work are refused. The low-level isentropic label is refused because pressure and volume alone cannot establish constant entropy.
The property-path layer samples the selected model. Isentropes solve entropy at successive pressures and use w=u1-u2, with a separately reported sampled integral. Isobars use temperature for gases and enthalpy for water, including saturation endpoints. Isochores resolve states at fixed volume. Water isotherms resolve T,v states and integrate sampled p dv; wet interval endpoints are included. Water polytropes use the explicitly selected p,v temperature root and refuse a changing root count. The same states feed both plots and the integral diagnostics.
The plots use linear pressure and absolute temperature because a geometric area on a logarithmic pressure scale, or one closed to zero Fahrenheit, is not the stated integral. The T-s diagram uses K or degR and entropy change from the initial state. A signed p-v area must still be converted from the axis product to energy per mass.
Choose the model before setting the initial independent pair. Water can start from p,T, p,v or p,x; p,v exposes its temperature-root choice. Ideal gases use p,T or p,v, with the stated caloric approximation. An isentropic process is controlled by final pressure, an isochore by final temperature, an isobar by final temperature or water quality, and an isotherm or polytrope by final volume. The incompressible controls reflect its fixed-volume constraints.
Read the resolved state and phase labels, specific transfers, and mass totals together. The p-v area follows the boundary-work sign; the T-s area is reversible heat only under this entry’s assumptions. A refusal replaces the whole path instead of drawing a line through an unresolved sample.
The first law for a closed system, solved for whichever term is unknown. Work modes beyond the moving boundary are included because problems use them and a screen that only knows p dV cannot express them.
Energy is conserved, and for a fixed mass the only ways across the boundary are heat and work. The change in the total energy of the contents -- internal, kinetic and potential -- therefore equals the heat added minus the work done. Four quantities and one equation, which is why a screen that only ever solved for the heat would be a quarter of a screen.
Nothing needs deriving in the balance itself; what needs stating is the bookkeeping, because that is where the errors are.
Every term is a total in kilojoules, including the internal-energy change, which is the mass times the specific change and not the specific change. The distinction is silent when it is wrong: a specific change of minus fifty-five kilojoules per kilogram for four tenths of a kilogram is minus twenty-two kilojoules, and supplying the specific value instead gives an answer that is wrong by the difference with nothing on screen to say so. The app therefore attaches a note whenever a mass other than one is given, stating which reading it took.
The kinetic term is written as half the mass times the difference of the two velocities times their sum, rather than as the difference of their squares. The two are the same algebra and not the same arithmetic: squaring first and subtracting destroys the answer when the two velocities are close, which is the ordinary case in a pipe and exactly the case where the kinetic term is small enough to be interesting.
Work modes beyond the moving boundary are here because problems use them, and each is its own function with its own arguments rather than one dispatcher taking three positional numbers -- the arguments are genuinely different physical quantities, and collapsing them into slots is how a spring constant ends up in the voltage field. The list is not closed: work is a generalised force through its displacement and every named mode is an instance of that, so the generalised form is offered explicitly rather than leaving a user with an unlisted mode to conclude that the app cannot do it.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
m | Mass of the system or of the sample being considered. | kg | — |
Q | Heat transferred across the boundary, taken as positive when it goes into the system. | kJ | — |
W | Work transferred across the boundary, taken as positive when it comes out of the system. | kJ | — |
DeltaU | Change in the total internal energy of the system between the two states. | kJ | — |
vel1 | Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy. | m/s | — |
vel2 | Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy. | m/s | — |
z1 | Elevation above the chosen datum. | m | — |
z2 | Elevation above the chosen datum. | m | — |
Delta_u_specific | Change in internal energy per kilogram, specified independently when the total balance determines mass. | kJ/kg | finite, resolved net specific energyGiven for mass inverse; total energy outputs remain kJ. |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | IF97 pressure rangeInitial state for final-state inverse |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | 273.15 <= T <= 1073.15, within supported regionInitial state for final-state inverse |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | IF97 pressure rangeFinal-pressure constraint |
v2 | Specific volume: the space one kilogram of the substance occupies. The reciprocal of density, and the property that makes a gas different from a liquid. | m^3/kg | v > 0, resolved inside supported formulationFinal specific-volume constraint; rigid volume uses initial v |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
Q | Heat transferred across the boundary, taken as positive when it goes into the system. | kJ | Q=Δ U+Δ KE+Δ PE+W |
W | Work transferred across the boundary, taken as positive when it comes out of the system. | kJ | W=Q-Δ U-Δ KE-Δ PE |
DeltaU | Change in the total internal energy of the system between the two states. | kJ | — |
DeltaKE | Change in kinetic energy of the system as a whole. | kJ | Δ KE=(1/2)m(V₂²-V₁²) |
DeltaPE | Change in gravitational potential energy of the system as a whole. | kJ | Δ PE=mg(z₂-z₁) |
m | Mass of the system or of the sample being considered. | kg | m=(Q-W)/(Δ u+Δ ke+Δ pe) Positive resolved mass from independently specified specific energy change |
T | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Final water state; quality is defined only in the saturation domain |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | Final water state; quality is defined only in the saturation domain |
v | Specific volume: the space one kilogram of the substance occupies. The reciprocal of density, and the property that makes a gas different from a liquid. | m^3/kg | Final water state; quality is defined only in the saturation domain |
u | Specific internal energy: the energy stored in one kilogram of a substance by the motion and arrangement of its molecules, with no reference to where the substance is or how fast it is moving. | kJ/kg | Final water state; quality is defined only in the saturation domain |
h | Specific enthalpy: internal energy plus pressure times specific volume. It exists because that combination appears every time a substance flows across a boundary, so it is a bookkeeping convenience that behaves like a property. | kJ/kg | Final water state; quality is defined only in the saturation domain |
s | Specific entropy: the property that counts how much of a system's energy is no longer available to do work. It increases in every real process and stays put only in an ideal one. | kJ/(kg K) | Final water state; quality is defined only in the saturation domain |
x | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | — | Final water state; quality is defined only in the saturation domain |
Which term is being solved for?
Q, W, ΔU, mass, final state
Mass requires a specified specific internal-energy change. The final water state requires an initial pressure/temperature and an explicit final pressure or specific-volume constraint; rigid volume reuses the initial volume.
Which work modes are present?
moving boundary, shaft, electrical, spring, surface tension, generalised
Several may act at once; they add.
Which independent final-state constraint is specified?
final pressure, final specific volume, rigid volume
Used only for the final-state inverse. The constraint does not verify the supplied work path.
Exact relations:
Monotonic trends:
the kinetic term is a difference of squares and cancels badly
How the app handles it: evaluate as (v2 - v1)(v2 + v1)/2 rather than as a difference of squares
Rearrangement. The unknown is an input rather than a fixed choice, and the app solves the same equation for whichever of the heat, the work or the internal-energy change was left out. The kinetic and potential terms are always computed and always reported, even when they are exactly zero, so that a reader can see they were zero rather than assume it -- the difference between a screen that omits a term and a screen that says the term is negligible here.
There is a second mode in which every term is supplied and the app reports what the balance closes to. That residual is the answer, not an error: it is how you check a claim rather than complete one, and when it is more than about a part in a thousand million of the largest term the app says which fraction of that term it represents.
Solving for the mass is refused rather than attempted, with a reason: the mass enters through the state as well as through the balance, so it is a different problem that needs a state fixed first, and the app says which screen does that.
Read the kinetic and potential lines even when they are zero, because that is the screen telling you it was the stationary closed system every worked problem means when it says nothing about them.
If you supplied all four numbers, the residual is the whole output. A residual that is not zero means one of the four does not belong with the other three, and its size relative to the largest term is the practical measure of how badly.
If a mass other than one kilogram is in play, read the note about the internal-energy change before reading the answer.
Choose power or refrigeration/heat-pump direction; account for heat, signed work, reservoir entropy and the applicable performance ratios.
A complete cycle returns the working substance to its initial state. Its stored energy change therefore vanishes, leaving a balance between heat absorbed, heat rejected and signed work delivered. The direction selection identifies which heat transfer belongs to the hot reservoir and which belongs to the cold reservoir. A refrigerator and a heat pump describe the same work-consuming cycle with different useful outputs.
Write heat magnitudes as non-negative quantities and work out as positive. The first law gives work out equal to heat in minus heat out. A power cycle requires positive work out, absorbs heat from the hot reservoir and rejects heat to the cold reservoir. Its efficiency is the delivered work divided by the absorbed heat.
A reverse cycle absorbs heat from the cold reservoir, delivers more heat to the hot reservoir and consumes the difference as work input. Its refrigeration coefficient is cold-side heat divided by positive work input; its heating coefficient uses hot-side heat with the same denominator. Subtracting these coefficients gives exactly one by the first law. They must not be computed using a positive-work power-cycle denominator for the same heat pair.
The working substance also returns to its original entropy. Entropy produced equals entropy leaving with rejected heat minus entropy entering with absorbed heat, using the reservoir assigned to each direction. Requiring this difference to be non-negative gives the Carnot bounds. Zero entropy production is a reversible limit; satisfying this necessary balance does not specify a buildable machine.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
device | Which device the efficiency definition is being applied to. | — | power, refrigeration or heat pumpSelects the useful output and heat-transfer directions. |
Qin | Total heat supplied to a cycle over one complete circuit, counted as a positive quantity. | kJ | Positive heat absorbed: from TH in power mode, from TC in refrigeration/heat-pump mode. |
Qout | Total heat rejected by a cycle over one complete circuit, counted as a positive quantity. | kJ | Positive heat rejected: to TC in power mode, to TH in refrigeration/heat-pump mode. |
TH | Temperature of the hot reservoir. | K | — |
TC | Temperature of the cold reservoir. | K | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
Wcycle | Net work produced or consumed over one complete circuit of a cycle. | kJ | W_cycle=Q_in-Q_out Signed work out. Refrigeration/heat-pump work input is its negative. |
eta | Thermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work. | - | η=W_cycle/Q_in Power mode only; positive work out divided by absorbed heat. |
beta | Coefficient of performance of a refrigerator: heat removed from the cold space divided by the work it cost. Routinely greater than one, which is why it is not called an efficiency. | - | β=Qᵢₙ/Wᵢₙ Refrigeration and heat-pump modes; Win=Qout−Qin>0. |
gamma | Coefficient of performance of a heat pump: heat delivered to the warm space divided by the work it cost. Always exactly one more than the refrigeration value for the same machine. | - | γ=Qₒᵤₜ/Wᵢₙ=β+1 Same refrigeration cycle, heating-output perspective. |
eta_C | Reversible heat-engine efficiency between the entered reservoirs. | - | Reversible heat-engine bound. |
beta_C | Reversible refrigeration coefficient of performance between the entered reservoirs. | - | Reversible refrigeration bound. |
gamma_C | Reversible heat-pump coefficient of performance between the entered reservoirs. | - | Reversible heat-pump bound. |
sigma_cycle | Entropy produced over one complete circuit, obtained from the cycle integral of heat over boundary temperature. | kJ/K | Entropy produced per cycle for the selected direction. |
r_energy | Signed residual of the stated energy balance; zero within numerical resolution for a closed balance. | kJ | Signed first-law residual. |
Which kind of cycle?
power, refrigeration, heat pump
Visible cycle-direction picker. Power shows thermal efficiency; refrigeration and heat pump show both COPs with positive work input. Heat reservoir attribution changes with direction.
Exact relations:
Monotonic trends:
both coefficients of performance diverge
How the app handles it: Refuse zero or numerically unresolved work as an operating cycle; explain the limiting direction. Reservoir bounds remain available for valid cycles.
The selected direction determines the work sign and reservoir mapping before any ratio is formed. Finite non-negative heat magnitudes and finite temperatures with hot at least as warm as cold are required. A zero or poorly resolved work difference is refused: its magnitude must exceed 128 floating-point spacings of the largest entered heat divided by 10⁻⁶, so the small difference retains six resolved digits.
The entropy transfers are evaluated separately. Non-finite transfers and nonzero transfers below 10⁻³⁰⁰ kJ/K are refused to keep underflow and subnormal loss of precision out of the second-law verdict. Negative entropy production is refused beyond an absolute floor of 64 floating-point spacings of the larger transfer. A negative value within that rounding floor is shown as zero. Only performance measures belonging to the selected direction are reported.
The energy-flow outline uses the same accepted heat totals and work difference as the table. Both sides have the same total height; the separate work region is delivered on the outgoing side for power and supplied on the incoming side for a reverse cycle.
Select the direction first, then follow the reservoir names on the heat fields. A power result reports efficiency; a refrigerator or heat-pump result reports positive work input and both COPs. The signed work-out value is negative for the reverse cycle.
For a reverse cycle the heating COP exceeds the refrigeration COP by one. Compare the active ratio with its reversible bound and read entropy production alongside it. If the direction or second law fails, the explanatory refusal replaces both the result table and the energy-flow diagram.
The one steady-flow device where the kinetic energy term is the point rather than a neglected nuisance.
The steady-flow energy balance says that what a stream carries in -- enthalpy, kinetic energy, potential energy -- plus whatever heat and work cross the boundary equals what it carries out. A nozzle and a diffuser are the case with no work and no heat, so the balance collapses to a trade between enthalpy and kinetic energy. This is the one device in the product where the kinetic term is the answer rather than a term dropped with a note saying it was negligible.
Set the heat, the work and the elevation change to zero in the steady-flow balance. What survives says that the sum of enthalpy and half the velocity squared is the same at the exit as at the inlet -- the stagnation enthalpy is conserved. That single conserved quantity is what makes a nozzle tractable without knowing anything about the duct: it is the right quantity to carry through the device rather than the enthalpy itself.
Solving it for the exit velocity gives the square root of the inlet velocity squared plus twice the enthalpy drop. Written that way, three things are visible at once. A nozzle needs an enthalpy drop and gets speed for it; a diffuser gives up speed and gets an enthalpy rise, which at a stated exit pressure is what pressure recovery means; and the derivative of exit speed with respect to exit enthalpy diverges as the remaining kinetic energy goes to zero. Near that stagnation limit a small enthalpy error causes a large relative velocity error.
For the nozzle, irreversibility enters as a stated efficiency defined on kinetic energy, not on velocity. The isentropic exit state is found first, at the same exit pressure with the inlet entropy; the ideal kinetic energy is the stagnation enthalpy minus that state's enthalpy; the actual kinetic energy is the efficiency times it; and the real exit state is fixed from the exit pressure and what enthalpy is left. The velocity ratio is the square root of the energy ratio and is a different number -- a nozzle at ninety-six per cent on energy is at ninety-eight on velocity -- so the two definitions are not interchangeable even though both get called nozzle efficiency.
The diffuser uses a different definition: the isentropic enthalpy rise at the specified pressure divided by the actual kinetic-energy drop. With no heat or shaft work that drop equals the actual enthalpy rise. Thus the actual rise is the isentropic rise divided by efficiency. Reusing the nozzle multiplier would give the wrong pressure recovery whenever efficiency is below one.
Mass flow closes the geometry. The one-dimensional continuity relation gives the area a stated flow needs at each end, which is what the screen is actually asked for.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
device | Which device the efficiency definition is being applied to. | — | nozzle or diffuserWater/steam, adiabatic, no shaft work. Exit state and areas are calculated from the selected device efficiency. |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
vel1 | Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy. | m/s | — |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
A2 | Cross-sectional area the stream passes through. | m^2 | Stated exit area for the separate mass-flow check. The primary calculation takes mass flow and reports its required inlet and exit areas. |
mdot | Mass flow rate. | kg/s | — |
eta_n | Isentropic nozzle efficiency: actual kinetic energy at the exit divided by what an ideal expansion would have produced. | — | 0 < efficiency <= 1Only the selected device efficiency is active: nozzle exit kinetic-energy ratio or diffuser ideal/actual enthalpy-rise ratio. |
eta_d | Diffuser efficiency: isentropic enthalpy rise divided by the actual kinetic-energy drop, equal to actual enthalpy rise for the adiabatic no-work model. | — | 0 < efficiency <= 1Only the selected device efficiency is active: nozzle exit kinetic-energy ratio or diffuser ideal/actual enthalpy-rise ratio. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
vel2 | Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy. | m/s | V₂=√(2(h₁-h₂)+V₁²) |
A2 | Cross-sectional area the stream passes through. | m^2 | A=ṁv/V |
mdot | Mass flow rate. | kg/s | ṁ=AV/v Secondary stated-area check; primary flow is supplied independently. |
h2 | Specific enthalpy: internal energy plus pressure times specific volume. It exists because that combination appears every time a substance flows across a boundary, so it is a bookkeeping convenience that behaves like a property. | kJ/kg | — |
h0 | Stagnation enthalpy: the enthalpy a stream would have if it were brought to rest without loss. Conserved through an adiabatic duct with no work. | kJ/kg | Shared stagnation enthalpy; h + V²/2000 in the implementation units. |
e_kinetic1 | Kinetic energy carried by each unit of flowing mass. | kJ/kg | — |
e_kinetic2 | Kinetic energy carried by each unit of flowing mass. | kJ/kg | — |
A_ratio | Outlet area divided by inlet area, for the same steady mass flow. | — | — |
sigma | Entropy production: entropy that was created inside the boundary rather than carried across it. Zero for an ideal process, positive for every real one, and never negative. | kJ/(kg K) | Specific entropy produced across the device. |
sigmadot | Rate of entropy production. | kW/K | — |
r_energy | Signed residual of the stated energy balance; zero within numerical resolution for a closed balance. | kJ/kg | — |
A1 | Cross-sectional area the stream passes through. | m^2 | A₁=ṁ v₁/ V₁ Derived inlet area; a finite positive area requires a positive inlet speed. |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Derived actual water/steam exit temperature. |
Nozzle or diffuser?
nozzle: velocity rises, pressure falls, diffuser: velocity falls, pressure rises
The same balance; which way the conversion runs is the user's declaration and the app checks it against the answer.
Exact relations:
Monotonic trends:
Continuity still gives the required area. A separate compressible-flow/geometry analysis is needed to establish choking, shocks and physical realisability; Mach 0.8 is a warning threshold, not proof of choking.
How the app handles it: Warn without invalidating the energy balance or continuity area. A converging nozzle can reach Mach 1 at its exit; no geometry is inferred here.
the square root argument approaches zero and its derivative is unbounded
How the app handles it: guard the radicand and report zero velocity exactly at the stagnation point
Fix the inlet and isentropic exit, then apply the selected device's efficiency definition. For a diffuser, first check whether inlet kinetic energy can pay for the required actual enthalpy rise. Resolve the real exit by pressure and enthalpy, then the velocity and the two areas. Efficiency one keeps the isentropic state directly. No iteration is added beyond the property inverses.
The radicand is guarded, and the guard is not tidiness. Asking for an exit enthalpy above the inlet stagnation enthalpy is asking the stream to arrive carrying more energy than it left with, and the honest answer is that no such exit exists -- which the app says in those terms, with the shortfall in kilojoules per kilogram, rather than returning nothing. Exactly at the stagnation enthalpy the velocity is exactly zero, and the guard has to get that right too: a radicand of minus a hundredth of a millionth of a millionth from rounding must give zero, not a refusal. The two are separated by scaling the tolerance against 128 ULP of the terms that were differenced. Huge velocities that cannot resolve the enthalpy change, non-finite or negative speeds, non-positive mass flows and unresolved areas are refused. The area calculation combines binary significands and exponents so an intermediate product cannot overflow when the final quotient is finite.
The declared device is an input and is then checked rather than deduced. A declared nozzle whose exit velocity came out below its inlet is a diffuser, and the app says so instead of quietly relabelling it. That is the difference between a tool and a tool that agrees with you. Pressure direction is also checked: nozzles require a fall and diffusers a rise. The graph stacks h and V²/2000 in kJ/kg (or the corresponding display unit) at both endpoints; its common top is the stagnation enthalpy. An energy closure residual and specific/rate entropy production accompany the graph.
Read the refusals, because on this screen they carry the physics. A diffuser that cannot reach the requested pressure is told so in energy terms: slowing the stream to a standstill releases this much kinetic energy and the compression needs that much, and there is not enough speed. That sentence is the answer to the design question.
Read the Mach note as a limit on what the calculation establishes. The states, speed and required areas satisfy the balances; their realisation in a particular duct geometry has not been proved.
The stagnation enthalpy is worth watching as you move the inputs. It should not move at all when only the exit pressure changes, and if it does, the inlet velocity or the inlet state changed with it.
Work out of an expanding stream, with the exit quality checked against the blade erosion limit because a cycle can be arithmetically correct and mechanically impossible.
The steady-flow energy balance for an adiabatic device that produces work: the work out per unit mass is the enthalpy drop across it. Everything else on this screen is about the fact that a real expansion does not follow the reversible path, and about the one mechanical consequence -- liquid droplets in the last stages -- that makes an arithmetically valid answer mechanically impossible.
Drop the heat, the kinetic and the potential terms from the steady-flow balance and the specific work is the inlet enthalpy minus the exit enthalpy. The exit state is not free: it is fixed by the exit pressure and by how far the expansion falls short of reversibility.
The reversible reference is the isentropic exit -- the state at the exit pressure with the inlet entropy. The isentropic efficiency is the actual work over that reference work, and the ideal is in the denominator because a turbine produces work and friction can only lose some of what was available. So the actual work is the efficiency times the ideal work, the actual exit enthalpy is the inlet enthalpy minus that, and the actual exit state is fixed from the exit pressure and that enthalpy.
Two consequences fall out. The actual exit entropy is above the isentropic one, with equality only at unit efficiency, which is the second law showing up as a geometric fact on the temperature-entropy plane. And if the expansion ends inside the vapour dome in both cases, the actual exit has higher enthalpy and higher quality: the irreversibility leaves enthalpy behind, and at fixed pressure more enthalpy is more vapour. That is why a real turbine's exit is drier than the ideal one at the same pressure, which surprises people who expect losses to make everything worse.
The preceding efficiency construction is adiabatic. With measured exit or shaft-power input, a supplied heat loss is accounted explicitly: shaft work is the enthalpy drop minus outward heat per mass. Entropy production includes the positive entropy leaving with that heat at its boundary temperature.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Active only when the selected inverse/supplied-state direction uses exit temperature; otherwise calculated. |
mdot | Mass flow rate. | kg/s | — |
eta_t | Isentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced. | - | 0 < eta_t <= 1 |
h_exit_given | Measured turbine outlet enthalpy per unit mass. | kJ/kg | finite; applicable state/device domainActive only in the corresponding supplied-quantity direction. |
x_exit_given | Measured vapor mass fraction at the turbine outlet. | - | finite; applicable state/device domainActive only in the corresponding supplied-quantity direction. |
Wdot_given | Positive shaft power supplied to determine a turbine outlet. | kW | finite; applicable state/device domainActive only in the corresponding supplied-quantity direction. |
T_boundary | Temperature of the control surface where heat crosses the boundary. | K | finite and > 0Required for heat loss. |
heat_loss_rate | Non-negative thermal energy rate transferred out of the device. | kW | finite and >= 0Outward positive; heat into turbine is its negative. |
gas_cp_model | Specific-heat law used consistently in the ideal-gas state and inverse calculations. | — | one declared ideal-gas caloric modelActive for ideal gas. |
T_cp_evaluation | Temperature at which a constant specific heat is evaluated. | K | within source temperature rangeUsed by the constant-cp model. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
Wdot | Rate of work transfer, that is, power. | kW | Ẇ=ṁ(h₁-h₂)+Q̇ Shaft power includes specified outward heat loss in the heat-loss model. |
h2 | Specific enthalpy: internal energy plus pressure times specific volume. It exists because that combination appears every time a substance flows across a boundary, so it is a bookkeeping convenience that behaves like a property. | kJ/kg | — |
x2 | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | - | — |
eta_t | Isentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced. | - | ηₜ=(h₁-h₂)/(h₁-h₂ₛ) Adiabatic model only; a cooled-turbine enthalpy-drop ratio is reported separately and is not an efficiency. |
sigmadot | Rate of entropy production. | kW/K | σ̇=ṁ(s_2-s_1)-Q̇/T_b Includes thermal boundary entropy transfer. |
enthalpy_drop_ratio | Actual enthalpy decrease divided by the isentropic reference decrease; under heat loss this is not an adiabatic efficiency. | - | Displayed for heat-loss model; may exceed one. |
w_turbine | Work delivered by the turbine per kilogram of working fluid. | kJ/kg | Actual specific work out, including the selected heat-loss model. |
w_isentropic | Reversible adiabatic work per mass from the inlet and outlet enthalpy difference. | kJ/kg | Ideal isentropic specific work between the same inlet and exit pressure. |
q_specific | Signed heat into the turbine per unit mass; negative for outward loss. | kJ/kg | Signed heat into the turbine per unit mass; negative for outward loss. |
Qdot | Rate of heat transfer. | kW | Signed heat into the turbine; equals minus the entered outward heat-loss rate. |
sigma | Entropy production: entropy that was created inside the boundary rather than carried across it. Zero for an ideal process, positive for every real one, and never negative. | kJ/(kg K) | Specific entropy generated, including heat transfer at the supplied boundary temperature. |
What is given?
isentropic efficiency, exit state, power output
Three directions for the adiabatic model; specified heat loss requires a measured exit or shaft power. A zero-flow power inverse is underdetermined; zero-flow known-exit results require zero heat-loss rate.
Which exit property is measured?
enthalpy, temperature, quality
Use enthalpy or quality for a wet exit; pressure and saturation temperature alone do not determine quality.
Thermal boundary model?
adiabatic, heat loss
Outward heat loss is non-negative; boundary temperature is uniform and positive. Entropy production includes heat transfer. Internal path is not specified.
Property model?
water / steam, ideal gas
Ideal gas requires a declared species and caloric model; quality does not apply.
Specific heat model for ideal gas?
variable c_p from the polynomial, constant c_p evaluated at a stated temperature, constant k, cold-air-standard
Cold-air-standard is offered for air only. All temperatures remain within the species source interval.
Exact relations:
Monotonic trends:
h1 - h2s approaches zero and the isentropic efficiency is 0/0
How the app handles it: floor the denominator and say the pressure ratio is too small for an efficiency to be defined, rather than printing a large number
the answer is arithmetically valid and mechanically unacceptable
How the app handles it: validity warning V-TURBINE-EROSION, shown on the result, not buried
Fix the inlet state, fix the isentropic exit from the exit pressure and the inlet entropy, scale, and fix the actual exit from the exit pressure and the remaining enthalpy. The only iteration is inside the property inversions.
Every refusal is by name and with a reason. An efficiency outside its range, an exit pressure at or above the inlet, an isentropic exit that is not reachable, an actual exit that is not reachable -- each returns its own sentence rather than a shared failure, because on a screen with four inputs the useful part of a refusal is which input to change.
The same function is what the vapour-cycle screens call for their expansion leg. That is deliberate: a cycle that computed turbine work differently from the turbine screen would be two implementations of one relation, and they would drift.
Read the two exit states together. The isentropic one is where the expansion would have ended; the actual one is where it did; the gap between them on the temperature-entropy plane is the whole of the irreversibility, and the gap in enthalpy is the work you did not get.
If the exit is inside the dome, the quality is the number that decides whether the machine can be built. A low quality with a high efficiency is a common and useless combination: the arithmetic is fine and the last-stage blades are not.
An efficiency the app declines to define is telling you that the expansion is too small to have one, not that something went wrong.
Liquid-water pump power, ideal-gas compression with explicit heat models, and stable real-gas pv^n compression. Every interstage thermal reset returns to inlet temperature; no final aftercooler.
The same steady-flow balance as the turbine with the sign of the work reversed: the work in per unit mass is the enthalpy rise. What makes this a separate screen is that the ideal now sits in the numerator of the efficiency -- a compressor consumes work, and irreversibility can only make you pay more than the reversible minimum -- and that the reversible minimum itself depends strongly on how much the fluid's volume changes while you are compressing it.
For a liquid the specific volume barely changes, so the reversible work is very nearly the specific volume times the pressure rise. For a gas it changes by orders of magnitude, so the reversible work depends on the path: an isothermal compression takes the least work, an isentropic one the most, and a polytropic path anything between. The ratio of the two extremes is why feeding a boiler costs a fraction of a per cent of what the turbine returns and why a gas turbine spends more than a third of its output driving its own compressor.
Multistage compression with intercooling is the practical consequence. Cooling between stages moves the second stage's inlet back down the volume axis, so it compresses a denser gas and pays less. With ideal intercooling back to the inlet temperature, minimising the total work over the intermediate pressures gives a result students reliably get wrong in the direction of equal pressure rises: the work is least when every stage has the same pressure ratio, so the intermediate pressures form a geometric progression. For two stages the answer is the geometric mean of the two end pressures. From one bar to a hundred bar, that is ten bar; the arithmetic mean would say 50.5.
The isentropic efficiency for a compressor or a pump is the reversible work over the work actually paid. Inverting it turns an eighty per cent machine into a hundred and twenty-five per cent one, which at least announces itself, or a hundred and twenty-five per cent machine into an eighty per cent one, which does not. The app writes the two orientations as two functions rather than one, so the flip cannot happen by passing the arguments in the wrong order.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | p > 0Exit pressure must exceed inlet pressure. |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | p > 0Exit pressure must exceed inlet pressure. |
mdot | Mass flow rate. | kg/s | mdot >= 0 |
eta_c | Isentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken. | - | 0 < eta_c <= 1 |
n | Polytropic exponent: the constant in a path where pressure times volume to this power stays fixed. Zero gives constant pressure, one gives constant temperature for an ideal gas, and the specific heat ratio gives an isentropic path. | - | n > 0Positive prescribed pv^n exponent. Only ideal gas n=1 implies isothermal. Real-fluid exit temperature is solved from the EOS; interstage heat may have either sign. |
nstage | How many compression stages are used. | - | integer 1 <= nstage <= 64At most 63 thermal resets; no final aftercooler. This ceiling bounds computation and chart size. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
Wdot | Rate of work transfer, that is, power. | kW | Ẇᵢₙ=ṁ wᵢₙ Gas train total power; liquid pump uses composition.pump_operation.Result.power. |
h2 | Specific enthalpy: internal energy plus pressure times specific volume. It exists because that combination appears every time a substance flows across a boundary, so it is a bookkeeping convenience that behaves like a property. | kJ/kg | Every inlet and exit state, including final enthalpy; pump uses evaluation.exit. |
eta_c | Isentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken. | - | η_c=(h_2s-h_1)/(h_2-h_1) |
pi_opt | The intermediate pressure that minimises total work, which for two ideal stages is the geometric mean of the end pressures. | MPa | pᵢ=p₁(p₂/p₁)^(i/N) Ideal-gas equal-ratio rule applies to its declared heat model. Real-fluid allocation is user-specified or a validated candidate from 32 logarithmic search intervals, not a global-optimum certificate. |
w_in | Total shaft energy input per kilogram through all stages. | kJ/kg | Total shaft energy input per kilogram through all stages. |
Q_compression | Net heat into all compressor stages per kilogram. | kJ/kg | Net heat into all compressor stages per kilogram. |
Q_interstage | Net heat rejected between stages per kilogram; negative means heating. | kJ/kg | Net heat rejected between stages per kilogram; negative means heating. |
sigma | Entropy production: entropy that was created inside the boundary rather than carried across it. Zero for an ideal process, positive for every real one, and never negative. | kJ/(kg K) | Entropy produced by compression and thermal resets per kilogram. |
Compressor or pump?
compressor: compressible working fluid, pump: liquid, the incompressible shortcut applies
The pump shortcut v(p2 - p1) is an approximation and the screen shows the exact value beside it.
Which compression model?
isentropic, actual, from an isentropic efficiency, isothermal, polytropic
Choose a compression process explicitly; each computes all stages, work and net heat.
Ideal gas or real fluid?
ideal gas, real fluid
Real fluids: four published Helmholtz fluids or approximate CO2 Peng–Robinson; reversible single gas phase pv^n model.
Exact relations:
Monotonic trends:
the isentropic efficiency is 0/0
How the app handles it: same treatment as the turbine: floor and explain
the same removable singularity as the process screen
How the app handles it: shared kernel branch, so it is fixed in one place and tested once
Fix the inlet, fix the isentropic exit from the exit pressure and the inlet entropy, divide by the efficiency to get the actual work, and fix the actual exit from the exit pressure and the raised enthalpy. Note the direction: the turbine multiplies by the efficiency and the pump divides by it, which is the whole of the difference between them.
The polytropic work integral carries the one piece of numerical repair on this screen. Its general form has an exponent that goes to zero as the polytropic exponent approaches one, so a power raised to it approaches one and subtracting one from that destroys the answer, while the factor in front grows without bound to multiply what is left. Writing the small quantity with the standard library's exponential-minus-one function computes it directly and never forms the difference, so the general branch now joins the logarithmic one smoothly rather than merely finitely. The isothermal case is still a separate branch, because it is the exact answer to a different integral rather than a limit of this one.
That expression also carries the project's clearest illustration of why layer two exists. A missing factor of a thousand sat in it undetected, because every test it had compared polytropic work against polytropic work -- ratios between exponents, the ordering of the four models, continuity at the seam -- and a units error cancels out of every one of them. It was found by an independent implementation of the same integral disagreeing by exactly a thousand.
Read the pump and the compressor as the same relation over two very different specific volumes. That comparison is the point of putting them on one screen, and it is what explains why the back work ratio of a vapour plant is a fraction of a per cent while a gas turbine's is a third.
For the pump, compare the shortcut against the exact enthalpy difference. The gap is the error you are accepting when you use the shortcut, and it is visible rather than assumed small.
The efficiency displayed beside a compressor result is a check, not an input being echoed: it is recomputed from the states, so if it does not match what you asked for, the exit state you supplied is not the one that efficiency implies.
Two streams exchanging energy, solvable for any one of the four terminal states or either flow rate. Direct-contact mixing is the same balance with one stream out instead of two.
An adiabatic exchanger transfers energy between two streams and to nowhere else, so the energy given up by the hot stream equals the energy taken up by the cold one. That is the whole first-law content. The second law then adds something the first law cannot see: the streams may not cross in temperature, and the transfer across whatever temperature difference remains destroys work potential even though nothing moves and nothing is thrown away.
Write the steady-flow balance over the whole exchanger with no work and no heat to the surroundings. Each stream contributes its mass flow times its enthalpy change, and the two contributions sum to zero. With four terminal states and two flows there are six quantities and one equation, so five have to be given and the sixth follows -- which is why the unknown is a choice on this screen rather than a fixed output.
Direct-contact mixing is the same balance with one stream fewer at the exit. That is a structural difference, not a display option: the non-mixing case has four terminal states and the mixing case has three, and they do not share an unknown. In the mixing case the exit temperature comes out of the balance rather than being asked for, and it must land between the two inlet temperatures -- which it does automatically, and which is worth asserting because it is the one case where the check is free.
The entropy production follows from the same terminal states: the entropy carried out by both streams minus the entropy carried in. A zero terminal approach alone does not imply zero total entropy production. Reversible heat transfer requires zero local temperature difference throughout the entire heat-transfer path; for nonzero duty it is an ideal limiting case.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | Non-mixing: independent hot and cold fluid choices; mixing: both streams share the first selected fluid. |
mdot1 | Mass flow rate. | kg/s | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
mdot3 | Mass flow rate. | kg/s | — |
p3 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
T3 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
T4 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
Qdot | Rate of heat transfer. | kW | Q̇=ṁₕ(h₁-h₂) |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
T4 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
mdot | Mass flow rate. | kg/s | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Recovered or supplied inlet temperature. |
T3 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Recovered or supplied inlet temperature. |
approach_terminal | The smaller temperature gap at the two exchanger ends. | ΔK | Non-mixing only: smaller terminal temperature difference. |
approach_sampled | The smallest temperature gap among the evaluated exchanger points. | ΔK | Non-mixing only: minimum at the sampled heat-load points, not a continuous pinch guarantee. |
Q_at_minimum | Transferred heat rate at the smallest sampled temperature gap. | kW | Non-mixing only: heat-load coordinate of the sampled minimum. |
sigmadot | Rate of entropy production. | kW/K | Both streams together, or the mixing control volume. |
r_energy | Signed residual of the stated energy balance; zero within numerical resolution for a closed balance. | kW | Rate balance residual. |
Which quantity is being solved for?
a terminal temperature: hot inlet, hot exit, cold inlet or cold exit, a flow rate, hot or cold
Exactly one of the four terminal temperatures or two flow rates is unknown. The other five determine it from the energy balance. Duty is always a computed output.
Mixing or non-mixing?
non-mixing: two streams stay separate, four terminal states, direct contact: streams combine, three terminal states
The mass balance differs, so this is a structural branch and not a display option.
Exact relations:
Monotonic trends:
The local heat-transfer driving temperature approaches zero; this alone does not imply zero total entropy production.
How the app handles it: Warn on a small terminal approach, report total entropy production, and distinguish the terminal difference from the sampled minimum along the counterflow heat-load path.
Fix the five supplied terminal temperatures and flow quantities, and solve the balance for the sixth -- by inverting from pressure and enthalpy where the unknown is a temperature, or by division where it is a flow.
Fixing a state from pressure and enthalpy rather than by inverting enthalpy in temperature matters here, and the mixing case is why. A direct-contact mixer fed steam and liquid water lands on the saturation line, where pressure and temperature do not fix a state at all: every quality shares the same pair. Inverting enthalpy in temperature finds the temperature and then loses the quality, and every entropy computed from it comes back as nothing. That is not an edge case for this screen -- an open feedwater heater is a direct-contact mixer whose whole job is to land on the saturation line.
A temperature cross is refused, not noted. The energy balance alone permits the cold stream to leave hotter than the hot stream entered -- energy is conserved either way -- and it is the single commonest way a heat-exchanger answer comes out plausible-looking and impossible.
The closure residual is reported rather than assumed zero. A balance that does not close is a balance with a term missing, and the number says so before any duty is read.
The accepted non-mixing balance is checked on a counterflow heat-load coordinate. At each load, both streams are reconstructed from pressure and enthalpy, preserving two-phase water states. The path includes 65 equally spaced heat-load points and the water saturated-liquid and saturated-vapour enthalpy breakpoints. A sampled internal temperature cross is refused even if both terminal differences and total entropy production appear acceptable. The graph marks the sampled minimum and reports it separately from the smaller terminal difference; finite sampling is not a continuous global minimum proof.
Direct-contact mixing requires the same fluid and pressure at both inlets. Its graph connects the two inlet temperatures to the shared outlet as a terminal-state schematic, not a spatial mixing trajectory. Known flows must be positive and finite, only the chosen unknown may be blank, and overflow or failure to close the energy balance is refused.
Read the closure line first. It should be zero to rounding; if it is not, one of the five supplied quantities does not belong with the other four.
Then read the entropy production, because it is where the irreversibility of this device hides. Nothing moves, nothing is thrown away, the energy balance closes to machine precision, and the whole terminal temperature difference is being paid for in destroyed work potential. That number is what the exergy screens will later turn into kilowatts of lost work.
A refusal on a temperature cross is a second-law refusal, not an arithmetic one. The numbers you entered conserve energy perfectly well; they just describe something that does not happen.
Constant enthalpy across a restriction. The same screen carries the throttling calorimeter, which turns a pressure drop into a measurement of quality, and the Joule-Thomson coefficient, whose sign decides whether throttling cools or warms.
A restriction does no work and, being short, exchanges no appreciable heat. The steady-flow balance then says the enthalpy is unchanged across it. That is the entire model, and everything interesting about a throttle follows from what constant enthalpy does not imply: it does not imply constant temperature, and whether the temperature falls or rises is a property of the substance rather than of the valve.
Drop the work, the heat and the mechanical terms from the steady-flow balance and the exit enthalpy equals the inlet enthalpy. The exit pressure is lower, so the exit state is fixed by the pair of pressure and enthalpy -- which for a substance near its saturation line commonly means the stream leaves partly vaporised even though nothing was heated.
The temperature change is governed by the derivative of temperature with respect to pressure at constant enthalpy. Expanding it in measurable quantities gives the specific volume over the specific heat times the quantity temperature-times-volume-expansivity minus one. The sign is the whole answer. Positive means throttling cools; negative means it warms. The condition for the sign to change is that the volume expansivity equals the reciprocal of the temperature, so the inversion temperature falls out of this expression rather than being a separate correlation.
An ideal gas has a volume expansivity of exactly the reciprocal of the temperature at every state, so the bracket vanishes identically: throttling an ideal gas does not change its temperature at all, and the whole gas is at its inversion temperature everywhere. The app returns a hard zero for that case rather than evaluating the expression numerically, because a numerically evaluated zero is whatever the round-off happened to be and invites somebody to read meaning into its sign.
The same constant-enthalpy line is what makes a throttling calorimeter work: expand a wet sample far enough that it becomes superheated, measure its downstream pressure and temperature, and the enthalpy you read there is the enthalpy it had upstream -- from which the upstream quality follows by the lever rule.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
x1 | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | - | — |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Active only when the selected inverse/supplied-state direction uses exit temperature; otherwise calculated. |
mdot | Mass flow rate. | kg/s | finite and non-negativeMass-flow rating of the water or real-refrigerant forward process; entropy production is reported as a rate. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
h2 | Specific enthalpy: internal energy plus pressure times specific volume. It exists because that combination appears every time a substance flows across a boundary, so it is a bookkeeping convenience that behaves like a property. | kJ/kg | Exit enthalpy on a mass basis; water uses composition.throttle_operation.Operation.exit. |
x1 | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | - | The calorimeter reading: upstream quality from downstream temperature and pressure. |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Exit temperature from the selected real-fluid constant-enthalpy state; water uses composition.throttle_operation. |
mu_JT | Joule-Thomson coefficient: how much the temperature changes per unit pressure drop in a throttling process. Its sign decides whether throttling cools or warms, and refrigeration only works where it is positive. | K/MPa | μ_J=(1/c_p)[T(∂ v/(∂ T))_p-v] Local single-phase coefficient from the same EOS and cp. At saturation supply quality; no single-phase coefficient is assigned. |
sigmadot | Rate of entropy production. | kW/K | Mass-flow times mass-specific entropy increase; water uses composition.throttle_operation.Operation.entropy_rate. |
Task
find the downstream state, measure upstream quality (calorimeter), map the inversion locus
Water/steam forward state and saturated-upstream calorimeter; R134a, NH3, propane and R22 forward throttling use the Helmholtz EOS. The separate inversion map offers four cubic equations and CO2/N2/CH4 on the selected vapour root.
Sign of the Joule-Thomson coefficient
positive: throttling cools, negative: throttling warms
The inversion curve separates the two, and a refrigeration cycle only works on the cooling side. Not a choice -- the state decides it.
Which fluid for the downstream-state calculation?
water, R134a, NH3, propane, R22, CO2
Water uses IF97; the four refrigerants use their published Helmholtz equations; CO2 uses a disclosed approximate Peng–Robinson model above its triple-point temperature. Calorimeter measurements remain water/steam.
Exact relations:
Monotonic trends:
the coefficient passes through zero, so the relative error in it is unbounded there
How the app handles it: locate the locus by bracketing the sign change rather than by dividing; the inversion-temperature and inversion-pressure solvers use this method.
the calorimeter cannot resolve upstream quality at all
How the app handles it: refuse the measurement and say the downstream state must be superheated for the method to work
Fix the inlet, then fix the exit from the exit pressure and the inlet enthalpy. That inversion goes through the two-phase test first, because inside the dome enthalpy is constant along the isobar and not invertible in temperature.
The entropy production is computed from the two states directly: a throttle transfers no heat, so the entropy carried out less the entropy carried in is entirely production. It is strictly positive for any finite pressure drop, which is the mathematical form of the statement that a throttle is the only device in this product whose exergetic efficiency is zero by construction -- it produces nothing and destroys everything it drops.
The inversion locus, where the coefficient is available from a real-gas model, is located by bracketing the sign change rather than by solving for a zero of the coefficient. Near the locus the coefficient's relative error is unbounded while its sign is not, so working with the sign is the better-conditioned problem. The search window is scanned for the sign change rather than bracketed at its two ends, because the ends are not always computable -- the caloric polynomials stop at 200 K, and an earlier version took its lower bound at 60 K, got nothing there, and reported no inversion temperature for any substance. A bracket whose endpoint cannot be evaluated is not a bracket.
Read the exit state, not the exit temperature. For water near saturation the interesting thing that happens across a valve is that some of the liquid flashes, and the quality is what says how much.
The entropy production is the number that makes this device's role in a cycle visible. It is why a refrigeration cycle with a throttle can never reach its reversible bound, and it is what an expander would recover.
If you are throttling a gas and expecting cooling, check which side of its inversion temperature you are on. Above it, throttling warms -- which is not a curiosity but the reason hydrogen and helium have to be pre-cooled before any liquefaction cycle will work on them at all.
Charging and discharging a vessel. The adiabatic-charge result, that the final internal energy equals the supply enthalpy, is the surprise of the chapter and the screen presents it as one rather than burying it in a number.
The unsteady form of the energy balance for a control volume: the change in the energy stored inside equals the heat and work crossing the boundary plus the energy carried in by whatever entered minus the energy carried out by whatever left. The stream carries enthalpy, not internal energy, because pushing a parcel of fluid across the boundary takes flow work that the fluid behind it supplies -- and for a vessel being filled, that flow work is the whole surprise of the topic.
For a rigid adiabatic vessel with no work, the balance says the final mass times its internal energy minus the initial mass times its internal energy equals the mass admitted times the supply enthalpy. Start from an evacuated vessel and the initial term vanishes, the mass admitted is the final mass, and it cancels: the final specific internal energy equals the supply specific enthalpy exactly.
For the ideal-gas branch, the contents end hotter than the line even without heat input. For an ideal gas with constant specific heats the internal energy is the specific heat at constant volume times temperature and the enthalpy is the one at constant pressure times temperature, so the final temperature is the specific heat ratio times the supply temperature -- air from a 300 K line ends near 420 K in the tank. Students disbelieve it, and being able to drag the supply temperature and watch the ratio stay put is worth more than the derivation.
The reason is the flow work. Pushing each parcel into the tank takes the product of pressure and specific volume of work done by whatever is behind it in the line, and that work has nowhere to go but into the internal energy of what is already inside.
Discharging is the harder half and gets a different treatment. The escaping stream leaves at the state of the vessel, which is changing while it leaves, so the balance is a differential relation rather than an algebraic one. Treating it as a single algebraic step is not a coarser version of the same thing -- it is the assumption that the whole discharge leaves at the initial enthalpy, which is a different physical claim and gives a visibly different answer.
For the stated rigid, uniform, adiabatic discharge with no work, substitute v=V/m into d(mu)=h dm. Using h=u+pv gives du+p dv=0. The thermodynamic identity T ds=du+p dv then gives ds=0 for the remaining fluid. The final state can therefore be resolved by pressure and the initial specific entropy, including equilibrium liquid-vapor mixtures. This conclusion does not assert that the external jet, valve or surroundings are reversible.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | — |
V | Volume: the space the whole system occupies, as opposed to the space one kilogram of it occupies. | m^3 | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | Initial vessel state; omitted for initially evacuated charging. |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Initial vessel state; omitted for initially evacuated charging. |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
p0 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | Supply-line state. Supply state used only while charging. |
T0 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Supply state used only while charging. |
Qcv | Heat transferred into a control volume over the period being considered. | kJ | Charging only; total heat is positive into the vessel, total shaft/electrical work is positive out. Discharge fixes both to zero. |
Wcv | Work taken out of a control volume over the period being considered. | kJ | Charging only; total heat is positive into the vessel, total shaft/electrical work is positive out. Discharge fixes both to zero. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
m2 | Mass of the system or of the sample being considered. | kg | — |
u2 | Specific internal energy: the energy stored in one kilogram of a substance by the motion and arrangement of its molecules, with no reference to where the substance is or how fast it is moving. | kJ/kg | — |
mdot_total | Total mass transferred over the whole transient period, as opposed to the instantaneous rate. | kg | — |
U_vessel_initial | Initial total internal energy. | kJ | Initial total internal energy. |
U_vessel_final | Final total internal energy. | kJ | Final total internal energy. |
E_transport_net | Net transported energy signed into the vessel. | kJ | Net transported energy signed into the vessel. |
E_transport_sampled | Discharge diagnostic trapezoidal integral of h dm. | kJ | Discharge diagnostic trapezoidal integral of h dm. |
E_transport_delta | Sampled discharge transport minus the endpoint balance. | kJ | Sampled discharge transport minus the endpoint balance. |
E_vessel_residual | Final minus initial energy less heat minus work and net transport. | kJ | Final minus initial energy less heat minus work and net transport. |
Charging or discharging?
charging from a supply line at a fixed state, discharging to the surroundings, exit state tracks the vessel
In discharge the exit enthalpy changes as the vessel empties, so the balance is an integral and not an algebraic step. That distinction is the whole difficulty of the section.
Exact relations:
Monotonic trends:
the initial mass is zero and any expression dividing by it fails
How the app handles it: Use u2 = supply enthalpy only for an evacuated adiabatic zero-work charge; invert the actual property model, including water quality.
A constant supply cannot charge the vessel above line pressure; equal pressure does not prescribe a flow-rate history.
How the app handles it: Use the specified final pressure in the energy balance. Already equal initial, final and supply pressures with Q−W=0 preserve the initial state exactly.
Charging uses the scaled residual u2 − h_supply − C v2 = 0, with C = [(m1/V)(u1 − h_supply) + (Q − W)/V]. This avoids losing the root when a small vessel makes every unscaled total vanish. An evacuated zero-net-transfer case directly inverts u2 = h_supply; the general water calculation also solves quality inside the saturation dome. Actual model temperature limits are used. Every root is checked again against the scaled residual, finite and resolved mass, the direction of transfer and the total energy balance. A saturation discontinuity is never accepted as a root.
Discharge resolves the remaining contents at constant specific entropy. The final state is independent of the sampling count. A separate trapezoidal integral of h dm along logarithmically spaced pressures estimates net transported energy; its signed difference from U2 − U1 is displayed. This is a convergence diagnostic, not the equation used to determine the final temperature. The native entry uses 400 segments.
Mass differences and discharge transport-energy differences must resolve against their original stored totals. A nonzero pressure change below that resolution is refused. Already equal vessel and line pressures with zero Q−W preserve the exact initial state with zero mass transfer. Rigid volume removes moving-boundary work, but does not remove electrical or shaft work: charging accepts their signed total W (positive out).
Read positive mass transferred as mass admitted on charging and mass removed on discharge. Net transported ENERGY is signed into the vessel and can be negative because enthalpy shares a model-dependent reference. The total-energy chart uses ΔU = Q − W + net transport throughout; it never mixes kJ/kg with kJ.
An evacuated adiabatic charge with zero work also shows final specific internal energy and supply specific enthalpy as two equal bars. For an ideal gas this implies a temperature rise. Water can flash and end colder while preserving the same u2 = h_supply identity.
For discharge, compare the sampled transport discrepancy with the balance-derived total. Refining the samples tests quadrature; the final-state entropy constraint remains the same.
The bound every other cycle screen is measured against, and the three-way verdict on a claimed cycle: impossible, reversible, or irreversible.
No cycle exchanging heat with two reservoirs can be more effective than a reversible one between the same two, and every reversible cycle between the same two is equally effective. The consequence is that the bound depends on nothing but the two temperatures -- not on the working fluid, not on the hardware -- which is what makes it a bound rather than a benchmark.
Take a reversible cycle between two reservoirs. Because it is reversible, the cyclic integral of heat divided by boundary temperature is zero, which for two reservoirs is the heat supplied over the hot temperature equalling the heat rejected over the cold one. Substituting that ratio into the first-law efficiency gives one minus the temperature ratio; taking the same substitution into the two coefficients of performance gives the cold temperature over the span and the hot temperature over the span. The three are one result read three ways, and the identity that the heat-pump bound exceeds the refrigeration bound by exactly one survives from the energy balance unchanged.
Temperatures are absolute, and that is not a formality. In degrees Celsius these expressions return plausible-looking numbers that are simply wrong, and it is the commonest single error on this screen.
The Clausius residual is the more interesting quantity. For a cycle exchanging heat with two reservoirs it is the heat supplied over the hot temperature minus the heat rejected over the cold one, and it equals minus the entropy the cycle produced. Its sign is therefore a verdict rather than a measurement: positive means the claimed cycle destroys entropy and cannot exist, zero means internally reversible, negative means irreversible and says by how much.
For finite positive heat-engine inputs, this sign test and the efficiency bound are equivalent. The entropy residual additionally measures the lost work potential when multiplied by an environmental temperature. Negative heat magnitudes and reverse or zero-work cycles require a different direction convention; the actual-cycle entry refuses those inputs before giving a verdict.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
TH | Temperature of the hot reservoir. | K | TH > TC |
TC | Temperature of the cold reservoir. | K | TC > 0 |
Qin | Total heat supplied to a cycle over one complete circuit, counted as a positive quantity. | kJ | — |
Qout | Total heat rejected by a cycle over one complete circuit, counted as a positive quantity. | kJ | — |
Wcycle | Net work produced or consumed over one complete circuit of a cycle. | kJ | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
eta_max | The largest thermal efficiency any device can have between the two given reservoir temperatures. | - | η_max=1-T_C/T_H |
beta_max | The largest refrigeration coefficient of performance possible between the two given temperatures. | - | β_max=T_C/(T_H-T_C) |
gamma_max | The largest heat pump coefficient of performance possible between the two given temperatures. | - | γ_max=T_H/(T_H-T_C) |
sigma_cycle | Entropy produced over one complete circuit, obtained from the cycle integral of heat over boundary temperature. | kJ/K | σ_cycle=-∮δ Q/T |
verdict | The screen's judgement on whether the described process is impossible, reversible, or irreversible. | — | impossible, reversible, or irreversible |
What does the Clausius integral say?
negative production: impossible, the claim violates the second law, zero production: internally reversible, positive production: irreversible, and by how much
This is the one place in the app where the honest answer to a user's numbers may be that no such device can exist. It is stated plainly. Not a choice -- the entropy production decides which of the three holds, and the banner says which in words rather than leaving the reader to compare two ratios by eye.
Exact relations:
Monotonic trends:
both coefficients of performance diverge and the efficiency approaches zero
How the app handles it: report the divergence as an ideal limit with the span named, not as a large finite number
efficiency approaches 1 and the refrigeration coefficient of performance approaches 0
How the app handles it: state the third-law reading rather than printing the limit as an achievable value
Direct evaluation, with the guards where they belong. Non-positive temperatures and a cold reservoir above the hot one return nothing rather than a number. A vanishing span makes both coefficients of performance diverge, and the kernel returns an infinity rather than whatever large finite value the rounding produced; the screen prints that as unbounded, which is a physical answer and not a failure, with the two temperatures that produced it on the same screen.
The efficiency uses the temperature difference divided by the hot temperature to avoid subtracting two nearly equal dimensionless numbers. Infinite input temperatures are not a physical infinite-reservoir limit and are refused. The graph selector shows each bound against TC/TH. The efficiency line includes its limiting endpoints; the two COP curves stop at 0.99 and explicitly disclose the divergence toward 1. A current ratio beyond that interval is identified as outside the graph, while its numeric bound is retained.
The verdict is a display decision and lives in the layer both front ends share rather than being written once in each. It is measured against the entropy the cycle takes in -- the heat supplied over the hot temperature -- which is the natural scale and makes the ruling independent of the units the heat was entered in. Where the threshold sits, what the wording is and which colour band it belongs to are all decided in one place, tested without a display, and compared across the language boundary once.
The verdict is the output, and it has three values rather than two. A claimed cycle can be irreversible, which is normal; internally reversible, which is a limit; or impossible, which means the numbers you entered describe something that does not happen. This is the one place in the app where the honest answer to a user's numbers may be that no such device can exist, and it is stated plainly rather than softened into a warning.
The three bounds are worth reading together rather than one at a time. They come from the same substitution, and if a power cycle's efficiency and a heat pump's coefficient of performance at the same temperatures do not sit in the relation the screen prints, one of the temperatures is not absolute.
Entering the actual heat quantities is optional. Only a finite heat-engine claim with Qin > Qout ≥ 0 and TH > TC > 0 gets a ruling and a point on the efficiency graph. Refrigerator and heat-pump curves never borrow that point. Use Cycle Accounting for an actual reverse cycle. All three bound ratios remain visible while the graph selector changes only the plotted quantity.
Entropy production is the output of this screen, not a by-product. Its sign is the answer to the question the user is really asking.
Entropy is not conserved. The change in the entropy of a system equals what crossed its boundary with heat plus what was produced inside it, and the production is never negative. That last clause is the second law in the form this screen uses, and the sign of the production is the answer the user is actually after -- not a by-product of computing something else.
For a closed system, integrate the heat transfer divided by the temperature of the boundary it crosses, and subtract that from the entropy change of the contents. What is left is the production. For a control volume at steady state nothing accumulates, so the entropy carried out by the streams, less the entropy carried in, less the entropy that entered with heat, is again the production.
The boundary temperature is where the mistakes are. Entropy leaves with heat at the temperature of the boundary the heat crosses -- not the temperature of the system and not the temperature of the reservoir. Those three coincide only for a reversible transfer, which is precisely the case where the production is zero and the distinction cannot be seen. Every other case, they differ, and using the wrong one moves the answer by the amount you were trying to measure.
A boundary at several temperatures is handled by summing the contributions segment by segment. A single boundary is the same calculation with one segment, so the two are one implementation rather than two branches that can drift.
The production and the entropy change are commonly comparable in size and opposite in effect, so their difference is where the significant figures go. That is why the app carries the scale of the terms that were differenced into its own verdict, instead of comparing the production against a fixed small number.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | — |
s1 | Specific entropy: the property that counts how much of a system's energy is no longer available to do work. It increases in every real process and stays put only in an ideal one. | kJ/(kg K) | — |
s2 | Specific entropy: the property that counts how much of a system's energy is no longer available to do work. It increases in every real process and stays put only in an ideal one. | kJ/(kg K) | — |
m | Mass of the system or of the sample being considered. | kg | — |
mdot | Mass flow rate. | kg/s | — |
Qdot | Rate of heat transfer. | kW | — |
Tb | Temperature of the boundary where the heat crosses. Not the temperature of the system, and using the system's temperature instead is the standard error. | K | — |
Q | Heat transferred across the boundary, taken as positive when it goes into the system. | kJ | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
DeltaS | Change in total entropy between the two states. | kJ/K | — |
sigma | Entropy production: entropy that was created inside the boundary rather than carried across it. Zero for an ideal process, positive for every real one, and never negative. | kJ/K | σ=S_2-S_1-∫δ Q/T_b |
sigmadot | Rate of entropy production. | kW/K | — |
verdict | The screen's judgement on whether the described process is impossible, reversible, or irreversible. | — | impossible, reversible, or irreversible |
Closed system or control volume?
closed system, entropy change of the contents, control volume at steady state, entropy carried by the streams
How is the boundary temperature specified?
single temperature, piecewise constant, linear in transferred heat
For each varying segment temperature is linear in its signed transferred-heat fraction. The entropy integral is analytic and uses the logarithmic mean of absolute endpoint temperatures, not their arithmetic mean. Steady-flow inputs describe a spatial heat-rate distribution.
Exact relations:
Monotonic trends:
the balance is a difference of comparable terms and a genuinely reversible process can round to a small negative number
How the app handles it: an absolute floor scaled to the magnitude of the terms being differenced; below the floor, report reversible rather than a signed value
the entropy difference cancels, the same conditioning problem as the process screen
How the app handles it: shared kernel path with the factored evaluation, so it is tested once
Sum the segment contributions, subtract, and report each part separately: the entropy change of the contents, the transfer, and the production. Reporting all three rather than only the production is what lets a reader see which one is carrying the answer.
Three verdicts are distinguished, and the thresholds are relative to the terms that were differenced. A production below the floor is reported as reversible rather than as a signed value near zero -- a genuinely reversible process rounds to a small number of either sign, and printing that number invites somebody to read meaning into it. A production clearly below zero is reported as impossible, with the three candidate causes named: a wrong boundary temperature, two states that are not both reachable, or a heat transfer entered with the wrong sign.
The steady-flow form checks the mass balance before it does anything else, and refuses with both totals shown when the flows do not match.
Read the three lines as one sentence: the contents changed by this much, this much crossed the boundary, and the difference is what the process made. If the transfer and the change are nearly equal, the production is a small difference of large numbers and its last digits are not meaningful.
The verdict tells you which of three worlds you are in. Irreversible is ordinary. Reversible is a limit, not a description of anything real, and the app says so in those words. Impossible means one of your inputs is wrong, and the note names the three usual candidates.
If you entered a boundary temperature in Celsius, the refusal you get names that possibility explicitly. It is the most frequent single error here.
The bridge between the ideal device and the real one, solvable in either direction: efficiency from two known states, or the exit state from a declared efficiency.
A reversible adiabatic device changes the fluid's state at constant entropy. That gives a reference exit state -- same entropy as the inlet, at the actual exit pressure -- against which a real device can be measured. The isentropic efficiency is the ratio of the actual to that reference, and the whole content of this screen is which of the two goes on top.
Fix the inlet. The isentropic exit is the state at the exit pressure whose entropy equals the inlet's, and it is computed by one function used by the turbine screen, the pump screen and this one, so all three measure against the same reference.
For a device that produces work the ideal is the denominator: friction can only lose some of what was available, so the ratio of actual work to reversible work is at most one. For a device that consumes work the ideal is the numerator: friction can only make you pay more than the reversible minimum, so the ratio of reversible work to actual work is at most one. Both give a number between zero and one, which is exactly why the flipped ratio is so hard to catch -- inverting an eighty per cent machine gives a hundred and twenty-five per cent, which announces itself, but inverting a hundred and twenty-five per cent machine gives eighty, which does not.
The nozzle efficiency is defined on kinetic energy rather than on velocity, and those are different numbers: the velocity ratio is the square root of the energy ratio. The diffuser's is the pressure recovery over the kinetic energy given up for it. Each is written as its own function rather than one general ratio used five ways, because the orientation is the thing that gets wrong and a shared function would hide which orientation was intended.
Read the other direction and the same relation gives the exit state from a declared efficiency, which is what every cycle screen needs: scale the isentropic enthalpy change, add or subtract it, and fix the state from the exit pressure and the result.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | — |
device | Which device the efficiency definition is being applied to. | — | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Active only when the selected inverse/supplied-state direction uses exit temperature; otherwise calculated. |
eta_t | Isentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced. | - | 0 < eta_t <= 1 |
eta_c | Isentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken. | - | 0 < eta_c <= 1 |
eta_n | Isentropic nozzle efficiency: actual kinetic energy at the exit divided by what an ideal expansion would have produced. | - | 0 < eta_n <= 1 |
h_exit_given | Measured turbine outlet enthalpy per unit mass. | kJ/kg | Measured exit enthalpy; optional alternative to T or x. |
x_exit_given | Measured vapor mass fraction at the turbine outlet. | - | Measured wet-water exit quality. |
x_inlet_given | Water inlet quality; zero for saturated-liquid pump inlet. | - | Water inlet quality; zero for saturated-liquid pump inlet. |
V_inlet_given | Nozzle inlet speed. | m/s | Nozzle inlet speed. |
V_exit_given | Measured nozzle exit speed. | m/s | Measured nozzle exit speed. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
h2 | Specific enthalpy: internal energy plus pressure times specific volume. It exists because that combination appears every time a substance flows across a boundary, so it is a bookkeeping convenience that behaves like a property. | kJ/kg | Actual exit station for h; isentropic exit station for h_2s, both rendered and plotted separately. |
h_2s | The exit enthalpy an ideal, entropy-preserving process would have reached at the actual exit pressure. The reference the real exit is measured against. | kJ/kg | s₂ₛ=s₁, p₂ₛ=p₂ Actual exit station for h; isentropic exit station for h_2s, both rendered and plotted separately. |
eta_t | Isentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced. | - | — |
eta_c | Isentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken. | - | — |
eta_n | Isentropic nozzle efficiency: actual kinetic energy at the exit divided by what an ideal expansion would have produced. | - | — |
x2 | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | - | — |
e_actual | Nozzle: actual exit kinetic energy. Other devices: magnitude of actual specific work. | kJ/kg | Nozzle: actual exit kinetic energy. Other devices: magnitude of actual specific work. |
e_isentropic | Nozzle: ideal exit kinetic energy. Other devices: magnitude of ideal specific work. | kJ/kg | Nozzle: ideal exit kinetic energy. Other devices: magnitude of ideal specific work. |
vel | Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy. | m/s | Nozzle only: actual exit speed. |
vel_isentropic | Nozzle only: ideal exit speed. | m/s | Nozzle only: ideal exit speed. |
sigma | Entropy production: entropy that was created inside the boundary rather than carried across it. Zero for an ideal process, positive for every real one, and never negative. | kJ/(kg K) | Specific entropy increase across the adiabatic device. |
Which device?
turbine, nozzle, compressor, pump
The ratio is inverted between work-producing and work-consuming devices, which is the most common place to get a factor upside down, and `Efficiency.isentropicWorkRatio` exists so that this screen does not re-decide it per device.
Which quantity is supplied?
efficiency from two states, exit state from an efficiency
Restored historical direction obligation in this screen. Adiabatic IF97 water turbine/pump/nozzle and variable-cp ideal-gas compressor. Nozzle supplied state is measured exit velocity.
Which water inlet property is supplied?
temperature, quality
Water devices only; quality zero fixes a saturated-liquid pump inlet.
Which actual water exit property is supplied?
enthalpy, temperature, quality
Measured-state direction only. Compressor offers enthalpy/temperature; nozzle uses speed. Wet water exits require enthalpy or quality.
Exact relations:
Monotonic trends:
the definition is 0/0 and the efficiency is meaningless rather than large
How the app handles it: floor the denominator and state that the pressure ratio is too small for an efficiency to be defined
the enthalpy derivative with respect to pressure is discontinuous across the line
How the app handles it: detect the crossing and evaluate on the correct side rather than interpolating through it
First fix the inlet and the isentropic exit at the selected outlet pressure. In measured-exit mode the actual state or nozzle exit speed determines the device-specific efficiency ratio. In efficiency-input mode the ratio determines actual exit enthalpy or speed and the property solver recovers the state. Water quality is an explicit alternative to ambiguous saturation p–T input.
The reference energy change must be positive and numerically resolved. Nearly equal pressures, incompatible measurements or an outlet outside the property domain produce an explanation instead of a misleading ratio.
Read which side the ideal is on before reading the number. The screen names the device and orients the ratio for you, and that orientation is the single most common place in this subject to get a factor upside down.
Compare the two exit states rather than only the efficiency. The gap between them on the temperature-entropy plane is the irreversibility; the gap in enthalpy is the work lost or the extra work paid.
If the app declines to define an efficiency, the pressure ratio is too small for the definition to mean anything. That is an answer.
Why pumping a liquid costs so little and compressing a gas costs so much: the same integral, over specific volumes three orders of magnitude apart.
For an internally reversible steady-flow device the work per unit mass is minus the integral of specific volume with respect to pressure. One integral, evaluated over specific volumes three orders of magnitude apart, is why pumping a liquid costs almost nothing and compressing a gas costs a great deal. Seeing that as one fact rather than as two unrelated formulas is what this screen is for.
Start from the steady-flow energy balance and the entropy relation for an internally reversible process. Eliminating the heat between them leaves the work as minus the integral of specific volume with respect to pressure, plus the kinetic and potential changes, which for the devices on this screen are negligible.
The relationship to boundary work is worth stating, because the two get confused constantly. Boundary work is the area under the curve of pressure against volume; reversible steady-flow work is the area beside it. They differ by the change in the product of pressure and volume, and they coincide only when the polytropic exponent is one. This screen is about the second one, and the polytropic form carries a factor of the exponent in front that the boundary-work form does not have -- writing one of those two expressions and using it for both is a common enough error that the two live in different places with different names.
Three treatments of the specific volume along the path give three answers. Take it constant and the integral is minus the volume times the pressure rise: the shortcut that makes a feedwater pump cost half a per cent of what the turbine returns, and exact to about a per cent for liquid water over a hundred atmospheres. Take a polytropic path and the integral has a closed form. Sample the path from an equation of state and integrate numerically when neither of the first two is honest.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
v_liquid | Given constant specific volume for the independent incompressible shortcut. | m^3/kg | positive finiteGiven constant specific volume for the independent incompressible shortcut. |
p_liquid_in | Incompressible shortcut inlet pressure. | MPa | Incompressible shortcut inlet pressure. |
p_liquid_out | Incompressible shortcut outlet pressure. | MPa | Incompressible shortcut outlet pressure. |
v_gas_in | Given initial specific volume for the independent isothermal/polytropic gas shortcuts. | m^3/kg | Given initial specific volume for the independent isothermal/polytropic gas shortcuts. |
p_gas_in | Gas-shortcut inlet pressure. | MPa | Gas-shortcut inlet pressure. |
p_gas_out | Gas-shortcut outlet pressure. | MPa | Gas-shortcut outlet pressure. |
n | Polytropic exponent: the constant in a path where pressure times volume to this power stays fixed. Zero gives constant pressure, one gives constant temperature for an ideal gas, and the specific heat ratio gives an isentropic path. | - | Gas-shortcut polytropic exponent. |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | Water IF97 isentrope inlet pressure. |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Water IF97 isentrope inlet temperature. |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | Water IF97 isentrope outlet pressure. |
samples | Requested logarithmic-pressure quadrature nodes. | - | integer 2 to 401Base logarithmic-pressure quadrature nodes. Resolved saturation intersections are inserted in addition, so actual node count may be greater. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
w_rev | Reversible work per unit mass for a steady-flow device. | kJ/kg | w=-∫₁² v dp |
w_incompressible | The same work computed with the specific volume held constant, which is the shortcut used for pumps. | kJ/kg | w=-v₁(p₂-p₁) |
w_isothermal | Reversible ideal-gas isothermal shortcut using the independent gas input group. | kJ/kg | w=-p₁v₁ ln (p₂/p₁) Reversible ideal-gas isothermal shortcut using the independent gas input group. |
w_polytropic | The same work computed along a polytropic path. | kJ/kg | w=n(p₂v₂-p₁v₁)/(1-n) |
w_isentropic | Reversible adiabatic work per mass from the inlet and outlet enthalpy difference. | kJ/kg | w=h₁-h₂ Isentropic endpoint identity; compared with the sampled integral. |
w_quadrature_delta | Sampled reversible work minus the isentropic endpoint enthalpy difference. | kJ/kg | w_{sampled}-(h_1-h_2) Observed numerical discrepancy, not an uncertainty bound. |
integration_nodes | Pressure nodes actually used in the quadrature, including resolved saturation intersections. | - | Actual node count after inserting saturation intersections. |
saturation_crossings | Resolved liquid/vapour saturation intersections inserted into a property path. | - | Number of explicitly inserted resolved saturation intersections. |
How is specific volume treated along the path?
constant, the incompressible shortcut, polytropic, evaluated from the equation of state and integrated numerically
Three independent input groups: incompressible shortcut, ideal-gas isothermal/polytropic shortcuts, and water IF97 isentrope. Only the last group compares quadrature, inlet-volume shortcut and h1-h2 for one common physical path.
Exact relations:
Monotonic trends:
the closed form is 0/0 and the limit is the logarithmic form
How the app handles it: kernel.flow_work.polytropic calls the negative of kernel.compression.polytropic_work, which uses an exact n=1 logarithmic limit and expm1 nearby. M03 has its own separately conditioned process integral.
On a resolved equilibrium isentrope, specific volume stays continuous through saturation boundaries, but its slope can change sharply and its magnitude can vary greatly across the two-phase region.
How the app handles it: Start with the requested logarithmic-pressure mesh. Find each saturation-entropy intersection on the separate IF97 temperature regions and insert its resolved liquid/vapour state as an integration vertex. Preserve supplied endpoint pressures. Refuse possible critical-quality exclusion-band intersections and target entropies in the 623.15 K fit gap/overlap independently of the mesh count. Report actual node count, inserted crossings and observed difference from h1-h2; no rigorous quadrature-error bound is claimed.
Saturation intersections are inserted beyond the base logarithmic-pressure mesh. The two saturation-entropy branches are bracketed separately on either side of the 623.15 K IF97 fit boundary. A target entropy inside that fit's one-sided gap or overlap is refused rather than interpreted as an extra physical phase transition. A possible intersection with the existing near-critical quality exclusion band is also refused, independently of sample count. This conservative check can refuse an otherwise single-phase duty whose separation from the excluded band is not established.
The root must meet a 256-ULP entropy residual on its state scale. Supplied endpoint pressures are retained, and the displayed node count includes added intersections. Nodes split the trapezoidal integration; they do not make its remaining intervals exact or establish a rigorous quadrature-error bound.
Direct evaluation for the first two treatments. The polytropic form is the same integral the compressor screen carries, so it is one implementation and the removable singularity at unit exponent is fixed once and tested once: the isothermal branch is the exact answer to a different integral and gets its logarithm, and the general branch is written with the standard library's exponential-minus-one function so that it joins the logarithmic one smoothly rather than merely finitely. Measured in ordinary double precision against a sixty-digit reference, the naive form retains about five significant figures at an exponent one part in a million million away from one -- it has lost eleven of the sixteen it started with, and by one part in a hundred million million it retains two. The conditioned form keeps all sixteen at every one of those exponents. A continuity check a million times further out, at one part in a million, sees a relative error of a few parts in a hundred thousand million and passes comfortably, which is why nothing found this until a high-precision numerical comparison looked closer in.
The water path uses trapezoidal integration at logarithmically spaced pressure nodes. The endpoint identity h₁ − h₂ is also evaluated for this isentropic path, and the signed difference from the sampled integral is displayed. This is an observed quadrature discrepancy, not a rigorous uncertainty bound. Refine the sample count to assess convergence, especially across phase boundaries; there is no universal claim that solver error dominates quadrature error.
Compare the sampled water integral with the inlet-volume shortcut for the same duty. The v(p) plot outlines the area under specific volume against pressure on linear axes, with a horizontal guide for the constant inlet volume. The area magnitude is the sampled integral; compression gives negative work out, expansion positive. The separate gas formulas have their own inputs and must not be read as alternative answers to this water duty.
The sign convention is the same one the rest of the app uses: work is positive out. A compression therefore returns a negative number here, and the compressor screen reports the same quantity as a positive work in.
If you are comparing this against a boundary-work answer for the same two states, they will differ, and the difference is the change in the product of pressure and volume. They agree only when the exponent is one.
Stored thermomechanical exergy at two states and a complete closed-system balance against one visible environment. Heat, total work and entropy production are checked independently.
Stored exergy measures the thermomechanical work potential of a fixed mass relative to a stated environment. The initial, final and environmental states use the same property model. Environmental pressure and temperature are visible editable inputs, initially set to the standard environment.
The result includes specific and total stored exergy, their change, signed heat and work exergy, and entropy-derived destruction. Chemical exergy is excluded.
A reversible route to the environment combines the internal-energy difference, the environmental displacement term and the entropy term. Motion adds kinetic energy relative to the environment at rest; height adds potential energy relative to one common zero-height datum. Stable thermomechanical availability is nonnegative, but the total including a negative elevation datum need not be.
For the process, first form the independent energy residual from heat, total work and the changes in internal, kinetic and potential energy. Derive volume change from the same mass and endpoint specific volumes. Then compute entropy production from total entropy change minus the boundary entropy transfer. Destruction is the environment temperature times this entropy production. It is never defined by subtracting the other exergy terms until a diagram closes.
Heat into the system and work out are positive. Heat exergy changes sign with both heat direction and boundary temperature: positive heat into a boundary colder than the environment carries negative exergy. Work exergy is total work out minus the environmental displacement work. These are signed contributions on one total-energy basis.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
model | Which equation of state the screen is evaluating. | — | water IF97; ideal gas; given constant c and vThe same model and substance resolve initial, final and environment states. |
substance | Which working fluid the screen is operating on. | — | declared gas species and mixturesWater is fixed in IF97 mode; no named-material database is assumed for given c and v. |
m | Mass of the system or of the sample being considered. | kg | finite and positiveThe same mass for both states and all totals. |
T0 | Dead-state temperature: the temperature of the environment the system is eventually going to equilibrate with. Exergy is meaningless without it. | K | finite and positive; inside the selected property domainEditable environment temperature. |
p0 | Dead-state pressure: the pressure of that same environment. | MPa | finite and positive; inside the selected property domainEditable environment pressure. |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | selected property domainWater uses an explicit p,T or p,x pair; gas and given c/v use p,T. |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | selected property domainWater uses an explicit p,T or p,x pair; gas and given c/v use p,T. |
x1 | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | — | selected property domainWater uses an explicit p,T or p,x pair; gas and given c/v use p,T. |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | selected property domainWater uses an explicit p,T or p,x pair; gas and given c/v use p,T. |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | selected property domainWater uses an explicit p,T or p,x pair; gas and given c/v use p,T. |
x2 | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | — | selected property domainWater uses an explicit p,T or p,x pair; gas and given c/v use p,T. |
Q | Heat transferred across the boundary, taken as positive when it goes into the system. | kJ | finite, signedTotal heat into contents. |
Tb | Temperature of the boundary where the heat crosses. Not the temperature of the system, and using the system's temperature instead is the standard error. | K | finite and positiveConstant boundary temperature or initial endpoint of a linear-in-heat law. |
Tb_end | The final absolute boundary temperature in a declared linear-in-transferred-heat path. | K | finite and positiveActive only for the linear-in-heat boundary temperature law. |
W | Work transferred across the boundary, taken as positive when it comes out of the system. | kJ | finite, signedTotal work out; derive from first law or check the entered value. |
velocity_in | The speed of the initial contents relative to the environment at rest. | m/s | finite and nonnegativeInitial speed; environment at rest. |
velocity_out | The final speed relative to the same environment. | m/s | finite and nonnegativeFinal speed. |
elevation_in | Initial height relative to the common environmental zero-height datum. | m | finite, signedInitial elevation relative to one common environmental datum. |
elevation_out | Final height relative to the same datum. | m | finite, signedFinal elevation relative to the same datum. |
c | The user-supplied constant specific heat capacity of the incompressible idealisation. | kJ/(kg K) | finite and positiveGiven heat capacity, only for the incompressible idealisation. |
v | Specific volume: the space one kilogram of the substance occupies. The reciprocal of density, and the property that makes a gas different from a liquid. | m^3/kg | finite and positiveGiven fixed specific volume, only for the incompressible idealisation. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
E1 | Exergy of a closed system: the most work its contents could still deliver as they come to equilibrium with the stated environment. | kJ | Total initial stored exergy. |
E2 | Exergy of a closed system: the most work its contents could still deliver as they come to equilibrium with the stated environment. | kJ | Total final stored exergy. |
e1 | Exergy per unit mass of a closed system. | kJ/kg | Specific initial stored exergy. |
e2 | Exergy per unit mass of a closed system. | kJ/kg | Specific final stored exergy. |
DeltaE | Change in exergy between the two states. | kJ | Δ E=E_q-E_w-E_d Evaluated from endpoint potentials; closure checked independently. |
Eq | Exergy that came along with a heat transfer, which is less than the heat itself by the reversible factor. | kJ | E_q=∫(1-T_0/T_b)δ Q Signed heat exergy; may be negative. |
Ew | Exergy that came along with a work transfer, less whatever was spent pushing the atmosphere aside. | kJ | E_w=W-p_0Δ V Signed work exergy out; volume is derived from the two states and mass. |
Ed | Exergy destroyed: work potential that was permanently lost, equal to the dead-state temperature times the entropy produced. | kJ | E_d=T_0σ A negative value is retained as an impossible-process diagnostic, never interpreted as physical destruction. |
sigma | Entropy production: entropy that was created inside the boundary rather than carried across it. Zero for an ideal process, positive for every real one, and never negative. | kJ/K | σ=Δ S-∫δ Q/T_b Independent entropy balance. |
DeltaV | Total final volume minus total initial volume for the same mass. | m^3 | Derived total volume change. |
DeltaS | Change in total entropy between the two states. | kJ/K | Total entropy change. |
energy_residual | Heat in minus work out minus the total energy change; a closed process requires zero within numerical resolution. | kJ | R_U=Q-W-Δ U-Δ KE-Δ PE Independent first-law residual. |
exergy_residual | Heat exergy minus work exergy minus entropy-derived destruction minus stored-exergy change. | kJ | R_E=E_q-E_w-E_d-Δ E Exergy closure; not used to define destruction. |
How is the dead state specified?
standard environment at 298.15 K and 1 atm, a user-specified environment
Exergy is meaningless without a stated environment, so the screen never hides which one is in use: the dead state is two editable fields in a section of their own. They open at the standard environment -- 298.15 K and 1 atm, from named constants rather than literals -- and any other environment is typed over them, so the branch is the value of a parameter rather than a mode.
Is work derived or measured?
derive work from first law, check entered work
Derived work closes the first law only; the independent entropy balance can still refuse the process.
How is boundary temperature specified?
constant temperature, linear temperature in transferred heat
The second option evaluates both transfer integrals. A cancellation below numerical resolution refuses the net sign.
Exact relations:
Monotonic trends:
Nonzero state and process exergy can be quadratic in small differences; raw subtraction can lose their sign.
How the app handles it: Exact identical dead states return zero. Constant-c thermal availability uses a log1p-remainder series. Gas heat-capacity integrals avoid subtracting rounded polynomial offsets; tiny state steps are refused. IF97 near-dead values and unresolved two-state differences are refused with an explicit reason, without a zero clamp.
Positive heat into a cold system carries negative heat exergy; heat out carries positive heat exergy.
How the app handles it: show the sign change explicitly with an explanation, because a cold body really does have work potential
Water endpoints use IF97 with an explicit pressure–temperature or pressure–quality pair. The environment uses pressure–temperature and must itself be an unambiguous supported state. The ideal-gas model offers variable polynomial heat capacity, heat capacity fixed at a stated temperature, or the cold-air standard. The given-c/v option evaluates constant-volume caloric changes directly.
Exactly identical dead states return zero at rest and at zero elevation. The constant-c thermal term and its two-state change use conditioned logarithm remainders that retain the quadratic term near equality without subtracting two large potentials. Isothermal pressure changes in this fixed-volume model retain their exact zero energy and exergy changes. Gas energy and entropy changes integrate the selected heat capacities across coefficient seams so rounded integration constants do not introduce jumps. Very small nonzero gas state steps are still refused rather than assigned false precision. IF97 potentials remain subtractive: nonzero state availability below a scale based on the terms is refused, as are unresolved two-state changes. No universal zero clamp is applied.
For constant boundary temperature, heat exergy uses the temperature difference before division and a scaled product. The linear boundary option integrates entropy transfer and splits the heat-exergy integral where it crosses the environment temperature. If opposing contributions cancel below their numerical scale, the net sign is refused.
In derive-work mode, the first law determines total work. In check-entered-work mode it provides an independent residual. Both modes still compute entropy production independently. A negative production outside its numerical scale marks an impossible process even if energy closes. Negative diagnostic values are retained. Only a process satisfying both checks and the exergy closure receives a physical transfer chart.
Read the environment, property model and mass before comparing exergy values. Initial and final specific values are separate from their totals. The four bars are signed total ΔE, Eq, −Ew and −Ed; the three contributions sum to the stored change. They are not a nonnegative loss distribution.
Check the first-law residual, entropy production and exergy residual separately. A calculation may produce finite diagnostics while describing an impossible process. Such a case does not receive a physical transfer chart. The reported T0 times sigma remains negative when the entropy balance is negative so the conflict stays visible.
Speeds are nonnegative magnitudes; elevations share one environmental datum. Changing that datum changes initial and final total potential energy together, not the physical energy change. The stored exergy of contents colder than the environment must not be confused with the sign of heat exergy at a cold boundary.
The control-volume exergy balance and the per-component second-law efficiency. This is where a plant stops being a set of energy numbers and becomes a ranked list of where the work potential is actually being lost.
The same idea as closed-system exergy, applied to a stream. A flowing fluid carries work potential across a boundary, and the maximum work recoverable from a unit of it, as it comes to the dead state, is its flow exergy. The atmospheric-displacement term is absent because a stream does not push the atmosphere aside -- the flow work is already inside the enthalpy.
Take the enthalpy difference from the dead state, subtract the dead-state temperature times the entropy difference for the reason it was subtracted in the closed-system case, and add the kinetic and potential energies, which are wholly available. That is the specific flow exergy, and it is exactly zero at the dead state.
The control-volume balance then follows the same shape as the energy balance with one extra term. Exergy enters with the streams and with heat -- the heat carrying the reversible factor rather than itself -- leaves with the streams and as work, and the balance does not close: what is missing is destroyed, and the amount destroyed is the dead-state temperature times the entropy produced. That non-closure is the point. An energy balance always closes and therefore never tells you where anything was lost.
The exergetic efficiency is the exergy the component delivered over the exergy it was given, and what counts as the product and what counts as the input differs by component. A turbine's product is its work and its input is the drop in the stream's exergy. A compressor's product is the rise in the stream's exergy and its input is the work. A heat exchanger's product is what the cold stream gained and its input is what the hot stream gave up. Picking the wrong pairing gives a number that is not wrong arithmetically and answers a different question, which is why the app names the product and the input for whichever component is chosen rather than presenting one formula.
A throttle has an exergetic efficiency of exactly zero, by construction: it produces nothing and destroys everything it drops. That is the clearest single demonstration of what this measure asks that thermal efficiency does not.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | — |
T0 | Dead-state temperature: the temperature of the environment the system is eventually going to equilibrate with. Exergy is meaningless without it. | K | — |
p0 | Dead-state pressure: the pressure of that same environment. | Pa | — |
mdot | Mass flow rate. | kg/s | — |
component | Which component of the plant is being examined. | — | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | — |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
Qdot | Rate of heat transfer. | kW | finite signed; zero is adiabaticFirst five devices: total external heat rate, positive in. For combustion, environmental heat is solved as an output instead. |
Tb | Temperature of the boundary where the heat crosses. Not the temperature of the system, and using the system's temperature instead is the standard error. | K | finite positive when Qdot is nonzeroFirst five devices: lumped boundary temperature; combustion fixes heat exchange at its chemical reference temperature. |
Wdot | Rate of work transfer, that is, power. | kW | Calculated signed shaft power output; turbine positive, compressor/pump negative, heat exchangers/mixing/throttle/combustor zero. |
V1 | Hot or single-stream inlet speed in the fixed laboratory frame. | m/s | finite; speeds nonnegative; g positiveHot or single-stream inlet speed in the fixed laboratory frame. |
V2 | Hot/single outlet; common mixed outlet for direct mixing. | m/s | finite; speeds nonnegative; g positiveHot/single outlet; common mixed outlet for direct mixing. |
Vc1 | Cold inlet speed for a two-stream exchanger. | m/s | finite; speeds nonnegative; g positiveCold inlet speed for a two-stream exchanger. |
Vc2 | Cold outlet speed for non-mixing exchange. | m/s | finite; speeds nonnegative; g positiveCold outlet speed for non-mixing exchange. |
z1 | Hot/single-stream inlet elevation. | m | finite; speeds nonnegative; g positiveHot/single-stream inlet elevation. |
z2 | Hot/single/common-mixed outlet elevation. | m | finite; speeds nonnegative; g positiveHot/single/common-mixed outlet elevation. |
zc1 | Cold inlet elevation. | m | finite; speeds nonnegative; g positiveCold inlet elevation. |
zc2 | Non-mixing cold outlet elevation. | m | finite; speeds nonnegative; g positiveNon-mixing cold outlet elevation. |
z0 | Environmental elevation datum; environment at rest. | m | finite; speeds nonnegative; g positiveEnvironmental elevation datum; environment at rest. |
g | Positive local gravitational acceleration. | m/s² | finite; speeds nonnegative; g positivePositive local gravitational acceleration. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
ef | Flow exergy: the most work a unit of a flowing stream could deliver as it comes to the dead state, including its kinetic and potential energy. | kJ/kg | e_f=(h-h_0)-T_0(s-s_0)+V²/2000+g(z-z_0)/1000 Mass h in kJ/kg, s in kJ/(kg K), speed m/s, elevation m; fixed laboratory frame. |
Efdot | Rate at which exergy is carried by a stream. | kW | Ė_f=ṁe_f |
Eqdot | Rate at which exergy accompanies a heat transfer. | kW | Ė_q=(1-T_0/T_j)Q̇_j |
Eddot | Rate of exergy destruction. | kW | Ė_d=T_0σ̇ |
epsilon | Exergetic efficiency: what the component actually delivered as a fraction of the exergy it was given. It asks a harder question than thermal efficiency and usually gets a worse answer. | - | — |
Wdot | Rate of work transfer, that is, power. | kW | Ẇ=Q̇+Σᵢₙṁ(h+k+gz)-Σₒᵤₜṁ(h+k+gz) Displayed as signed output; mechanical units converted consistently to kJ/kg. |
Which component's exergetic efficiency?
turbine, compressor or pump, non-mixing heat exchanger, direct-contact heat exchanger, throttle, combustor
Each has its own product and its own input, and picking the wrong pairing gives an efficiency that is not wrong arithmetically but answers a different question. The screen names product and input for the chosen component.
Rate basis or per-unit-mass basis?
rate, kW, specific, kJ/kg
Which fixed-composition physical-property model?
water IF97, ideal gas NASA, ideal gas constant cp, cold air standard, R134a Helmholtz, NH3 Helmholtz, propane Helmholtz, R22 Helmholtz, CO2 Peng–Robinson
Exact relations:
Monotonic trends:
the exergy carried by that heat transfer approaches zero from either side
How the app handles it: evaluate the Carnot factor with a guarded difference and report exactly zero at equality
the efficiency ratio is 0/0
How the app handles it: return not-a-number rather than dividing, and print 'not available' on the result. A component that received no exergy has no efficiency -- it was not running -- and that is a different statement from an efficiency of zero.
No unique continuous caloric inverse exists; a negative jump also makes overlap endpoints ambiguous.
How the app handles it: Reject explicitly; do not alter the source coefficients or reference enthalpy. Local PH refinement elsewhere must resolve h within 64 ULP before returning.
Difference values may be representable but inaccurate.
How the app handles it: Require each active difference to exceed its independently applicable 128-ULP energy scale divided by 1e-6; throttle exact-zero useful product is retained. Entropy sign uses a separate thermal entropy scale.
Choose turbine, compressor, heat exchanger, direct mixing, throttle or combustor. The state solvers construct each actual stream and its reference state. Energy and entropy balances include signed heat, shaft work and the entered kinetic and potential energies before forming destruction and the component-specific resource/product ratio. Rate and specific results use the same declared reference-mass basis.
Direct mixing requires the same substance, caloric model and pressure in both streams. A non-mixing exchanger may use two different fluids; a sampled heat-load path checks temperature approach. A throttle is isenthalpic only when its external heat and kinetic/potential changes vanish. Otherwise those terms belong in the energy balance and change its recovered outlet enthalpy.
The combustor uses the selected CH4, H2 or CO fuel, dry-air supply and a consistent Model I or Model II chemical reference. Complete frozen products supply the reacting energy/entropy account, with explicit fuel, air and product mechanical energies. There is no shaft work or modeled pressure loss in this branch. It is not an arbitrary reaction network.
Inputs or balances without a resolved nonnegative destruction and meaningful resource denominator are refused or marked unavailable. The visible notes identify the efficiency convention; signed-heat net-input efficiency differs from counting every positive exergy resource separately.
Read the destruction, not the efficiency, if you want to know where the plant is losing. The efficiency compresses a component's behaviour into one number and the destruction says how many kilowatts of work potential that number cost.
An exergetic efficiency is almost always worse than the thermal efficiency of the same component, and that is the measure doing its job: it asks a harder question. A condenser with an excellent energy balance has a poor exergetic one, and a throttle has none at all.
If the app calls a component inactive rather than giving it an efficiency, it received no exergy. That is a statement about your inputs, not about the component.
Component-by-component exergy destruction for any cycle built on the previous three screens, as a ranked table and a Grassmann diagram. It answers the question the energy balance structurally cannot: not where the energy went, but where the ability to do work was lost.
Apply the flow-exergy balance to each component of an assembled cycle in turn and rank the results. The question this answers is the one the energy balance structurally cannot: not where the energy went -- it went out of the condenser, and that is uninteresting -- but where the ability to do work was lost.
Each component gets its own control volume. The exergy entering with its streams and with any heat, minus what leaves with its streams and as work, is what it destroyed; and by the identity from the entropy balance, that is the dead-state temperature times its entropy production. Summing over the components and adding whatever left the plant unused must return the exergy supplied minus the net work. That closure is the test for this screen: an audit that does not close is not an audit.
The answers are usually surprising, and the surprise is the pedagogy. A condenser rejects most of the energy and destroys almost none of the exergy, because it rejects it at very nearly the dead-state temperature. The steam generator destroys most of it, and it does so before the plant has produced any work at all -- the irreversibility is in the temperature difference between the flame or the source and the boiling water, not in any of the machinery.
Where the boundary is drawn decides how the condenser's loss is named, and both namings are correct. With the sink at the dead state the boundary is the environment: the whole drop from the condensing steam to the surroundings happens inside the plant, so it is destruction and the loss is zero. Give a real cooling-water temperature above the dead state and the boundary moves inward: part of that drop now happens outside, so it becomes loss -- exergy carried out rather than destroyed. The total is the same either way. The split is a bookkeeping choice and the screen has to say which one it made, which is why the sink temperature is a parameter and not a constant.
The source temperature is a parameter for a related reason. Heat at 800 K and heat at 2000 K carry very different work potential, so without a stated source temperature the exergy supplied is undefined, and defaulting it would be inventing the answer.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
T0 | Dead-state temperature: the temperature of the environment the system is eventually going to equilibrate with. Exergy is meaningless without it. | K | — |
p0 | Dead-state pressure: the pressure of that same environment. | MPa | — |
cycle_ref | Which cycle, defined on another screen, this audit is being run against. | — | basic Rankine, single reheat, double reheat, regenerativeUse the existing M18–M20 topology, including explicit heater pressures and heater arrangement. |
Tsource | The temperature at which heat enters the plant, which is what fixes how much exergy came in with it. | K | Temperature at which heat enters the steam generator. |
mdot | Mass flow rate. | kg/s | finite, >= 0Boiler inlet mass flow; all extracted branch flows scale from this basis. Zero retains the per-kg design with zero rates. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
Eddot | Rate of exergy destruction. | kW | kW at the stated boiler inlet flow; per-boiler-kg values are also displayed. |
epsilon | Exergetic efficiency: what the component actually delivered as a fraction of the exergy it was given. It asks a harder question than thermal efficiency and usually gets a worse answer. | - | — |
Eloss | Exergy that left the boundary without being destroyed inside it, for instance in a hot exhaust stream. | kW | kW at the stated boiler inlet flow; per-boiler-kg values are also displayed. |
rank | The ordering of components by how much exergy each destroys, largest first. | — | Components ordered by destruction, largest first. |
How is exergy supplied?
heat transfer at a stated source temperature, fuel chemical exergy
Fired mode derives fuel quantity from the cycle heat demand, uses the same chemical reference for all streams and the cycle dead state, and recomputes conversion destruction at the actual source temperature. Source heat is internal; exhaust is an external loss.
Which vapour-cycle topology is audited?
basic Rankine, single reheat, double reheat, regenerative
Selected M18–M20 cycle supplies every station, leg and extraction fraction to the same plant boundary.
Which regenerative heater arrangement is used?
open, closed-trapped, closed-pumped
Only shown for regenerative topology. Pressures run low to high and all fractions use the boiler inlet basis.
Exact relations:
Monotonic trends:
the ranking becomes unstable between runs
How the app handles it: group everything below a stated threshold as one residual line rather than ranking noise
Assemble the cycle, walk its legs, and compute each component's destruction from its own terminal states and the transfers already attached to that leg. Rank by destruction, largest first. Everything below a stated threshold is grouped into one residual line rather than ranked, because a component whose destruction is comparable to the rounding of its own terms would otherwise change places between runs and the ranking would look unstable for reasons that have nothing to do with the plant.
The geometry of the flow diagram is computed here, not in the interface. The band widths are produced from the audit that already closed, with the closure carried alongside so that the interface can refuse to draw a diagram that does not add up. A flow diagram whose widths a front end derived for itself would eventually not conserve its own flow, and a diagram that does not conserve its flow is worse than no diagram: it looks authoritative and it is wrong.
An internal transfer -- a regenerator moving heat from one part of the cycle to another -- is marked rather than omitted. It is not a supply and not a rejection, so it must not enter the efficiency; but it still destroys exergy, so the audit has to see it.
Read the ranking, then read the closure. The ranking is the answer; the closure is what says the answer is trustworthy, and if the components plus losses plus net work do not return the exergy supplied, nothing above it is worth reading.
Expect the steam generator at the top and the condenser near the bottom. If your intuition says the condenser should dominate, that intuition is about energy, and the whole purpose of this screen is the gap between the two accounts.
Read the boundary line before comparing two audits. Moving the sink temperature moves quantities between the destroyed column and the lost column without changing the total, so two audits with different sink temperatures are not comparable line by line even though their totals are.
A four-station vapour power cycle using water (IF97), R134a, ammonia, propane or R22 (Helmholtz). Resolve turbine and pump efficiencies, mass flow or power rating, property paths and sampled pressure trends. Alternatively couple a water/steam topping loop to a separate refrigerant bottoming loop through one counterflow exchanger. Split cogeneration diverts a chosen steam fraction to process heating, mixes liquid returns at a common pressure and feeds the bottoming boiler with the remaining steam.
A single working fluid passes through a turbine, condenser, pump and boiler. Water uses IF97; R134a, ammonia, propane and R22 use their respective published Helmholtz equations. State enthalpies/entropies and specific transfers are per kilogram. Heat, work and entropy-production rates retain their rate units. One property model supplies every actual and ideal reference state.
State 1 is saturated vapour at boiler pressure or a temperature-defined vapour or supercritical state. Find the ideal turbine exit from condenser pressure and s2s = s1, then set h2 = h1 - eta_t (h1 - h2s). The condenser returns the fluid to saturated liquid, state 3. Find the ideal pump outlet from boiler pressure and s4s = s3, then set h4 = h3 + (h4s - h3)/eta_p. The pump reference uses the same EOS; it is not silently replaced by a constant-volume liquid.
Turbine work is h1-h2, pump work is h4-h3, boiler heat is h1-h4 and condenser heat rejection is h2-h3. Net work is turbine work minus pump work. Efficiency is net work divided by boiler heat; back work ratio is pump work divided by turbine work. Their values and trends depend on the fluid and temperatures; steam-specific rules of thumb are not universal laws for organic cycles.
In mass-flow rating mode, multiply each specific transfer by the supplied kg/s to obtain kW. In net-power mode, divide the specified kW by specific net work to obtain kg/s. The same flow then determines both heat rates.
In binary mode two separate four-station loops retain independent mass flows and property references. The steam condenser supplies the entire bottoming boiler duty: r_m = q_out,top / q_in,bottom. Per kilogram of topping flow, combined net work is w_top + r_m w_bottom. Only the topping boiler supplies external heat and only the bottoming condenser rejects external heat. The internal exchanger is counted once and cancels from the overall balance. Its entropy production is mdot_top(s3-s2) + mdot_bottom(s1-s4), on each fluid's own reference basis. The streams never mix.
Split cogeneration instead sends fraction y of the turbine exhaust to a process heater. The remaining fraction (1-y) heats the refrigerant boiler and returns as saturated liquid at the specified return pressure. A second liquid stream returns from the process at that same pressure and its stated temperature. Number steam states as 1 turbine inlet, 2 exhaust/split, 3 exchanger condensate, 4 mixed feed, 5 pump outlet and 6 process return. Adiabatic mixing gives h4=(1-y)h3+y h6. The full steam flow crosses both steam machines; only the two branches are split. Thus Qprocess=mdot y(h2-h6), Qexchange=mdot(1-y)(h2-h3) and Qexternal=mdot(h1-h5). The bottoming flow follows from its boiler duty. Deduct both pump powers from both turbine powers. External boiler heat equals net electric power plus process heat plus bottoming condenser rejection. Electrical efficiency and heat-and-power utilization are different ratios; useful process heat is not additional shaft power. Mixer entropy production is mdot[s4-(1-y)s3-y s6]. Process-load exergy and entropy production require external heating temperatures not supplied by this calculation.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
fluid | The chosen working substance and its property model. | - | water, R134a, NH3, propane, R22One fluid model is used for every state, including ideal pump and turbine PS states. In binary mode water is the topping fluid and this selection identifies the bottoming fluid. |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | Turbine inlet, boiler pressure. |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Turbine inlet; equals saturation temperature if no superheat. |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | Condenser pressure. |
mdot | Mass flow rate. | kg/s | mdot > 0, finiteActive in mass-flow rating mode. Net-power rating instead solves for mass flow. |
eta_t | Isentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced. | - | 0 < eta_t <= 1Isentropic efficiency: the actual device measured against the reversible one working between the same two states. The ratio is written so that it cannot exceed one, and reaches one only for a reversible machine. |
eta_p | Isentropic pump efficiency, defined the same way round as the compressor value. | - | 0 < eta_p <= 1Isentropic efficiency: the actual device measured against the reversible one working between the same two states. The ratio is written so that it cannot exceed one, and reaches one only for a reversible machine. |
Wdot_net | Net power: what the turbines produce less what the pumps and compressors take. | kW | positive finiteActive only when net power is the selected rating. |
scan_lower | The first pressure sampled in a finite pressure scan. | MPa | positive finite, below upper boundLower sampled boiler or condenser pressure. |
scan_upper | The final pressure sampled in a finite pressure scan. | MPa | finite, above lower boundUpper sampled boiler or condenser pressure; other inputs stay fixed. |
p_b_hi | Bottoming boiler pressure in binary mode. | MPa | positive finiteBottoming boiler pressure in binary mode. |
p_b_lo | Bottoming condenser pressure. | MPa | 0 < p_b_lo < p_b_hiBottoming condenser pressure. |
T_b1 | Optional bottoming turbine inlet temperature; omit for saturated vapour. | K | within selected EOS rangeOptional bottoming turbine inlet temperature; omit for saturated vapour. |
eta_tb | Bottoming turbine isentropic efficiency. | - | 0 < eta_tb <= 1Bottoming turbine isentropic efficiency. |
eta_pb | Bottoming pump isentropic efficiency. | - | 0 < eta_pb <= 1Bottoming pump isentropic efficiency. |
p_return | Split cogeneration common pressure of exchanger condensate and process return. | MPa | 0 < p_return <= p_exhaust < p_boilerSplit cogeneration common pressure of exchanger condensate and process return. |
p_exhaust | Steam exhaust pressure before the process/exchanger split. | MPa | p_return <= p_exhaust < p_boilerSteam exhaust pressure before the process/exchanger split. |
y_process | Fraction of full steam flow sent to process heating; the rest feeds the exchanger. | - | 0 <= y_process < 1Fraction of full steam flow sent to process heating; the rest feeds the exchanger. |
T_return | Process return temperature; inactive when process fraction is zero. | K | resolved liquid at return pressureProcess return temperature; inactive when process fraction is zero. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
eta | Thermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work. | - | η=(wₜ-wₚ)/qᵢₙ |
bwr | Back work ratio: the fraction of the turbine's output that is immediately spent driving the compressor or pump. Small for a vapour plant, large for a gas turbine, and that difference explains a great deal. | - | bwr=wₚ/wₜ |
Wdot_net | Net power: what the turbines produce less what the pumps and compressors take. | kW | — |
Qdot_in | Rate of heat supplied to the cycle. | kW | — |
Qdot_out | Rate of heat rejected by the cycle. | kW | — |
x2 | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | - | Turbine exit quality exists only in the two-phase region. The erosion warning applies to water only. |
mdot | Mass flow rate. | kg/s | — |
w_turbine | Work delivered by the turbine per kilogram of working fluid. | kJ/kg | turbine work |
w_pump | Work supplied to the pump per kilogram of working fluid. | kJ/kg | pump work |
sigma_t | Entropy produced in the adiabatic turbine per kilogram of working fluid. | kJ/(kg K) | turbine specific entropy generation |
sigma_p | Entropy produced in the adiabatic pump per kilogram of working fluid. | kJ/(kg K) | pump specific entropy generation |
mass_ratio | Bottoming mass flow divided by steam mass flow. | - | Bottoming mass flow divided by steam mass flow. |
mdot_hot | Steam mass flow. | kg/s | Steam mass flow. |
mdot_cold | Bottoming mass flow. | kg/s | Bottoming mass flow. |
Qdot_exchange | Internal steam-condenser/bottom-boiler heat rate, excluded from external heat totals. | kW | Internal steam-condenser/bottom-boiler heat rate, excluded from external heat totals. |
Sdot_gen_exchange | Sum of both streams entropy-flow changes. | kW/K | Sum of both streams entropy-flow changes. |
approach_bound | Lower temperature-approach estimate using forward-property brackets and a numerical error budget; temperature interval, not absolute temperature. | K | Lower temperature-approach estimate using forward-property brackets and a numerical error budget; temperature interval, not absolute temperature. |
sampled_approach | Minimum computed temperature difference at sampled heat fractions. | K | Minimum computed temperature difference at sampled heat fractions. |
energy_closure | External heat input minus external rejection and combined power. | kW | External heat input minus external rejection and combined power. |
Wdot_turbine | Turbine work rate; separate rows distinguish steam and bottoming machines. | kW | Turbine work rate; separate rows distinguish steam and bottoming machines. |
Wdot_pump | Pump work rate; full mixed steam flow passes through the feed pump. | kW | Pump work rate; full mixed steam flow passes through the feed pump. |
Qdot_process | Industrial process heat delivered by the split steam flow. | kW | Industrial process heat delivered by the split steam flow. |
utilization | Net electrical power plus useful process heat divided by external boiler heat; distinct from electrical efficiency. | - | Net electrical power plus useful process heat divided by external boiler heat; distinct from electrical efficiency. |
Sdot_gen_mix | Adiabatic mixer entropy-flow increase at the common return pressure. | kW/K | Adiabatic mixer entropy-flow increase at the common return pressure. |
Ideal or with irreversibilities?
ideal: isentropic turbine and pump, actual: isentropic efficiencies applied to both
A pair of editable efficiencies rather than a switch. Setting both to 1 IS the ideal cycle, so the two options are the ends of one control instead of a mode that could disagree with the numbers beside it.
Turbine inlet condition
saturated vapour at boiler pressure, superheated to a stated temperature
The inlet is saturated vapour or a temperature-defined resolved vapour/supercritical state. Exit wetness depends on the fluid and operating conditions.
Working fluid
water, R134a, NH3, propane, R22
Explicit model or rating selection.
Cycle rating
mass flow, net power
Explicit model or rating selection.
Pressure to sample
boiler pressure, condenser pressure
Pressure scans are enabled explicitly; unsupported sampled states remain gaps.
Pressure-scan result
thermal efficiency, net specific work, turbine exit quality
Pressure scans are enabled explicitly; unsupported sampled states remain gaps.
Cycle arrangement
Single loop, Steam–refrigerant binary, Split cogeneration
Single fluid, separate binary loops, or process split with same-pressure return mixing.
Bottoming fluid
R134a, NH3, propane, R22
Water always remains the topping fluid.
Bottoming inlet
saturated vapour, stated temperature
Each loop has independent pressures, admission and efficiencies.
Binary results
Combined cycle and exchanger, Steam loop, Bottoming loop
Combined balances and T-versus-heat-fraction chart, or one loop state table and property plane.
Exchanger pressure profile
endpoints only, linear pressure in heat fraction
No pressure distribution is inferred from endpoint balances; optional linear-pressure temperatures are sampled under an explicit assumption.
Cogeneration results
Plant heat and power, Exchanger checks, Bottoming loop
No pressure distribution is inferred from endpoint balances; optional linear-pressure temperatures are sampled under an explicit assumption.
Exact relations:
Monotonic trends:
the saturation dome closes and the boiling section of the path vanishes
How the app handles it: Saturated admission requires a resolved saturation state below the fluid critical pressure; temperature-defined admission uses the selected EOS single-phase state and physical guards. Local saturation branches stop independently without inventing a critical cap.
arithmetically valid, mechanically unacceptable
How the app handles it: Water-only V-TURBINE-EROSION warning; other fluids report quality without borrowing the steam threshold.
net work and thermal efficiency both approach zero. The back work ratio does NOT approach one -- that is the gas-cycle behaviour. It falls instead, toward the ratio of saturated liquid to saturated vapour specific volume at the condenser, because the pump handles liquid and the turbine handles vapour. Measured on a 0.008 MPa condenser: 0.0084 at an 8 MPa boiler, 0.000056 as the span closes.
How the app handles it: Refuse pressure spans at or below 2e-5 of boiler pressure and component/net enthalpy differences below 128 ULP of the state enthalpy scale divided by 1e-6; positivity alone does not establish reliable work.
positive endpoint differences alone do not guarantee internal feasibility
How the app handles it: Insert phase breakpoints; verify forward PT enthalpy brackets with inverse/interpolation error budget, then bound monotone intervals adaptively. Domain endpoints permit one-sided brackets. Overlapping temperature brackets are explicitly unresolved, not proof of a physical crossing.
Zero process flow disables the return temperature. A vanishing temperature difference makes entropy production a difference of nearly equal state entropies.
How the app handles it: Reuse the exact unsplit state at zero split. Refuse unresolved nonzero mixing contributions, cancellation below the six-digit roundoff budget and subnormal nonzero entropy-production rates; do not clamp negative noise to zero.
Endpoint balances and positive endpoint temperature differences do not fix the internal pressure distribution or prove full-path heat-transfer feasibility.
How the app handles it: Default to endpoint checks with internal feasibility unresolved. The optional linear pressure versus heat fraction profile has 33 samples and explicitly does not certify the intervals between them.
PH and PS flashes resolve the state within the selected model and branch. Helmholtz inverse brackets end at known saturated states rather than excluding a fixed temperature interval next to coexistence. Internal single-phase flashes do not absorb a nonzero temperature step into a saturated endpoint. The numerical property residual remains 64 ULP on its stated reference scale; a bounded neighbouring-temperature search handles final floating-point noise without widening that tolerance. Unresolved states are refused explicitly.
The cycle requires positive, resolved turbine work, pump work, net work and heat transfers. It checks each adiabatic component's entropy increase and the assembled efficiency bound. A pressure span no greater than 2e-5 of boiler pressure is refused: the 1e-11 relative saturation-pressure inversion budget at two endpoints would not preserve six relative digits in that span. Enthalpy differences must exceed 128 ULP of the state enthalpy scale divided by 1e-6. These are numerical conditioning guards, not physical minimum sizes.
Property diagrams sample constant-pressure heat paths and insert saturated liquid/vapour states as exact phase-change breakpoints. Dashed machine connections show actual endpoints; separately sampled PS curves show ideal isentropic references. An efficiency determines endpoints, not a unique irreversible internal path. Chart area must not be read as actual shaft work. The local saturation envelope has two separate branches; a truncated top is not labelled as the critical point.
A pressure scan evaluates 21 evenly spaced boiler or condenser pressures at the other entered conditions. It plots efficiency, specific net work or exit quality. Rejected states and undefined single-phase qualities create gaps. The samples establish neither a continuous optimum nor unsampled feasibility.
The binary exchanger uses transferred-heat fraction as coordinate, from steam outlet/bottom inlet to steam inlet/bottom outlet. Phase-change enthalpies are explicit breakpoints. At each point a forward PT bracket must straddle the requested h beyond a 128-ULP inverse/interpolation budget. The initial temperature half-width is 1e-7 times absolute temperature; it is expanded when necessary, not assumed to be the EOS accuracy. Successful states at a model temperature limit permit a one-sided bracket. On each stable monotone isobar, hot lower temperature at the left endpoint minus cold upper temperature at the right bounds the approach over that interval. Subdivide when needed; overlapping endpoint brackets are reported as unresolved at this check's resolution, not necessarily as a physical crossing.
This is a conservative numerical check using forward-property brackets and an error budget, not verified interval arithmetic or experimental proof of EOS accuracy. The displayed lower estimate is distinct from the minimum sampled temperature difference and is not an exact pinch search.
In split cogeneration, pressure may change across the steam exchanger. Endpoint balances do not determine p(h), so the default reports endpoint approaches and leaves internal feasibility unresolved. An optional linear pressure versus transferred-heat-fraction assumption samples 33 temperatures; positive samples do not certify unsampled intervals. This is not the ordinary binary isobaric bound. Export titles and legends retain the assumption.
Zero process flow reuses the condensate as mixed feed and ignores the inactive return temperature. Nonzero mixed enthalpy contributions must exceed the property roundoff budget. Mixer and exchanger entropy production must be normal finite numbers and resolve six relative digits above their explicit roundoff budgets. Nearly isothermal mixing may therefore be refused even when physically possible; no noisy negative value is silently clamped to zero. When a machinery efficiency equals one, its solved PS state is reused rather than unnecessarily reflashed through PH, avoiding a second inverse roundoff.
Read the selected fluid, efficiencies, rating basis and exit phase together. The station table and chart use the same kilogram basis and selected display units. A quality of zero or one is shown explicitly; quality is absent for a single-phase state. Read the signed component entropy differences alongside the numerical guard rather than treating a last-digit sign as physical proof.
Pressure-scan gaps are reasons to inspect the rejected input, not lines to join by hand. For a refused cycle, the reason identifies the state or transfer that could not be resolved; no efficiency or work diagram is certified.
Expanding in two stages with reheat between them raises the average temperature of heat addition and keeps the exit out of the wet region. The reheat pressure is the free parameter and exit quality is what constrains it.
Expand in two stages and put the steam back through the boiler between them. Six stations instead of four, the same devices and the same summation. Reheat raises the average temperature at which heat is added a little, and it raises the turbine exit quality a lot -- and the second is the reason it exists.
Split the expansion at a chosen reheat pressure, return the steam to the boiler, heat it back up to a stated reheat temperature, and expand the rest of the way. The efficiency is the sum of the two expansion works minus the pump work, over the sum of the two heat additions.
The quality argument is the sharp one. A single expansion from a high boiler pressure to a deep condenser vacuum ends far inside the dome. Getting the exit dry enough by superheat alone would need a turbine inlet temperature no turbine metal survives; splitting the expansion and reheating in the middle gets there instead, because the second expansion starts from a much higher temperature at a much lower pressure.
The efficiency gain is real and modest, and it has a genuine interior maximum in the reheat pressure. Reheating just below the throttle adds almost no area to the cycle -- the second expansion is nearly the whole of it and the reheat did nothing. Reheating just above the condenser adds area at a low mean temperature. Somewhere between, the efficiency peaks, conventionally near a quarter of the boiler pressure.
The peak is shallow, and saying so is more useful than the number. A plant designer does not get to choose the reheat pressure freely, and what matters is how much is lost by taking the pressure the machinery allows instead of the optimum -- which, on a flat peak, is very little.
At either end the arrangement degenerates. As the reheat pressure approaches the boiler pressure one expansion stage vanishes and the cycle reduces exactly to the simple one, which is the limit the implementation is checked against.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | Reheat pressure, the free parameter. |
T3 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Reheat outlet temperature. |
p4 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | Condenser pressure. |
x_target | A target value for a quantity the screen is solving backwards from, such as a required turbine exit quality. | - | Target turbine exit quality, when solving for reheat pressure. |
mdot | Mass flow rate. | kg/s | — |
eta_t | Isentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced. | - | 0 < eta_t <= 1Isentropic efficiency: the actual device measured against the reversible one working between the same two states. The ratio is written so that it cannot exceed one, and reaches one only for a reversible machine. |
eta_p | Isentropic pump efficiency, defined the same way round as the compressor value. | - | 0 < eta_p <= 1Isentropic efficiency: the actual device measured against the reversible one working between the same two states. The ratio is written so that it cannot exceed one, and reaches one only for a reversible machine. |
p_reheat_second | Second reheater pressure, strictly between first reheater and condenser. | MPa | Second reheater pressure, strictly between first reheater and condenser. |
T_reheat_second | Second reheater outlet temperature. | K | Second reheater outlet temperature. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
eta | Thermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work. | - | Selected complete cycle; Wdot_net is mass flow times specific net work. Final turbine quality is absent for a superheated exit. |
bwr | Back work ratio: the fraction of the turbine's output that is immediately spent driving the compressor or pump. Small for a vapour plant, large for a gas turbine, and that difference explains a great deal. | - | Selected complete cycle; Wdot_net is mass flow times specific net work. Final turbine quality is absent for a superheated exit. |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | Last reheater pressure: supplied, refined efficiency optimum, or selected target-quality root. |
x4 | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | - | Selected complete cycle; Wdot_net is mass flow times specific net work. Final turbine quality is absent for a superheated exit. |
Wdot_net | Net power: what the turbines produce less what the pumps and compressors take. | kW | Selected complete cycle; Wdot_net is mass flow times specific net work. Final turbine quality is absent for a superheated exit. |
What is being solved for?
given reheat pressure, reheat pressure for maximum efficiency, reheat pressure for target exit quality
Pressure searches vary the last reheater pressure; in double reheat the first pressure remains fixed. Target-quality roots found in valid brackets are explicit selectable solutions.
How many reheats?
single reheat, double reheat
Two turbine expansions and six stations, or three expansions and eight stations. Each reheater must add heat.
Exact relations:
Monotonic trends:
one of the two expansion stages vanishes
How the app handles it: collapse to the simple cycle explicitly and say so, rather than solving a zero-length process
the objective is flat near its optimum, so a naive search wanders
How the app handles it: Scan logarithmic pressure intervals and refine every sampled local maximum by bounded golden-section search. Report resolved-cycle efficiency and the valid-bracket search limitation.
The same walk as the simple cycle with two extra stations. That the summation, the bound and the closure check are untouched is the point of having a shared frame at all.
The optimum reheat pressure is found by search rather than from a derivative, for the same reason the gas-turbine optimum is: a closed form needs a constant specific heat ratio, and steam does not have one. The search is on a logarithmic grid because the answer sits around a fifth of the way up a two-decade range, and a linear grid spends almost all its points above it.
Because the objective is flat near its maximum, a naive search wanders. The app brackets the optimum and reports the flatness rather than a spurious precision -- quoting the peak to four figures would be claiming a resolution the objective does not have.
Compare against the same cycle without reheat, at the same boiler and condenser pressures. The efficiency gain will be a few points; the quality gain will be the reason anyone builds it.
Move the reheat pressure and watch how little the efficiency changes over a wide range. That flatness is the practical result: it means the choice can be made on mechanical grounds without costing much.
If one of the two expansions has collapsed to nothing, the screen has reduced to the simple cycle and says so rather than solving a zero-length process.
Bleeding steam from the turbine to heat the feedwater. The extraction fraction is not an input, it comes out of the feedwater heater energy balance, and that is the step students get wrong.
Bleed part of the steam out of the turbine part-way down and use it to heat the feedwater before it reaches the boiler. The bled steam does less work, but the heat it gives up is heat the boiler no longer has to supply at a low temperature -- and raising the average temperature of heat addition is the only thing that raises a cycle's efficiency without touching its extremes.
An open feedwater heater mixes the bled steam directly with the feedwater at the extraction pressure, so its exit is saturated liquid there and the arrangement needs a second pump to lift that liquid to the boiler pressure.
The extraction fraction is not an input. It comes out of the heater's own energy balance: the fraction is the enthalpy rise the feedwater needs, over the enthalpy the bled steam can give up. Every other quantity on the screen is something the user chose, which is exactly why this is the step students get wrong -- they look for a fraction to type.
Everything downstream of the extraction point carries only the remaining fraction of the flow. The cycle frame handles that by weighting each leg's transfers where the fraction is known, rather than by teaching the summation what a feedwater heater is; the regenerative cycle was the test of that design and it needed no special case in the summation.
The efficiency has an interior maximum in the extraction pressure. Extract too close to the throttle and the bled steam is valuable and there is little feedwater heating to do; extract too close to the condenser and the bled steam is nearly spent and heats the feedwater barely at all. In between, the two effects cross.
Two limits check the implementation. As the extraction fraction goes to zero the cycle reduces exactly to the simple one; and every extraction fraction must lie strictly between zero and one, with a fraction outside that range meaning the heater balance was set up backwards.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | Extraction pressure. |
p3 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | Condenser pressure. |
nheater | How many feedwater heaters are in the arrangement. | - | 1 <= nheater <= 8Integer number of explicit heaters. |
mdot | Mass flow rate. | kg/s | mdot >= 0Boiler flow; zero reports zero rates while retaining per-unit-mass design results. |
eta_t | Isentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced. | - | 0 < eta_t <= 1Isentropic efficiency: the actual device measured against the reversible one working between the same two states. The ratio is written so that it cannot exceed one, and reaches one only for a reversible machine. |
eta_p | Isentropic pump efficiency, defined the same way round as the compressor value. | - | 0 < eta_p <= 1Isentropic efficiency: the actual device measured against the reversible one working between the same two states. The ratio is written so that it cannot exceed one, and reaches one only for a reversible machine. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
y | Extraction fraction: the share of the steam bled off at an intermediate pressure to heat the feedwater. It comes out of an energy balance, never in as an input. | - | One resolved extraction fraction per heater, relative to boiler flow. |
eta | Thermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work. | - | — |
Wdot_net | Net power: what the turbines produce less what the pumps and compressors take. | kW | — |
Qdot_in | Rate of heat supplied to the cycle. | kW | — |
x | Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines. | - | Last turbine-stage exit quality, when two-phase. |
How do the heater streams connect?
open, closed-trapped, closed-pumped
Trapped drains cascade into the next lower-pressure heater and ultimately the condenser. Pumped drains enter the feed stream after each heater at boiler pressure.
How many heaters?
1, 2, 3 or more
One to eight explicitly specified stages; pressures increase from condenser to boiler. All extraction fractions are solved in one coupled linear balance.
Exact relations:
Monotonic trends:
the extraction fraction approaches 0 or 1 and the heater does nothing or takes everything
How the app handles it: guard the fraction and report the degenerate arrangement in words
the coupled extraction system becomes ill-conditioned
How the app handles it: Scaled partial pivoting solves the coupled balances. The actual infinity-norm matrix condition number is displayed; ill-conditioned networks or unresolved heat/work spans are refused.
The single-open-heater relation above illustrates the balance. For the selected number and type, the solver constructs the corresponding feedwater, extraction and drain states, then solves the coupled heater energy and mass balances for extraction fractions. Trapped drains cascade toward lower-pressure heaters; pumped drains return according to the pumped-forward arrangement.
The cycle is assembled with each leg weighted by its actual flow. Saturated outlets are fixed by pressure and quality, avoiding ambiguous saturation p–T inversion. Extraction and remaining-main-flow fractions must be physical, and the heater and whole-cycle balances must close. Nearly coincident extraction pressures can produce a singular or ill-conditioned fraction system and are refused when the required solution is not resolved.
Read the extraction fraction first. It is the output that carries the physics, and it is the number a hand calculation gets wrong. If it is not strictly between zero and one, the arrangement described by your inputs does not work.
Compare the efficiency against the simple cycle at the same boiler and condenser pressures. The gain is the whole justification for the extra hardware.
Move the extraction pressure across its range and watch the efficiency rise and fall. The maximum is interior, which means the choice is a genuine optimisation and not a limit you push against.
The air-standard spark-ignition cycle. Both the variable-specific-heat result and the cold-air-standard closed form are shown, because the gap between them is what the cold-air assumption costs.
The air-standard idealisation of a spark-ignition engine: the working fluid is air throughout, the combustion is replaced by heat addition from outside, the exhaust and intake are replaced by heat rejection, and every process is internally reversible. What survives is a four-process cycle in which the piston fixes the volume and the pressure follows -- the only screen in this app where that is the direction of the constraint.
Compress isentropically through the compression ratio, add heat at constant volume to a peak temperature, expand isentropically back through the same ratio, reject heat at constant volume back to the start. The heat added is the internal energy rise at constant volume; the heat rejected is the internal energy fall at constant volume; the efficiency is one minus their ratio.
With constant specific heats the two internal energy changes are the specific heat at constant volume times temperature differences, the two temperature ratios across the isentropic legs are equal, and everything cancels to leave one minus the compression ratio raised to one minus the specific heat ratio. Efficiency depends on the compression ratio alone -- not on the heat added, not on the peak temperature -- which is the clean result the cold-air-standard analysis exists to produce.
With variable specific heats it does not cancel and the efficiency is no longer a function of the compression ratio alone. The isentropic legs are solved through the relative volume rather than through a power relation, because a power relation is only exact when the specific heat ratio is constant. Across the temperature span of a real engine it is not, and the cold-air-standard analysis overstates the efficiency by an amount that grows with the peak temperature.
Mean effective pressure is the net work divided by the displaced volume. It is the constant pressure that, acting over one stroke, would do the same work, and it is the quantity that says how large the engine has to be for a given output.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | — |
r | Compression ratio: the volume before compression divided by the volume after it. | - | r > 1Compression ratio. |
T3 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Peak temperature. |
Qin | Total heat supplied to a cycle over one complete circuit, counted as a positive quantity. | kJ/kg | Heat added per unit mass, as an alternative to peak temperature. |
k | Specific heat ratio: cp divided by cv. It governs how steeply temperature changes when a gas is compressed without heat transfer. | - | Specific heat ratio for the cold-air-standard branch. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
eta | Thermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work. | - | η=1-(u₄-u₁)/(u₃-u₂) |
mep | Mean effective pressure: the constant pressure that would produce the same net work over the same swept volume. It lets engines of different size be compared. | Pa | mep=W_cycle/(V_1-V_2) |
Wcycle | Net work produced or consumed over one complete circuit of a cycle. | kJ/kg | — |
T3 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p3 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | — |
Specific-heat model
variable c_p from the polynomial, constant k, cold-air-standard
Cold-air-standard overstates efficiency, and by how much grows with peak temperature.
How is the heat addition specified?
peak temperature, heat added per unit mass
Exact relations:
Monotonic trends:
the cycle collapses, net work and displaced volume both go to zero, and mean effective pressure is 0/0
How the app handles it: report the degenerate cycle rather than a ratio of two vanishing quantities
peak temperature leaves the fitted polynomial range
How the app handles it: domain guard from V-NASA-RANGE, and say which state left the range
Fix the inlet state, move isentropically through the volume ratio using the relative volume, add heat at constant volume to the peak temperature, expand isentropically back through the same volume ratio, and close. Every state is a state the gas solver fixed, so the cycle plot and the station table are drawn from the same objects as the performance numbers.
The constant-volume moves are done by holding the specific volume and setting the new temperature, with the pressure following from the ideal-gas relation. That is the direction the physics runs in a piston engine, and writing it that way is what makes the relative volume the right tool rather than a convenience.
The three reciprocating cycles are one family, and the implementation is checked by the family relations rather than only by isolated reference cases: the dual cycle degenerates to this one when its cutoff ratio is one, so the same arithmetic is reached by three routes and they must agree.
Read the efficiency against the compression ratio and nothing else, if you are thinking in cold-air-standard terms -- and then notice that the screen's efficiency also moves when you change the peak temperature. That difference is the variable-specific-heat effect, and it is the honest part of the model.
Mean effective pressure is the size number. Two engines with the same efficiency and different mean effective pressures are different sizes for the same output.
The peak pressure at the top of the constant-volume heat addition is worth watching. It is what the structure has to withstand, and it rises much faster than the efficiency does.
Compression ignition, with heat added at constant pressure. Placed beside the spark-ignition result at equal compression ratio, because the comparison is the point and neither cycle means much alone.
The same air-standard idealisation with the heat added at constant pressure rather than at constant volume, which is what a compression-ignition engine approximates: fuel is injected into air already hot enough to ignite it, and the piston is moving while it burns. Everything else about the cycle is unchanged, and the comparison at equal compression ratio is the point.
Compress isentropically, add heat at constant pressure while the piston moves out to a cutoff ratio, expand isentropically to the original volume, reject heat at constant volume. The heat added is now an enthalpy rise, because the process is at constant pressure; the heat rejected is still an internal energy fall.
With constant specific heats the efficiency is the constant-volume result multiplied by a bracketed factor built from the cutoff ratio and the specific heat ratio. That factor is greater than one for every cutoff ratio above one, so at equal compression ratio the constant-pressure cycle is always less efficient. Real compression-ignition engines are more efficient anyway, because they run at compression ratios a spark-ignition engine cannot reach.
The bracketed factor is zero divided by zero at unit cutoff ratio and its limit there is exactly one, which is the statement that the cycle reduces to the constant-volume one when the heat addition happens instantaneously.
The cutoff ratio is an output here, not an input. It is how far the piston has travelled by the time heat addition stops, and that is fixed by the peak temperature rather than chosen independently.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | — |
r | Compression ratio: the volume before compression divided by the volume after it. | - | r > 1 |
rc | Cutoff ratio: how far the piston has travelled by the time heat addition stops, as a volume ratio. | - | rc > 1Cutoff ratio. |
T3 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
k | Specific heat ratio: cp divided by cv. It governs how steeply temperature changes when a gas is compressed without heat transfer. | - | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
eta | Thermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work. | - | — |
mep | Mean effective pressure: the constant pressure that would produce the same net work over the same swept volume. It lets engines of different size be compared. | Pa | — |
Wcycle | Net work produced or consumed over one complete circuit of a cycle. | kJ/kg | — |
rc | Cutoff ratio: how far the piston has travelled by the time heat addition stops, as a volume ratio. | - | r_c=V_3/V_2 |
Specific-heat model
variable c_p from the polynomial, constant k, cold-air-standard
How is heat addition specified?
cutoff ratio, peak temperature, heat added per unit mass
Exact relations:
Monotonic trends:
the bracketed factor is 0/0 and its limit is exactly 1
How the app handles it: series expansion of the bracket near rc = 1, joined so that the two branches agree to full precision at the join
The same walk as the constant-volume cycle with the heat-addition leg at constant pressure. States are moved through the relative volume and the relative pressure as each leg requires, and the cutoff ratio falls out as the ratio of the two volumes across the heat-addition leg.
The bracketed factor's singularity at unit cutoff ratio is handled by a series expansion joined so that the two branches agree to full precision at the join and not merely on either side of it. The join itself is a high-precision comparison point, because a check placed near the join rather than on it would pass on an implementation that is wrong exactly there.
Read this cycle beside the constant-volume one at the same compression ratio, because neither means much alone. At equal compression ratio this one is always the less efficient, and the bracketed factor is exactly how much.
The cutoff ratio is a result. If it comes out close to one, your peak temperature has made the heat addition nearly instantaneous and you have approximated the constant-volume cycle.
The efficiency falls as the cutoff ratio rises, which is to say as more heat is added. That is the opposite of the intuition that more heat means more work, and it is the characteristic behaviour of this arrangement.
Heat added partly at constant volume and partly at constant pressure, which is closer to what a real engine does than either limiting cycle. It degenerates to both, and asserting those degeneracies is how the implementation is checked.
Heat added partly at constant volume and then at constant pressure. It is closer to what a real engine's pressure trace does than either limiting cycle, and it contains both of them: it becomes the constant-volume cycle when the cutoff ratio is one and the constant-pressure cycle when the pressure ratio is one.
Five stations instead of four. Compress isentropically; add heat at constant volume through a stated pressure ratio; add the rest at constant pressure out to the cutoff; expand isentropically to the original volume; reject heat at constant volume.
The efficiency is one minus the constant-volume heat rejection over the sum of the two heat additions -- an internal energy rise for the first and an enthalpy rise for the second. There is no single memorable closed form worth quoting, which is itself informative: the two limiting cycles have neat formulas because each has one heat-addition process, and reality has two.
At equal compression ratio the efficiency lies between the two limits, and it rises as more of the heat is added at constant volume. That ordering is the practical content: adding heat early, while the volume is still small, is worth more than adding it while the piston is already moving out.
The two degeneracies are how the implementation is checked. Set the cutoff ratio to one and the result must equal the constant-volume cycle at the same compression ratio, exactly; set the pressure ratio to one and it must equal the constant-pressure cycle. The same arithmetic reached by three routes has to agree, and that is a stronger check than any single reference point.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | — |
r | Compression ratio: the volume before compression divided by the volume after it. | - | r > 1 |
rp | Pressure ratio across the compressor, or in the dual cycle the pressure rise during the constant-volume part of heat addition. | - | rp >= 1Constant-volume pressure ratio. |
rc | Cutoff ratio: how far the piston has travelled by the time heat addition stops, as a volume ratio. | - | rc >= 1 |
k | Specific heat ratio: cp divided by cv. It governs how steeply temperature changes when a gas is compressed without heat transfer. | - | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
eta | Thermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work. | - | — |
mep | Mean effective pressure: the constant pressure that would produce the same net work over the same swept volume. It lets engines of different size be compared. | Pa | — |
Wcycle | Net work produced or consumed over one complete circuit of a cycle. | kJ/kg | — |
Specific-heat model
variable c_p from the polynomial, constant k, cold-air-standard
How is the heat split between the two stages?
by pressure ratio and cutoff ratio, by fraction of total heat added at constant volume, by pressure ratio and peak temperature
Exact relations:
Monotonic trends:
the heat addition vanishes and the efficiency expression is 0/0
How the app handles it: report the degenerate cycle; the two individual limits are handled by their own branches
Choose pressure ratio plus cutoff ratio, heat fraction plus total heat addition, or pressure ratio plus peak temperature. Each pair determines the two heat-addition stages before the common cycle is assembled. The gas heat-capacity model determines how energy increments become temperature changes.
The pressure-ratio-one and cutoff-ratio-one limits reduce to the corresponding single-stage heat-addition cycles. If both stages add zero heat, thermal efficiency is indeterminate; the solver reports a degenerate cycle.
Read the two ratios as the shape of the heat release. A high pressure ratio with a cutoff near one is nearly the constant-volume cycle; the reverse is nearly the constant-pressure one; and where the two are balanced is where a real compression-ignition engine sits.
The efficiency should always land between the two limiting cycles at the same compression ratio. That bracketing is worth checking by eye, because it is the cheapest confirmation that the split you specified is the one you meant.
Peak pressure rises with the constant-volume fraction, and it is the structural constraint that stops a designer moving further in the direction efficiency prefers.
The gas turbine cycle. The pressure ratio that maximises net work is not the one that maximises efficiency, and having both curves on the same axes is the reason this screen exists rather than a formula.
The gas turbine cycle: compress, heat, expand, reject. It runs on the same frame as the vapour cycle and uses none of the water devices, which is the point -- the frame describes a cycle, not a steam cycle. What distinguishes it is that the compressor's work is a large fraction of the turbine's, so the net work is a difference of two big numbers and behaves quite differently from the vapour plant's.
Compress isentropically through the pressure ratio, add heat at constant pressure to the turbine inlet temperature, expand isentropically to the original pressure, reject heat at constant pressure. The efficiency is the net work over the heat added; the back work ratio is the compressor work over the turbine work, and where a vapour plant's is a fraction of a per cent, a gas turbine's is a third or more.
Two optima follow, and they are different pressure ratios. The specific net work is the turbine work minus the compressor work; raising the pressure ratio raises both, and at first the turbine gains faster. Beyond some ratio the compressor gains faster, so the net work has an interior maximum. For the ideal cycle with constant specific heats that maximum is at the pressure ratio whose isentropic temperature ratio is the square root of the overall temperature ratio.
Efficiency behaves differently. For the ideal cycle it rises monotonically with pressure ratio all the way to the limiting ratio at which the compressor exit reaches the turbine inlet temperature -- where the heat addition and the net work have both gone to zero and the efficiency has reached the reversible bound. So the ideal cycle has no interior efficiency optimum at all, and the efficiency optimum is that boundary. An interior optimum in efficiency exists only because of the losses: the shape of the efficiency curve is created by irreversibility, not by thermodynamics.
That limiting ratio is also what explains the shape of the net-work curve. Without it, the curve appears to fall off for no visible reason; with it marked, the axis has a right-hand end where the cycle stops producing anything.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
rp | Pressure ratio across the compressor, or in the dual cycle the pressure rise during the constant-volume part of heat addition. | - | rp > 1Compressor pressure ratio. |
T3 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Turbine inlet temperature, the metallurgical limit. |
eta_c | Isentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken. | - | 0 < eta_c <= 1Isentropic efficiency: the actual device measured against the reversible one working between the same two states. The ratio is written so that it cannot exceed one, and reaches one only for a reversible machine. |
eta_t | Isentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced. | - | 0 < eta_t <= 1Isentropic efficiency: the actual device measured against the reversible one working between the same two states. The ratio is written so that it cannot exceed one, and reaches one only for a reversible machine. |
mdot | Mass flow rate. | kg/s | finite mdot >= 0 with resolvable rates in selected unitsAir mass flow for plant rating. Zero flow gives zero rates; specific cycle properties and optimum ratios do not depend on flow. |
hot_pressure_loss | Fraction of combustor inlet pressure lost before turbine admission. | - | 0 <= hot_pressure_loss < 1Fraction of combustor inlet pressure lost before turbine admission. |
cold_pressure_loss | Fraction of heat-rejection inlet pressure lost before compressor admission. | - | 0 <= cold_pressure_loss < 1Fraction of heat-rejection inlet pressure lost before compressor admission. |
caloric_model | NASA polynomial, evaluated constant cp, or air-only cold-air standard. | - | NASA variable heat capacity or cold-air standardCold-air standard fixes its air heat capacities; k is not a separate editable field. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
eta | Thermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work. | - | — |
bwr | Back work ratio: the fraction of the turbine's output that is immediately spent driving the compressor or pump. Small for a vapour plant, large for a gas turbine, and that difference explains a great deal. | - | — |
Wdot_net | Net power: what the turbines produce less what the pumps and compressors take. | kW | Mass flow times specific net work; tuple element 0, kW. |
w_net | Net work per unit mass of working fluid. | kJ/kg | — |
rp_opt_work | The pressure ratio that produces the most work per unit of gas. | - | Bounded stationary search for the selected caloric model and losses; an efficiency limit at vanishing work cannot be applied. |
rp_opt_eta | The pressure ratio that produces the highest efficiency, which is a different and larger number. | - | Bounded stationary search for the selected caloric model and losses; an efficiency limit at vanishing work cannot be applied. |
Qdot_in | Rate of heat supplied to the cycle. | kW | Heat supply rate; tuple element 1, mass flow times the corresponding specific transfer. |
Qdot_out | Rate of heat rejected by the cycle. | kW | Heat rejection rate; tuple element 2, mass flow times the corresponding specific transfer. |
Wdot_compressor | Rate of shaft work supplied to the compressor. | kW | Compressor shaft input; tuple element 3, mass flow times the corresponding specific transfer. |
Wdot_turbine | Turbine work rate; separate rows distinguish steam and bottoming machines. | kW | Turbine shaft output; tuple element 4, mass flow times the corresponding specific transfer. |
Ideal or with irreversibilities?
ideal: isentropic compressor and turbine, no pressure drop, actual: isentropic efficiencies and stated pressure drops
Editable compressor/turbine efficiencies and separate heat-addition/heat-rejection pressure-loss fractions. Only both efficiencies equal to one and both losses zero give the ideal cycle.
Optimise for what?
maximum specific net work, maximum thermal efficiency
Both maxima are reported; the explicit objective selector changes the marked target and the Use selected optimum action. The ideal efficiency result is a zero-work/zero-heat limit and cannot be applied as an operating state. Bounded entropy-based stationary roots replace the former 2–60 scan.
Specific-heat model
variable c_p from the polynomial, constant k, cold-air-standard
The selected caloric model supplies the actual cycle, both design objectives and all sampled process paths.
Exact relations:
Monotonic trends:
compressor and turbine work both vanish and the back work ratio is 0/0
How the app handles it: report the degenerate cycle rather than a ratio of vanishing quantities
heat addition vanishes and the cycle produces no net work
How the app handles it: The selected caloric model supplies the ideal heat-addition limit. Both objective curves mark the positive-work range endpoint; a lossy engine has a lower zero-net-work boundary. Ideal maximum efficiency is a zero-work/zero-heat limit and cannot be applied as an operating state.
net work approaches zero as the difference of two large numbers
How the app handles it: Report compressor and turbine gross work beside net work; require all heat/work transfers to exceed a 128-ULP original state-energy error budget divided by 1e-6.
Fix the inlet, move isentropically to the compressor exit pressure through the relative pressure rather than through a power relation, apply the compressor efficiency, heat to the turbine inlet temperature, expand the same way, apply the turbine efficiency, and close. Across a gas-turbine pressure ratio the difference between the relative-pressure route and the constant-ratio power relation is tens of kelvin.
Both optima use the same selected caloric model and bounded stationary-root search. A closed constant-specific-heat formula is not substituted into the variable-property calculation. Component efficiencies and pressure losses remain inputs to every objective evaluation.
Plant rates multiply the corresponding specific energy transfers by the stated air mass flow. This changes neither stations nor the optimum ratios. Zero flow is a valid zero-duty rating. Non-finite products or rates that cannot retain six useful digits near underflow, including after display-unit conversion, are refused rather than presented as zero or infinite power.
The numerical design search brackets the positive-heat and positive-net-work region of the selected caloric model with both pressure losses applied. It reports the lower and upper zero-work boundaries separately from the zero-heat-input boundary. Net-work and efficiency optima are refined within that region; a limiting efficiency at vanishing work is explicitly identified instead of being offered as a finite-power optimum.
Read the back work ratio. It is the number that separates this cycle from the vapour one, and it is why a gas turbine's performance is so sensitive to component efficiency: a few points off the compressor come straight out of a net work that is already a difference.
Raising the turbine inlet temperature raises the net work per unit of gas strongly and, at a fixed pressure ratio, lowers the thermal efficiency slightly -- measured at about one percentage point between 1200 K and 1600 K. That runs opposite to the constant-specific-heat formula, which makes efficiency a function of pressure ratio alone; it is a variable-specific-heat effect. What does rise with firing temperature is the achievable efficiency, because the limiting pressure ratio moves a long way up and efficiency rises with pressure ratio all the way to it.
If the cycle comes back with no net work, check the pressure ratio against the limiting one for your two temperatures. Past it, there is nothing left to add heat with.
Three independent modifications on one screen, because they interact: intercooling and reheat each lower efficiency on their own and raise it once a regenerator is present. Toggling them one at a time is how that becomes visible.
Three modifications to the gas turbine cycle, on one screen because they interact. A regenerator moves heat from the exhaust to the compressor exit. Intercooling splits the compression and cools between stages. Reheat splits the expansion and reheats between stages. Each is simple; together they are not additive, and the direction of their effect changes depending on which of the others are present.
The regenerator's effectiveness is the enthalpy the cold stream actually gains over the most it could gain, which is set by it reaching the hot stream's inlet temperature -- an infinite-area limit. So the effectiveness is bounded by one for a reason having nothing to do with the first law, and a value above one means the two stream temperatures have been crossed somewhere.
On their own, intercooling and reheat each lower the efficiency. They raise net work by moving compression to a colder gas and expansion to a hotter one, but they also leave the compressor exit cooler and the turbine exit hotter, and without a regenerator the extra heat between the compressor exit and the turbine inlet has to come from the fuel. Add the regenerator and the same two changes now raise efficiency, because that heat comes from the exhaust instead. Toggling one at a time is how that becomes visible, and it is why the arrangement is offered as three independent choices rather than as a preset.
The staging is ideal: intercooling back to the compressor inlet temperature, reheating up to the turbine inlet temperature, with the pressure ratio split evenly between stages -- which is the optimum for equal stages and follows from the same geometric-mean argument as the intercooled compressor. In the limit of many stages with a perfect regenerator the cycle approaches the reversible bound from below, which is the check that the staging machinery is right.
The regenerator has a hard limit of its own. Above some pressure ratio the compressor exit is hotter than the turbine exit, and there is nothing left to recover: the effectiveness definition's denominator vanishes and then changes sign. That crossover is a real operating condition at high pressure ratio, not a hypothetical, and the app refuses the regenerator above it rather than reporting a transfer from the cooler stream to the hotter one.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | — |
rp | Pressure ratio across the compressor, or in the dual cycle the pressure rise during the constant-volume part of heat addition. | - | — |
T3 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
eta_reg | Regenerator effectiveness: how much of the available temperature rise the regenerator actually delivers. | - | 0 <= eta_reg <= 1 |
nstage_c | How many compression stages, when compression and expansion are staged independently. | - | nstage_c >= 1 |
nstage_t | How many expansion stages. | - | nstage_t >= 1 |
eta_c | Isentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken. | - | 0 < eta_c <= 1Isentropic efficiency: the actual device measured against the reversible one working between the same two states. The ratio is written so that it cannot exceed one, and reaches one only for a reversible machine. |
eta_t | Isentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced. | - | 0 < eta_t <= 1Isentropic efficiency: the actual device measured against the reversible one working between the same two states. The ratio is written so that it cannot exceed one, and reaches one only for a reversible machine. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
eta | Thermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work. | - | — |
bwr | Back work ratio: the fraction of the turbine's output that is immediately spent driving the compressor or pump. Small for a vapour plant, large for a gas turbine, and that difference explains a great deal. | - | — |
w_net | Net work per unit mass of working fluid. | kJ/kg | — |
eta_reg | Regenerator effectiveness: how much of the available temperature rise the regenerator actually delivers. | - | η_reg=(h_x-h_2)/(h_4-h_2) |
pi_opt | The intermediate pressure that minimises total work, which for two ideal stages is the geometric mean of the end pressures. | Pa | — |
Regenerator present?
no, yes, at a stated effectiveness
An effectiveness rather than a yes-or-no: zero is no regenerator, and the screen reports how much room one would have had either way. Above the crossover pressure ratio the exhaust is no hotter than the compressor discharge, and the cycle is refused rather than reported.
Intercooling?
none, two-stage, n-stage with ideal intercooling
A stage count rather than a three-way picker: 1 is no intercooling, 2 is the two-stage machine, and n is the n-stage one, all three reachable from the same field.
Reheat?
none, two-stage, n-stage with ideal reheat
A stage count rather than a three-way picker: 1 is no reheat, 2 is the two-stage machine, and n is the n-stage one, all three reachable from the same field.
Exact relations:
Monotonic trends:
regenerator effectiveness becomes meaningless and the denominator of its definition vanishes
How the app handles it: detect the crossover by comparing the turbine exit temperature with the compressor exit temperature, refuse the regenerator above it with a message naming both temperatures, and report the margin between them.
Build the station list from the three choices, then hand it to the same summation as every other cycle. The regenerator's transfer is marked as internal: it moves heat within the cycle rather than across its boundary, so it is neither a supply nor a rejection. Counting it as supply is the defect that makes a regenerator appear to do nothing at all -- efficiency is net work over heat supplied, and an internal transfer added to both sides of that ratio leaves it unchanged. Marking rather than omitting it matters too, because an internal exchanger still destroys exergy and the audit has to see it.
The degenerate case is the whole test of the configuration machinery: with the regenerator effectiveness exactly zero and one stage of each, the result must equal the simple gas-turbine cycle exactly. That single assertion validates everything the three choices do.
The crossover is detected before the regenerator is applied, and the refusal names the two temperatures rather than the pressure ratio: the compressor delivers the gas at this temperature and the turbine exhausts it at that one, so a regenerator here would have to move heat from the cooler stream to the warmer one. The pressure ratio at which the two cross is not computed for this arrangement -- the simple gas-turbine cycle reports its own crossover margin as a temperature difference, and that is the quantity to watch.
Toggle one modification at a time. The screen is arranged that way because the interaction is the lesson: intercooling alone lowers efficiency and raises work, and intercooling with a regenerator raises both.
With a regenerator fitted, watch what happens as you raise the pressure ratio. Efficiency falls, which is the reverse of the simple cycle, because a higher pressure ratio leaves less temperature difference for the regenerator to work with.
If the regenerator is refused, read the two temperatures in the refusal. The compressor exit is hotter than the turbine exit, so there is nothing left to recover -- which is a design answer, not a failure.
A gas turbine topping a vapour cycle, coupled through the heat recovery steam generator. The coupling is the whole design problem: the pinch point decides the steam flow, and the steam flow decides the output.
A combined cycle uses gas-turbine exhaust to supply a steam cycle through a heat-recovery generator. The two cycles have different circulating mass flows, and the exchanger must satisfy both an energy balance and a feasible temperature approach throughout heating and evaporation.
On a unit gas-flow basis, the exhaust enthalpy drop equals the steam-to-gas mass ratio times the feedwater-to-steam enthalpy rise. That balance determines steam flow for a stated stack temperature. If the minimum temperature approach is specified instead, steam flow and stack temperature must be chosen together so the two exchanger profiles remain separated.
Water can remain at nearly constant temperature while evaporating, whereas the exhaust continues cooling. Consequently, endpoint temperatures alone can miss an internal pinch or temperature crossing. The total net work is gas-cycle net work plus steam-cycle net work multiplied by the recovered mass ratio. The heat-recovery transfer is internal to the combined boundary and must not be counted again as an external heat input when computing overall efficiency.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
rp | Pressure ratio across the compressor, or in the dual cycle the pressure rise during the constant-volume part of heat addition. | - | — |
T3 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p6 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | Steam-side boiler pressure. |
T7 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Steam-side turbine inlet temperature. |
p8 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | Condenser pressure. |
mdot1 | Mass flow rate. | kg/s | Gas-side flow. |
DeltaT_pinch | Pinch-point temperature difference: the smallest gap between the two streams anywhere inside a heat recovery generator. It is the binding constraint on how much steam can be raised. | K | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
eta | Thermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work. | - | — |
mdot6 | Mass flow rate. | kg/s | steam_per_gas is a mass ratio; the displayed steam flow multiplies it by the entered gas mass flow in PresentationIndustrialView.plantFlows. |
Wdot_net | Net power: what the turbines produce less what the pumps and compressors take. | kW | net_work_per_gas is kJ/kg; the displayed power multiplies it by the entered gas mass flow in PresentationIndustrialView.plantFlows. |
DeltaT_pinch | Pinch-point temperature difference: the smallest gap between the two streams anywhere inside a heat recovery generator. It is the binding constraint on how much steam can be raised. | K | — |
How is the steam flow determined?
from a stated stack temperature, from a stated pinch-point temperature difference
The pinch point is the physically binding constraint and the stack temperature follows from it, not the other way round.
Exact relations:
Monotonic trends:
the required recovery-generator area is unbounded
How the app handles it: report the reversible limit rather than a design point, and say the area is unbounded
the arrangement is impossible but every terminal check passes
How the app handles it: scan the whole profile; this boundary exists precisely because the obvious check misses it
Each component state is solved first. The coupling then uses either the entered stack temperature or a bracketed search enforcing the requested approach. Gas and water profiles are compared at sampled equal-duty positions, including water phase changes. Net power and heat rates retain the gas-flow and steam-flow bases explicitly.
Read the steam-to-gas ratio before interpreting steam-side power or mass flow. Compare the gas and water profiles, not only their endpoints. Overall efficiency counts the external topping-cycle heat supply once; adding recovered heat to that denominator would double-count an internal transfer.
Diffuser, compressor, burner, turbine, nozzle. The property side only: the compressible-flow treatment of the nozzle itself is deliberately outside this app and the manual says where it lives.
A turbojet leaves useful energy in the flow for acceleration through a nozzle. Its turbine is sized thermodynamically to supply compressor work rather than maximize shaft output, and thrust follows the change in stream momentum under the declared nozzle boundary.
Flight kinetic energy contributes to stagnation enthalpy at the diffuser. Compression increases enthalpy, the burner adds heat to the specified turbine-inlet temperature, and the turbine removes the work required by the compressor. The remaining nozzle-inlet enthalpy can become kinetic energy on expansion. With the stated nozzle efficiency, the actual kinetic-energy rise is a fraction of the isentropic enthalpy drop.
An afterburner raises temperature after the turbine and therefore adds energy available to the nozzle without increasing the compressor's work demand. Under the fully expanded, constant working-flow approximation, specific thrust is exit velocity minus flight velocity, and total thrust multiplies that difference by mass flow. No nozzle area or pressure-thrust term can be inferred without geometry.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Ambient. |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | — |
vel1 | Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy. | m/s | Flight velocity. |
rp | Pressure ratio across the compressor, or in the dual cycle the pressure rise during the constant-volume part of heat addition. | - | Compressor pressure ratio. |
T4 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Turbine inlet temperature. |
mdot | Mass flow rate. | kg/s | — |
eta_c | Isentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken. | - | — |
eta_t | Isentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced. | - | — |
eta_n | Isentropic nozzle efficiency: actual kinetic energy at the exit divided by what an ideal expansion would have produced. | - | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
vel6 | Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy. | m/s | — |
F_thrust | Thrust produced by the engine. | N | F=ṁ(V₆-V₁) |
F_specific | Thrust per unit mass flow, which is what decides how big the engine has to be. | N s/kg | — |
h0 | Stagnation enthalpy: the enthalpy a stream would have if it were brought to rest without loss. Conserved through an adiabatic duct with no work. | kJ/kg | hₒ=h+V²/2 Stagnation enthalpy at the nozzle inlet. The displayed nozzle exit temperature is the actual static temperature, including nozzle efficiency. |
Afterburner?
no, yes, to a stated temperature
Exact relations:
Monotonic trends:
the nozzle chokes and the one-dimensional subsonic treatment stops applying
How the app handles it: detect the condition, name it, and point to the separate compressible-flow tool rather than reporting a value the model cannot support
The app propagates stagnation energy through the diffuser, compressor, burner, work-balanced turbine and optional afterburner. Isentropic expansion provides the nozzle reference drop, efficiency sets exit kinetic energy, and the actual exit state is recovered from the remaining enthalpy. A pressure-ratio check uses the inlet local specific-heat ratio as a critical-ratio estimate for a converging nozzle. It is a geometry diagnostic, not a statement that the calculated fully expanded exit is sonic.
Use the nozzle warning when deciding whether the displayed idealized endpoint is physically realizable. Compare afterburner states at the same compressor and flight conditions. Increasing nozzle exit speed may raise thrust while requiring substantially more heat; this model does not supply the missing fuel-system calculation.
Four-station vapour compression with explicit evaporator and heat-rejection pressure losses, local outlet superheat/subcooling, and a separate transcritical discharge-pressure search.
Move heat from a cold space to a warm one by evaporating a fluid at a low pressure, compressing its vapour, condensing it at a high pressure, and throttling it back. The whole design rests on a fluid whose saturation temperature moves a long way with pressure: choosing the two pressures chooses the two temperatures, and everything else follows.
Four component balances determine the cycle. With zero exchanger pressure loss, evaporation and condensation follow constant-pressure paths on the pressure–enthalpy plane. With declared pressure losses those legs connect different station pressures. The valve remains isenthalpic because it performs no work and exchanges no heat. Compressor outlet enthalpy follows its isentropic comparison and stated efficiency.
The refrigerating effect per unit mass is the enthalpy rise across the evaporator, which is the evaporator exit enthalpy minus the condenser exit enthalpy -- the throttle having carried the latter across unchanged. The compressor work per unit mass is the enthalpy rise across it. The coefficient of performance is their ratio, and the condenser duty is their sum, which is the cycle-level energy balance and the check the screen reports.
The throttle is what stops this cycle reaching its reversible bound. It is the one component that produces entropy without producing anything, and replacing it by an expander -- which nobody does at this scale, because the work recovered from a liquid is small and the machine is not -- is what the bound assumes.
Above the critical pressure the cycle gains a degree of freedom. A subcritical cycle's high-side pressure is fixed by the temperature it must condense at; there is no choice to make, because saturation ties pressure to temperature. A transcritical cycle does not condense at all: it cools a supercritical fluid through a gas cooler, with no phase change and therefore no saturation temperature tying the two together. The discharge pressure becomes a free variable, and it has an optimum -- push it up and the gas cooler exit sits further left on a steeply sloping isotherm, so the refrigerating effect grows; push it up and the compressor works harder. The two cross. That optimum is the single most distinctive fact about carbon dioxide refrigeration and it does not exist in any subcritical cycle, which is why the two treatments are kept apart rather than blended.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | Four published Helmholtz fluids or approximate CO2 Peng–Robinson. |
Te_ref | Saturation temperature used to set the evaporator inlet pressure. | K | Saturation reference at evaporator inlet: sets p4, not p1. |
Tr_ref | Condenser inlet saturation reference, or gas-cooler outlet temperature in transcritical operation. | K | Subcritical: saturation reference sets condenser inlet p2. Transcritical: specified gas-cooler outlet T3. |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | p > 0Explicit compressor discharge pressure in transcritical mode; outlet p3 must remain above critical. |
eta_c | Isentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken. | - | 0 < eta_c <= 1Adiabatic compressor isentropic efficiency. |
superheat | Temperature above local saturated vapour at the same pressure. | K | superheat >= 0Temperature increment above saturation at suction p1. |
subcool | Temperature below local saturated liquid at the same pressure. | K | subcool >= 0Temperature decrement below saturation at condenser outlet p3; exactly zero in transcritical mode. |
evaporator_loss | Fraction of evaporator inlet pressure lost through that exchanger. | - | 0 <= evaporator_loss < 1Fraction (p4-p1)/p4, based on its own exchanger inlet. |
rejection_loss | Fraction of heat-rejection inlet pressure lost through that exchanger. | - | 0 <= rejection_loss < 1Fraction (p2-p3)/p2, based on its own exchanger inlet. |
Qdot_L | Rate of heat removed from the cold side, which is the useful output of a refrigerator. | kW | Qdot_L >= 0Refrigerating capacity; zero retains the specific-state design. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
beta | Coefficient of performance of a refrigerator: heat removed from the cold space divided by the work it cost. Routinely greater than one, which is why it is not called an efficiency. | - | β=(h₁-h₄)/(h₂-h₁) |
Qdot_L | Rate of heat removed from the cold side, which is the useful output of a refrigerator. | kW | Q̇_L=ṁ(h_1-h_4) |
Wdot | Rate of work transfer, that is, power. | kW | — |
Qdot_H | Rate of heat delivered to the warm side, which is the useful output of a heat pump. | kW | — |
mdot | Mass flow rate. | kg/s | Converts the cycle kmol/s flow to kg/s with the selected fluid molar mass. |
tons | Refrigeration capacity expressed in the unit the industry actually uses, rather than in kilowatts. | ton | Refrigeration tons, because the industry states capacity that way. |
Ideal or actual?
ideal: saturated vapour into the compressor, saturated liquid out of the condenser, isentropic compression, actual: superheat at the compressor inlet, subcooling at the condenser exit, an isentropic efficiency, and stated pressure drops
Zero superheat, subcooling, both pressure losses and unit compressor efficiency specify the standard ideal cycle. Departures are explicit input fields.
Exact relations:
Monotonic trends:
compressor work approaches zero and the coefficient of performance diverges
How the app handles it: report the divergence as an ideal limit with the span named
condensation cannot occur and the cycle becomes transcritical
How the app handles it: detect it, name it, and route to the transcritical treatment rather than drawing a condensation that does not happen
The supported refrigerants R134a, R1234yf, R717 and R290 use their Helmholtz formulations. CO2 uses the explicitly labelled Peng–Robinson approximation. Saturation comes from the selected formulation's phase-equilibrium relations; a cubic calculation finds equal liquid and vapour fugacity.
Determine the two exchanger inlet pressures from saturation references or the specified compressor discharge pressure. Apply each loss fraction to obtain that exchanger's outlet pressure. Superheat and subcooling are applied at these local pressures before the compressor and throttle balances determine the remaining states. The actual four pressures appear in the state table and diagrams; they are not cosmetic pressure labels on an isobaric cycle.
The transcritical branch requires both discharge and gas-cooler outlet pressures above the critical pressure. The pressure optimiser searches the admissible discharge-pressure intervals with the stated losses and efficiency, and reports a maximum only among valid cycles. Its curve shows infeasible gaps instead of joining across them. The displayed reference-temperature Carnot COP is a comparison; exchanger saturation references are not a full external-reservoir model when pressure and temperature vary.
The capacity is also reported in tons of refrigeration, because that is how chillers are sold in North America. A ton is the rate that freezes one short ton of water in a day -- a nineteenth-century ice-trade unit that has outlived the ice trade -- and it is fixed today as twelve thousand British thermal units per hour, which with the International Table Btu of 1055.05585262 joules is 3.5168528 kilowatts. The app carries 3.5168525, the figure the trade quotes; the two differ by one part in ten million, far below anything a chiller is specified to. The conversion lives at the unit boundary rather than in the physics, because everything inside is in SI.
Read the coefficient of performance beside the reversible one at the same two temperatures. The gap is what the throttle and the compressor cost you, and it is a large gap: this cycle is not a near-reversible machine.
Use the pressure–enthalpy plane and state table to inspect the four pressures. The temperature–entropy, pressure–volume and enthalpy–entropy alternatives show the same solved cycle. Pressure-loss legs must not be read as isobars.
Change superheat and subcooling separately, keeping the reference pressures and duty fixed. Their net COP effects depend on the fluid and compressor state; compare the refrigerating effect with the work, rather than assuming a universal sign for every refrigerant and operating point.
If you are above the critical pressure, the discharge pressure is yours to choose and it has an optimum. That is the one control a subcritical cycle does not have.
Two ways to cover a temperature span too wide for one stage: cascade the cycles with different refrigerants, or stage the compression with a flash chamber. They solve different problems and the screen keeps them distinct.
Staged refrigeration distributes a large temperature or pressure lift over more than one compression step. A cascade transfers heat between separate closed loops, whereas flash staging separates and mixes one refrigerant. Those arrangements require different mass balances even when their diagrams look similar.
In a cascade, the high-temperature evaporator must absorb both the external refrigeration load and the low-temperature compressor work. Each loop retains its own refrigerant, enthalpy reference and mass flow. The intermediate exchanger temperature is specified by the midpoint of its two phase temperatures and their approach. Overall coefficient of performance divides the external cold duty by the sum of both compressor powers.
In a flash-staged single-fluid system, throttled high-pressure liquid separates into saturated liquid and vapour at intermediate pressure. Energy balance determines the flash fraction. The remaining liquid supplies the lower evaporator, while flash vapour joins the low-stage discharge before upper-stage compression. That mixing balance makes high-stage mass flow differ from low-stage mass flow. An optimum intermediate condition must therefore recompute the complete coupled balance.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
pi | Intermediate pressure between two stages. | MPa | Intermediate pressure. |
DeltaT_cascade | The temperature overlap in the exchanger that couples two refrigeration loops. | K | Temperature overlap in the cascade exchanger. |
eta_c | Isentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken. | - | — |
Qdot_L | Rate of heat removed from the cold side, which is the useful output of a refrigerator. | kW | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
beta | Coefficient of performance of a refrigerator: heat removed from the cold space divided by the work it cost. Routinely greater than one, which is why it is not called an efficiency. | - | — |
Wdot | Rate of work transfer, that is, power. | kW | — |
pi_opt | The intermediate pressure that minimises total work, which for two ideal stages is the geometric mean of the end pressures. | MPa | Flash staging optimises intermediate pressure. The separate-loop route instead optimises the exchanger midpoint temperature, with the chosen temperature approach held fixed. |
mdot | Mass flow rate. | kg/s | Flash core flows are kmol/s and are multiplied by the selected molar mass at the display boundary. Separate-loop outputs are kg/s for each fluid independently. |
Which arrangement?
cascade: two separate loops coupled by a heat exchanger, possibly different refrigerants, multistage with a flash chamber and direct-contact mixing, one refrigerant
Both arrangements are calculated and explicitly selectable.
Exact relations:
Monotonic trends:
The phase-change portions approach reversible heat exchange, while desuperheating can retain entropy generation.
How the app handles it: Allow zero approach as an ideal limiting calculation, label it explicitly and still report total exchanger entropy generation.
one stage vanishes
How the app handles it: collapse to the single-stage cycle explicitly
Component states, separator fractions and mixed-stream enthalpies are solved using the selected fluid model. The search evaluates the whole arrangement at candidate intermediate temperatures or pressures and retains valid intervals. Tables and diagrams keep loop identity and convert molar internal properties to the displayed mass basis once.
Choose the arrangement before entering an intermediate condition: cascade uses an exchanger temperature, while flash staging uses pressure. Do not force equal stage flows. Check each loop's fluid label when comparing enthalpy tables; unlike heat transfer, absolute enthalpy references are not transferred between different fluids.
The same hardware as the refrigeration cycle, read from the other end. Plotted against a building load line so the balance point, the outdoor temperature below which the heat pump cannot keep up, is a place on a graph rather than a number.
The same four components and the same four states as the refrigeration cycle. What changes is which duty you are buying: the condenser's instead of the evaporator's. So the heating coefficient of performance exceeds the cooling one by exactly one, for the same cycle -- not approximately, and not as a modelling choice. It is the energy balance rearranged.
The heat delivered is the heat absorbed plus the work paid, because the cycle stores nothing over a period. Dividing by the work gives the identity directly. That is the whole of the thermodynamic difference between this screen and the refrigeration one, and it is why a heat pump delivering three units of heat for one of work is not doing anything remarkable: two of the three came in from outside.
What makes this a separate screen rather than a relabelling is the balance point. A building loses heat in proportion to how cold it is outside, so its load rises linearly as the outdoor temperature falls. An air-source heat pump's output does the opposite, and it falls for two compounding reasons. The first is the coefficient of performance: the temperature span widens, so each unit of work moves less heat. The second is the mass flow.
The second is the one a fixed-flow model cannot show, and it is why this module sizes the compressor by displacement rather than by flow. A real compressor sweeps a fixed volume per revolution, so the molar flow is that swept volume times a volumetric efficiency divided by the suction specific volume. As the outdoor temperature falls, the evaporator pressure falls with it, the suction specific volume rises, and the flow drops -- on top of the drop in coefficient of performance. Assume a fixed mass flow instead and the capacity curve is far too flat, the two lines cross much lower than they really do, and the screen reports a balance point that would leave a house cold. The compounding is the phenomenon; modelling it away deletes the answer.
Where the falling capacity curve crosses the rising load line is the balance point: the outdoor temperature below which the machine cannot keep up. Below it the shortfall is made up by resistance heat at a coefficient of performance of one, which is why the balance point is the number that decides an installation.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | — |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Evaporator, tracking outdoor temperature. |
eta_c | Isentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken. | - | 0 < eta_c <= 1Isentropic efficiency: the actual device measured against the reversible one working between the same two states. The ratio is written so that it cannot exceed one, and reaches one only for a reversible machine. |
Qdot_H | Rate of heat delivered to the warm side, which is the useful output of a heat pump. | kW | Building heat demand. |
UA_building | How readily the building loses heat: its conductance to outdoors. | kW/K | — |
T_indoor | The indoor temperature the building is being held at. | K | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
gamma | Coefficient of performance of a heat pump: heat delivered to the warm space divided by the work it cost. Always exactly one more than the refrigeration value for the same machine. | - | γ=(h₂-h₃)/(h₂-h₁) |
Qdot_H | Rate of heat delivered to the warm side, which is the useful output of a heat pump. | kW | — |
Wdot | Rate of work transfer, that is, power. | kW | — |
T_balance | The outdoor temperature at which a heat pump's capacity has fallen to exactly meet the building's demand. Below it, something else has to make up the difference. | K | Outdoor temperature at which capacity equals demand. |
Heat source
outdoor air, evaporator temperature tracks it, ground or water, at a stated temperature
An air-source machine loses capacity exactly when demand rises, which is the whole reason the balance point matters.
Exact relations:
Monotonic trends:
frost forms on the outdoor coil and real capacity departs from the model
How the app handles it: warn that the modelled capacity is optimistic below this point and say why, rather than reporting it as achievable
no balance point exists in the modelled range
How the app handles it: report that supplementary heat is required at every temperature in range, rather than returning a solver failure
Solve one operating point the way the refrigeration screen does, but with the flow set by displacement rather than given, and with both approach temperatures applied so that the refrigerant's saturation temperatures sit outside the air temperatures on both sides.
The balance point is found by walking the outdoor temperature down and looking for the crossing of the capacity curve and the load line. When the two do not cross in the range the machine can run over, the app retains the curve and reports whether the machine covers the whole design range or remains short throughout. Neither status invents a crossing temperature.
Frost is flagged rather than modelled. Below the freezing point of water the outdoor coil ices up, the real capacity departs from this model, and the app says the modelled capacity is optimistic there and why, rather than reporting it as achievable.
Read the heating and cooling coefficients of performance together. They must differ by exactly one; if they do not, a duty has been assigned to the wrong exchanger.
Read the capacity against what a building would actually need. A coefficient of performance of four at mild temperatures says nothing about the coldest hour of the year, and the coldest hour is what sizes the installation.
Watch the suction specific volume as you lower the outdoor temperature. It is the mechanism behind the capacity fall that the coefficient of performance alone does not explain, and it is why an air-source machine loses output exactly when the demand rises.
The frosting flag marks the point below which this model is optimistic. Treat capacities below it as upper bounds.
Compare an air reverse-Brayton refrigerator with a transcritical CO2 automotive cycle. Both can exchange heat internally; the CO2 cycle uses a valve and a gas cooler, with six phase-aware states and an explicit property-model accuracy warning.
Gas refrigeration uses work to move heat from a colder region to a warmer one. The air reverse-Brayton route obtains refrigeration through expansion work, while the transcritical CO2 route uses compression, gas cooling, throttling and evaporation; their common purpose does not make their states interchangeable.
In reverse Brayton, compression requires work and expansion returns some of it. The cold-side heat absorbed divided by their work difference defines refrigeration coefficient of performance. A recuperator transfers energy internally between streams, changing the expansion inlet and the temperature available for refrigeration without adding external heat.
Transcritical CO2 rejects heat above its critical pressure, so the high-pressure outlet is a gas-cooler state rather than saturated condenser liquid. Throttling preserves enthalpy and determines the evaporator inlet state. The optional internal exchanger removes enthalpy from the high-pressure stream and adds the same amount to low-pressure suction gas. Its control is a specified fraction of the cold-side available enthalpy rise; phase-dependent heat capacities prevent treating it as an arbitrary temperature-effectiveness formula.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | Pa | — |
rp | Pressure ratio across the compressor, or in the dual cycle the pressure rise during the constant-volume part of heat addition. | - | — |
T3 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Temperature after heat rejection. |
eta_c | Isentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken. | - | — |
eta_t | Isentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced. | - | Air turbine only; the CO2 branch has an isenthalpic expansion valve. |
eta_reg | Regenerator effectiveness: how much of the available temperature rise the regenerator actually delivers. | - | Air regenerator effectiveness. CO2 branch instead labels this control cold-side enthalpy approach: a = q/[h(pLow,TgasCooler)-h6], validated by sampled temperature differences and positive entropy integration. |
mdot | Mass flow rate. | kg/s | — |
T_evap_CO2 | CO2 saturated-vapor evaporator exit temperature; property solver enforces its model range. | K | co2_triple_temperature < T_evap_CO2 < Tcrit_CO2CO2 saturated-vapor evaporator exit temperature; property solver enforces its model range. |
T_cooler_CO2 | CO2 gas-cooler exit temperature. | K | T_cooler_CO2 > Tcrit_CO2CO2 gas-cooler exit temperature. |
p_high_CO2 | Explicit discharge pressure for the CO2 automotive arrangement. | MPa | p_high_CO2 > pcrit_CO2Explicit discharge pressure for the CO2 automotive arrangement. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
beta | Coefficient of performance of a refrigerator: heat removed from the cold space divided by the work it cost. Routinely greater than one, which is why it is not called an efficiency. | - | CO2 branch uses composition.co2_refrigeration.analyse: capacity/power already include kg/s to molar-state conversion; lowest temperature is taken over all six states. |
Qdot_L | Rate of heat removed from the cold side, which is the useful output of a refrigerator. | kW | The solver returns specific energy in kJ/kg. PresentationIndustrialView.refrigerationRates multiplies by the entered mass flow to produce kW. CO2 branch uses composition.co2_refrigeration.analyse: capacity/power already include kg/s to molar-state conversion; lowest temperature is taken over all six states. |
Wdot | Rate of work transfer, that is, power. | kW | The solver returns specific energy in kJ/kg. PresentationIndustrialView.refrigerationRates multiplies by the entered mass flow to produce kW. CO2 branch uses composition.co2_refrigeration.analyse: capacity/power already include kg/s to molar-state conversion; lowest temperature is taken over all six states. |
T5 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Lowest temperature reached, which is the figure of merit for cryogenic use. CO2 branch uses composition.co2_refrigeration.analyse: capacity/power already include kg/s to molar-state conversion; lowest temperature is taken over all six states. |
q_IHX_CO2 | CO2 internal heat transferred per unit mass. | kJ/kg | CO2 internal heat transferred per unit mass. |
sigma_IHX_CO2 | CO2 internal-HX entropy production rate; positive reciprocal-temperature integral times heat and mass flow. | kW/K | CO2 internal-HX entropy production rate; positive reciprocal-temperature integral times heat and mass flow. |
pinch_IHX_CO2 | Minimum sampled CO2 counterflow temperature difference over65 equal-duty points. | ΔK | Minimum sampled CO2 counterflow temperature difference over65 equal-duty points. |
Regenerative heat exchange?
no, yes, at a stated effectiveness
Both models have an explicit internal heat-exchange choice. Air uses equal-flow ideal-gas enthalpy effectiveness; CO2 uses a declared cold-side enthalpy approach fraction. Zero disables internal heat exchange exactly.
Working fluid
air, carbon dioxide, transcritical
Air uses the six-station reverse Brayton gas cycle. CO2 uses the six-state transcritical automotive arrangement with internal HX, gas cooler and valve; no turbine. Its properties use phase-aware Peng-Robinson with a visible near-critical accuracy warning.
Exact relations:
Monotonic trends:
both the capacity and the net work vanish and the coefficient of performance is 0/0
How the app handles it: report the degenerate cycle rather than a ratio of vanishing quantities
The selected cycle propagates actual and isentropic component states, computes heat and net work, and checks their positive resolved values. CO2 internal-exchanger feasibility compares equal-duty samples on both pressure paths and rejects a temperature crossing. State and profile plots carry the fluid and model identity into exports.
Check the selected fluid route before comparing component counts or work recovery. In the transcritical route there is no high-pressure saturation temperature to use as a condenser setting. A larger internal-exchange fraction may become infeasible through a temperature cross and is not automatically an improvement in COP.
Linde or Claude recuperative liquefaction with phase-aware states, actual adiabatic compression, return mixing and temperature-cross checks. Nitrogen/methane use full-range Helmholtz models throughout; CO2 retains the labelled PR/NASA route.
A liquefier produces a liquid fraction from a circulating gas stream by compression, heat rejection, recuperation and expansion. Its useful product is the separated liquid, so work per unit liquid depends on both circulation work and liquid yield.
The compressor raises pressure and the aftercooler returns the high-pressure feed to the specified supply temperature. In the throttling arrangement, returning cold gas precools that feed before an isenthalpic valve creates a two-phase separator inlet. Mass and energy balances determine the liquid fraction and returning vapour. Recuperation closes the cold-box energy balance; a positive algebraic yield alone is insufficient if the exchanger temperatures cross.
The expander-assisted arrangement diverts a stated branch through a work-producing expansion path, then mixes its outlet with the return stream. Both the work recovered and the changed return enthalpy affect yield and compressor duty. Divide net circulation work by product fraction to obtain work per liquid mass. Minimum reversible work follows the product's environmental exergy change, and its ratio to actual work defines the figure of merit.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
substance | Which working fluid the screen is operating on. | — | CO2, N2, CH4CO2 uses the cubic/NASA model; N2 and CH4 use their cryogenic Helmholtz models. |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Fresh-feed and aftercooler temperature; actual compressor suction follows return mixing. |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | 0 < p_low < p_highCommon low pressure of feed, separator and return. |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | 0 < p_low < p_highCompressor discharge and high-pressure heat-exchanger pressure; not station 2 pressure. |
eta_reg | Regenerator effectiveness: how much of the available temperature rise the regenerator actually delivers. | - | 0 < eta_reg <= 1Linde uses one recuperator; Claude adds a positive expander split and a second recuperator. Warm-end enthalpy approach applies to the entire Linde recuperator but only the warm Claude recuperator. At a fixed approach below one, zero split is not a continuous cross-arrangement limit. |
eta_c | Isentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken. | - | 0 < eta_c <= 1Adiabatic isentropic efficiency from the actual mixed suction state; not the legacy ideal isothermal work estimate. |
alpha_split | Fraction of compressed feed sent through the work-producing expander. | - | 0 < alpha_split < 1 for Claude; zero for LindeFraction of feed through the expander. |
T_split | Temperature where the high-pressure flow divides between the expander and cold recuperator. | K | T_sat_low < T_split < T_supplyHigh-pressure split-point temperature for Claude. |
eta_t | Isentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced. | - | 0 < eta_t <= 1Dry-expander isentropic efficiency. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
y_liquid | Liquid yield: the fraction of the gas processed that comes out as liquid. Small, and seeing how small is the point. | - | Liquid production divided by compressor circulation; the fresh make-up fraction equals this yield at steady state. Single-species molar and mass fractions agree. |
w_specific | Work required per unit mass of product, which for liquefaction is per kilogram of liquid actually made rather than per kilogram processed. | kJ/kg | Net input work per kg liquid product. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. |
w_min_liquid | Reversible minimum work per kg liquid product. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. | kJ/kg | Reversible minimum work per kg liquid product. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. |
beta | Coefficient of performance of a refrigerator: heat removed from the cold space divided by the work it cost. Routinely greater than one, which is why it is not called an efficiency. | - | Minimum work divided by actual net work on the same liquid basis. |
w_feed | Net input work per kg feed. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. | kJ/kg | Net input work per kg compressor circulation. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. |
w_compressor | Compressor work per kg feed. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. | kJ/kg | Compressor work per kg compressor circulation. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. |
w_expander | Recovered expander work per kg feed; the flow-split factor is already included. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. | kJ/kg | Recovered expander work per kg compressor circulation; the flow-split factor is already included. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. |
q_aftercooler | Aftercooler heat rejection per kg feed. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. | kJ/kg | Aftercooler heat rejection per kg compressor circulation. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. |
closure_feed | Whole-process energy residual per kg feed. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. | kJ/kg | Whole-process energy residual per kg compressor circulation. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. |
cold_box_closure | Cold-box energy residual per kg feed. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. | kJ/kg | Cold-box energy residual per kg compressor circulation. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. |
s_gen_feed | Whole-process entropy generation per kg feed and kelvin. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. | kJ/(kg K) | Whole-process entropy generation per kg compressor circulation and kelvin. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. |
s_mix_feed | Return-mixing entropy generation per kg feed and kelvin. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. | kJ/(kg K) | Return-mixing entropy generation per kg compressor circulation and kelvin. Raw result is molar; ui.liquefaction_view.per_mass divides by the selected molar mass before display. |
T_inversion | The temperature above which throttling warms the gas instead of cooling it, so simple liquefaction stops working. | K | Independent warm-gas Peng–Robinson/NASA diagnostic; not the N2/CH4 Helmholtz cycle inversion locus. |
flow_fraction | Each station flow divided by fresh compressor-feed basis. | - | Each station flow divided by compressor circulation (station 2 flow = 1); fresh make-up at station 1 equals liquid yield, not unity. |
sampled_approach | Minimum computed temperature difference at sampled heat fractions. | K | Minimum of 65 recuperator heat-load samples; temperature difference, not absolute temperature or a continuous certificate. |
Which arrangement?
simple throttling with counterflow recuperation, with a work-producing expander in parallel
Linde uses one recuperator; Claude adds a positive expander split and a second recuperator. Warm-end enthalpy approach applies to the entire Linde recuperator but only the warm Claude recuperator. At a fixed approach below one, zero split is not a continuous cross-arrangement limit.
Exact relations:
Monotonic trends:
The local JT derivative vanishes; the full process yield need not vanish there.
How the app handles it: Report inversion as a local diagnostic only; use the full phase-aware process balance to accept or refuse liquefaction.
The cold-return stream vanishes and its enthalpy balance becomes singular.
How the app handles it: Reject the process before dividing by zero. A Claude selection with zero split is refused explicitly.
States are recovered along each pressure and enthalpy path, and the circulation, separator and expander balances are solved together. Each recuperator is checked at 65 equal-duty positions per section, including phase behaviour. Net work, heat rejection, mixing entropy and whole-process entropy must remain physically admissible before a result is accepted.
Distinguish circulating-flow work from work per liquid product and inspect the yield denominator. Small yield can make product-specific work very large without an arithmetic error. A good figure of merit must be accompanied by valid exchanger profiles and a clear property model, not just a positive separator fraction.
Any two of the seven moist-air properties fix the state. Plotted live on a psychrometric chart this app generates from its own saturation data, which is why the chart is correct at any barometric pressure instead of only at sea level.
At a stated barometric pressure, two independent moist-air properties determine the mixture state. Pressure is an additional environmental input: using a sea-level humidity chart at another pressure changes humidity ratio and specific volume even if temperature and relative humidity are unchanged.
Water-vapour partial pressure is relative humidity times saturation pressure at dry-bulb temperature. Dividing vapour mass by dry-air mass gives humidity ratio from the partial-pressure ratio and molecular masses. Enthalpy and volume are then reported per unit mass of dry air, which remains conserved when water is added or removed.
Dew point is the temperature at which cooling reaches the existing vapour partial pressure's saturation condition. Thermodynamic wet-bulb temperature instead follows the energy and water balance of adiabatic saturation. These are different constructions. For unsaturated air the wet-bulb root lies between dew point and dry bulb; at saturation all three temperatures coincide.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | Barometric pressure; altitude-corrected. |
Tdb | Dry-bulb temperature: what an ordinary thermometer in the air stream reads. | K | — |
Twb | Wet-bulb temperature: what a thermometer with a wet wick reads, which is lower because evaporation cools it. How much lower is a measure of how dry the air is. | K | — |
Tdp | Dew point: the temperature at which the air being cooled would start to condense. | K | — |
omega | Humidity ratio: kilograms of water vapour carried per kilogram of dry air. The quantity that stays fixed when moist air is merely heated or cooled. | - | — |
phi | Relative humidity: how much water vapour the air holds as a fraction of the most it could hold at that temperature. | - | 0 <= phi <= 1 |
h_da | Enthalpy of moist air per kilogram of dry air, rather than per kilogram of mixture, because the dry air is what stays constant through the processes. | kJ/kg | Enthalpy per unit mass of dry air. |
altitude | Height above sea level, used to correct the barometric pressure, which shifts the whole chart. | m | -500 <= altitude <= 11000 |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
omega | Humidity ratio: kilograms of water vapour carried per kilogram of dry air. The quantity that stays fixed when moist air is merely heated or cooled. | - | ω=0.622pᵥ/(p-pᵥ) |
phi | Relative humidity: how much water vapour the air holds as a fraction of the most it could hold at that temperature. | - | — |
Tdp | Dew point: the temperature at which the air being cooled would start to condense. | K | — |
Twb | Wet-bulb temperature: what a thermometer with a wet wick reads, which is lower because evaporation cools it. How much lower is a measure of how dry the air is. | K | — |
h_da | Enthalpy of moist air per kilogram of dry air, rather than per kilogram of mixture, because the dry air is what stays constant through the processes. | kJ/kg | h=h_a+ω h_g(T) |
v_da | Volume occupied per kilogram of dry air. | m^3/kg | — |
mu_sat | Degree of saturation: the humidity ratio as a fraction of the saturated value at the same temperature and pressure. | - | — |
p_partial | Partial pressure: the pressure one component of a mixture would exert if it alone occupied the whole volume. | MPa | — |
Which two properties are given?
dry-bulb and wet-bulb, dry-bulb and relative humidity, dry-bulb and dew point, dry-bulb and humidity ratio, enthalpy and humidity ratio
Not every pair is independent everywhere: at saturation the three temperatures coincide and any two of them fix nothing.
Wet-bulb model
adiabatic saturation temperature, the thermodynamic definition, psychrometer reading, treated as equal to it
They are not the same quantity. Treating them as equal is standard practice and the screen says that it is an approximation rather than pretending it is not.
Exact relations:
Monotonic trends:
the humidity ratio diverges; this happens at high temperature and low barometric pressure, which is a real condition at altitude, not a hypothetical
How the app handles it: domain guard V-PSYCHRO-SATURATED, reported as an unphysical state
the dew point falls out of the validated range of the saturation formulation
How the app handles it: report dry air explicitly rather than extrapolating the saturation line downward
the residual is nearly flat, so a naive iteration wanders
How the app handles it: bracket between dew point and dry-bulb, which always contains the root, then secant
The chosen pair is reduced to dry-bulb temperature and humidity ratio, using a bracketed solve for wet-bulb and enthalpy–humidity-ratio inversions where needed. Dew point uses the IF97 saturation-temperature relation directly. Saturation endpoints are handled consistently with the forward relations. The chart is generated for the entered pressure, so its curves and selected point share the same state model.
Humidity ratio is water mass per dry-air mass, not water's fraction of total moist-air mass. Enter relative humidity in the unit shown. When comparing a printed chart, first match barometric pressure and then check which temperature pair was used.
Six processes on one screen, each drawn as a path on the chart. Seeing the path is most of the understanding: dehumidification is a corner, not a line, and no formula makes that as clear as the picture does.
Air-conditioning processes couple dry-air conservation, water conservation and energy balance. Their paths differ because sensible heating changes temperature without changing humidity ratio, whereas condensation, injection and evaporation also move water across the control-volume boundary.
For sensible heating or cooling with no phase change, water per unit dry air remains constant and duty follows the moist-air enthalpy change. Once a cooling coil removes water, the condensate carries enthalpy out as well; omitting that stream changes the required duty. The bypass-factor coil constructs outlet dry-bulb temperature and humidity ratio by separate linear interpolations between inlet air and the saturated apparatus state. This empirical construction is not an exact enthalpy-weighted adiabatic mixing calculation.
Steam injection and liquid spray add both water and its inlet enthalpy. Evaporative cooling approaches adiabatic saturation rather than an arbitrary lower temperature. Mixing two moist-air streams requires separate dry-air-weighted water and enthalpy balances, followed by a state reconstruction. If that reconstruction crosses saturation, the mixing task refuses the fog-forming outlet because it does not solve a coupled liquid-condensate balance.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
process | Which of the available process paths the screen is applying. | — | — |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
mdot1 | Mass flow rate. | kg/s | Dry air flow. |
Tdb1 | Dry-bulb temperature: what an ordinary thermometer in the air stream reads. | K | — |
phi1 | Relative humidity: how much water vapour the air holds as a fraction of the most it could hold at that temperature. | - | — |
Tdb2 | Dry-bulb temperature: what an ordinary thermometer in the air stream reads. | K | Second inlet temperature/humidity for adiabatic mixing; target supply temperature is entered in the relevant sensible or reheat branch. |
phi2 | Relative humidity: how much water vapour the air holds as a fraction of the most it could hold at that temperature. | - | Second inlet temperature/humidity for adiabatic mixing; target supply temperature is entered in the relevant sensible or reheat branch. |
mdot_water | Rate at which liquid water is added to or removed from a moist air stream. | kg/s | Injected water for steam or spray humidification. Condensate removal is an output in cooling branches. |
T_coil | Coil dew-point temperature in dehumidifying branches. | K | branch-dependentCoil dew-point temperature in dehumidifying branches. |
T_supply | Specified final supply temperature for sensible heating/cooling or reheat. | K | branch-dependentSpecified final supply temperature for sensible heating/cooling or reheat. |
bypass | Optional coil bypass factor; zero when omitted. | - | branch-dependentOptional coil bypass factor; zero when omitted. |
T_water | Injected steam or spray-water temperature; interpretation follows process. | K | branch-dependentInjected steam or spray-water temperature; interpretation follows process. |
epsilon_evap | Evaporative-cooling effectiveness. | - | branch-dependentEvaporative-cooling effectiveness. |
mdot2 | Mass flow rate. | kg/s | finite positiveSecond inlet dry-air mass flow for adiabatic mixing. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
Qdot | Rate of heat transfer. | kW | — |
mdot_water | Rate at which liquid water is added to or removed from a moist air stream. | kg/s | ṁ_w=ṁ_a(ω_2-ω_1) |
omega2 | Humidity ratio: kilograms of water vapour carried per kilogram of dry air. The quantity that stays fixed when moist air is merely heated or cooled. | - | — |
Tdb2 | Dry-bulb temperature: what an ordinary thermometer in the air stream reads. | K | — |
SHR | Sensible heat ratio: the share of the total cooling load that changes temperature rather than removing moisture. It is what sizes real equipment. | - | Sensible fraction of the total load, which is what sizes real equipment. |
Which process?
sensible heating, sensible cooling, cooling with dehumidification, cooling with dehumidification and reheat, humidification by steam injection, humidification by water spray, evaporative cooling, adiabatic mixing of two moist air streams
Each has a different mass balance for water, so this is a structural branch, not a display option.
For dehumidification, how is the coil specified?
exit state at saturation, exit state with a stated bypass factor
Real coils do not deliver saturated air, and the bypass factor is how that is expressed.
Exact relations:
Monotonic trends:
further cooling condenses rather than lowers the humidity ratio, and the path turns a corner
How the app handles it: detect the crossing and split the path at it, so the drawn line has the corner the physics has
the requested state is unreachable by that coil
How the app handles it: refuse with an explanation of which constraint failed
Each of the eight process selections applies its own water and energy balances, then calls the common moist-air state solver. Cooling-plus-reheat retains both component duties, and mixing checks the reconstructed state against saturation and refuses fog-forming states. Chart paths and reported heat and moisture rates come from the same process result.
Check the sign of duty and moisture flow, the dry-air basis and the selected process before comparing results. Net cooling-plus-reheat duty can hide substantial cooling and reheating loads; the separate values explain that difference. A straight chart connection is a process guide unless the result explicitly supplies a sampled path.
Where a power plant's rejected heat actually goes. Range and approach are the two numbers the industry uses, and the approach cannot be driven to zero however large the tower, which is the constraint the screen exists to show.
An evaporative cooling tower rejects heat by warming and humidifying air while losing some circulating water to evaporation. The water loss affects the energy and entropy balances, so air flow cannot be found from a heat-to-air-enthalpy ratio that ignores changing liquid flow.
Conserve dry air through the tower. The air humidity-ratio increase multiplied by dry-air flow gives evaporated water, reducing the liquid flow leaving the tower. Substitute that water balance into the total energy balance. The resulting denominator is the air enthalpy increase minus the added-vapour mass per dry-air mass times the exiting liquid enthalpy; this correction changes the air-flow requirement.
The complete entropy balance includes moist air, entering water and the reduced exiting liquid stream. A state can close energy yet require negative entropy production, so temperature ordering alone is not sufficient. Range measures the water's temperature drop; approach compares leaving-water temperature with entering-air wet bulb and is a different design quantity.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
mdot1 | Mass flow rate. | kg/s | Water flow. |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Warm water in. |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Cooled water out. |
Tdb3 | Dry-bulb temperature: what an ordinary thermometer in the air stream reads. | K | Air in. |
phi3 | Relative humidity: how much water vapour the air holds as a fraction of the most it could hold at that temperature. | - | — |
Tdb4 | Dry-bulb temperature: what an ordinary thermometer in the air stream reads. | K | Air out. |
phi4 | Relative humidity: how much water vapour the air holds as a fraction of the most it could hold at that temperature. | - | — |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
mdot_air | Dry air mass flow rate. | kg/s | — |
mdot_makeup | Rate at which water must be replaced to make up for what evaporated. | kg/s | — |
range | Cooling tower range: how far the water temperature falls across the tower. | ΔK | — |
approach | Cooling tower approach: how close the cooled water gets to the entering air's wet-bulb temperature. It can be made small but never zero, however large the tower. | ΔK | — |
sigmadot | Rate of entropy production. | kW/K | — |
How is the exiting air specified?
saturated at a stated temperature, at a stated temperature and relative humidity
Exiting air is nearly but not exactly saturated, and assuming saturation changes the makeup answer.
Exact relations:
Monotonic trends:
the required tower size is unbounded
How the app handles it: report the wet-bulb bound and say the size is unbounded, rather than returning a tower that cannot exist
no evaporative capacity remains and the tower cools only sensibly
How the app handles it: detect it and say so; this is why these towers work poorly in humid climates
The common moist-air solver determines inlet and outlet properties. Water and energy balances are solved together for dry-air flow and evaporation, followed by a complete entropy-production check. Nonpositive useful energy uptake or negative entropy generation rejects the proposed tower.
Keep range and approach separate and check the exit-air assumption before quoting air flow or make-up. A saturated exit is a model selection rather than an automatic measurement. The entropy result is an additional admissibility check, not a replacement for equipment design.
Balancing the reaction and expressing the air supply in the four ways the subject uses: theoretical air, per cent excess air, air-fuel ratio, and equivalence ratio. They are one quantity wearing four hats and the screen shows all four at once.
Combustion stoichiometry begins with atom conservation, independently of reaction temperature or released heat. Specifying a fuel's element counts and an oxidizer supply determines the product amounts only after a product model has also been chosen.
For complete oxidation, each carbon atom requires one oxygen molecule to form carbon dioxide, each pair of hydrogen atoms requires half an oxygen molecule to form water, and sulfur requires oxygen to form sulfur dioxide. Oxygen already present in the fuel reduces the external requirement. Nitrogen accompanying the oxygen and nitrogen in the fuel are carried into the declared nitrogen product. Theoretical air follows from the specified oxygen-to-nitrogen relation. Air supplied beyond the theoretical amount remains as excess oxygen in the complete-product model.
Moisture brought in with the air adds water and its associated hydrogen and oxygen without supplying net combustion oxygen. Wet product fractions include that water; dry fractions remove it before normalization. A product dew point is the saturation temperature corresponding to the water partial pressure, not the temperature obtained by applying total exhaust pressure to pure water.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
fuel | Which fuel is being burned. | — | — |
a_C | Number of carbon atoms in one molecule of the fuel. | - | — |
b_H | Number of hydrogen atoms in one molecule of the fuel. | - | — |
c_O | Number of oxygen atoms already in one molecule of the fuel. | - | — |
d_N | Number of nitrogen atoms in one molecule of the fuel. | - | — |
e_S | Number of sulphur atoms in one molecule of the fuel. | - | — |
pct_theo_air | How much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough. | - | — |
phi_eq | Equivalence ratio: how much fuel is present relative to exactly enough. One means exactly enough, above one means rich. | - | 0 < phi_eq <= 1 |
AF | Air-fuel ratio on a mass basis: kilograms of air supplied per kilogram of fuel. | - | — |
omega | Humidity ratio: kilograms of water vapour carried per kilogram of dry air. The quantity that stays fixed when moist air is merely heated or cooled. | - | Humidity ratio of the combustion air, when moist air is used. |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | positive product pressurePressure for the product-water dew-point calculation; does not change stoichiometric coefficients. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
alpha_stoich | Moles of oxygen needed to burn one mole of the fuel completely with none left over. | - | — |
AF | Air-fuel ratio on a mass basis: kilograms of air supplied per kilogram of fuel. | - | AF=AF̄ M_air/M_fuel |
AF_molar | The same ratio counted in moles instead of kilograms. | - | — |
phi_eq | Equivalence ratio: how much fuel is present relative to exactly enough. One means exactly enough, above one means rich. | - | — |
pct_theo_air | How much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough. | - | — |
products | The species and amounts the reaction produces. | — | — |
Tdp | Dew point: the temperature at which the air being cooled would start to condense. | K | Below this the water in the exhaust condenses, which is what limits stack temperature in a real plant. |
How is the air supply stated?
per cent theoretical air, per cent excess air, air-fuel ratio on a mass basis, equivalence ratio
Four names for one number, and mixing them up is the most common error in the chapter.
Dry or moist combustion air?
dry air, moist air at a stated humidity ratio
Air water is added to both reactants and products. Humidity is kg water per kg of the modeled O2/3.76N2 dry-air mixture; dry conventional and consistent mass ratios remain separately visible.
Exact relations:
Monotonic trends:
there is not enough oxygen for complete combustion and the simple product set is no longer valid
How the app handles it: refuse the complete-combustion assumption above stoichiometric and route the user to the products-analysis screen or the equilibrium screen, rather than reporting a balance that cannot occur
there is no water in the products and the dew point does not exist
How the app handles it: suppress the dew point rather than reporting the lower bound of the saturation formulation
The app converts the selected air-supply convention to one common oxygen supply, balances the declared elements and normalizes wet and dry products separately. Two mass air/fuel conventions are shown: conventional uses the real-air molecular mass, while model-consistent uses the declared O2 plus 3.76 N2 composition. Humidity and model-consistent wet-air mass use that same modeled inventory. Water partial pressure is passed to the saturation relation for the dew-point calculation.
Check whether a result is per mole of fuel, per fuel mass or a normalized product fraction. Percent theoretical air and percent excess air differ by one hundred percentage points. A dry oxygen reading cannot be compared directly with the wet oxygen fraction without removing water from the denominator.
The inverse problem: a flue gas analysis is what you can actually measure, and the fuel-air ratio is what you want to know. This is how combustion is checked in the field.
A flue-gas analysis can constrain fuel and air supply by reversing atom balances, but the recovered fuel scale depends on what is known independently. Normalized dry fractions alone determine an empirical composition, not necessarily a molecular formula.
The declared dry analysis contains carbon dioxide, carbon monoxide, oxygen and nitrogen. Normalize those readings together. Carbon oxides determine the carbon carried by the fuel, and nitrogen determines the accompanying air oxygen under the dry-air composition assumption. Subtract oxygen used by carbon oxides and free oxygen from the supplied oxygen; the remainder determines product water and therefore fuel hydrogen.
When fuel composition is known, that composition fixes the fuel basis and leaves air supply to recover. When molar air/fuel ratio is supplied, it fixes the otherwise free molecular scale. When neither is supplied, choosing one carbon atom per empirical fuel unit removes the scaling ambiguity without pretending to identify molecular size. Near zero recovered hydrogen or zero excess air, subtraction makes their relative sensitivity large even when total air supply remains well determined.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
y_CO2 | Mole fraction of carbon dioxide in the dry product gas. | - | 0 <= y_CO2 <= 1Mole-fraction mode requires sum 1 within 0.002. Relative amounts have a separate explicit input mode. Nitrogen may be the remainder only when the four dry species are exhaustive. |
y_CO | Mole fraction of carbon monoxide in the dry product gas, which is what incomplete combustion leaves behind. | - | 0 <= y_CO <= 1Mole-fraction mode requires sum 1 within 0.002. Relative amounts have a separate explicit input mode. Nitrogen may be the remainder only when the four dry species are exhaustive. |
y_O2 | Mole fraction of oxygen in the dry product gas, which is what excess air leaves behind. | - | 0 <= y_O2 <= 1Mole-fraction mode requires sum 1 within 0.002. Relative amounts have a separate explicit input mode. Nitrogen may be the remainder only when the four dry species are exhaustive. |
y_N2 | Mole fraction of nitrogen in the dry product gas. | - | 0 <= y_N2 <= 1Mole-fraction mode requires sum 1 within 0.002. Relative amounts have a separate explicit input mode. Nitrogen may be the remainder only when the four dry species are exhaustive. |
fuel | Which fuel is being burned. | — | — |
AF | Air-fuel ratio on a mass basis: kilograms of air supplied per kilogram of fuel. | - | AF > 0Known mode: molar dry-air amount per mole of fuel, not a mass ratio. |
a_C | Number of carbon atoms in one molecule of the fuel. | - | a_C > 0Known-fuel carbon count. |
b_H | Number of hydrogen atoms in one molecule of the fuel. | - | b_H >= 0Known-fuel hydrogen count. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
AF | Air-fuel ratio on a mass basis: kilograms of air supplied per kilogram of fuel. | - | — |
phi_eq | Equivalence ratio: how much fuel is present relative to exactly enough. One means exactly enough, above one means rich. | - | — |
a_C | Number of carbon atoms in one molecule of the fuel. | - | — |
b_H | Number of hydrogen atoms in one molecule of the fuel. | - | — |
pct_theo_air | How much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough. | - | — |
What is known?
the fuel, solving for the air supply, the air supply, solving for the fuel composition, neither, solving for both from a complete analysis
Known air means molar air per fuel mole. Unknown fuel and air require all four dry readings and return a C=1 empirical unit; molecular size is not identified. Assumes C/H-only fuel, no soot/H2/unmeasured dry products.
Exact relations:
Monotonic trends:
Recovered near-zero hydrogen or excess air can have large relative sensitivity even while total air/fuel is well conditioned.
How the app handles it: Report separate first-order componentwise conditions for molar air/fuel, hydrogen, and excess air, assuming independently bounded relative errors in each raw reading.
the carbon balance cannot be closed and the fuel cannot be a hydrocarbon
How the app handles it: refuse with an explanation rather than dividing by zero
Readings are scaled before normalization to avoid overflow, and atom balances are solved in the selected known-input mode. The oxygen residual diagnoses inconsistency with a supplied fuel. First-order condition measures use four independent readings when nitrogen is measured. In nitrogen-remainder mode only CO2, CO and O2 are independently perturbed and nitrogen is recalculated. These sensitivity measures are not statistical confidence intervals.
Read the stated fuel basis and consistency flag before using the air/fuel ratio. In the fully unknown mode, a C=1 result is an empirical unit. A large hydrogen condition number calls for better measurements or additional information; it is not evidence that all recovered quantities are equally uncertain.
The first law when the chemical identity of the substance changes. The formation enthalpy is the bookkeeping device that makes it possible, and the screen shows it as a separate column so it is never absorbed into a number.
Reaction energy requires formation-reference properties as well as sensible temperature increments. Enthalpy is the natural energy variable for steady-flow streams; internal energy is required for a closed rigid vessel. Their difference includes the change in pressure-volume energy.
Sum product formation and sensible enthalpies and subtract the corresponding reactant terms. This gives the reaction enthalpy change for the actual inlet and outlet temperatures, not just a standard heating value. With work positive out and heat positive in, the steady-flow energy balance gives heat input as enthalpy change plus work output. A rigid closed balance uses internal-energy change instead. Ideal-gas pressure-volume terms convert the gas enthalpies to internal energies; a selected separated liquid-water outlet uses its liquid pressure-volume term.
The difference between higher and lower heating values is the reference enthalpy released by changing product water from vapour to liquid. This is a declared reference endpoint. It does not assert that every water molecule condenses from a mixed flue gas at the chosen total pressure.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
fuel | Which fuel is being burned. | — | — |
pct_theo_air | How much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough. | - | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Reactant temperature. |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Product temperature. |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
W | Work transferred across the boundary, taken as positive when it comes out of the system. | kJ/kmol | Positive work out per kmol of fuel; non-boundary work in a rigid vessel. |
T_liquid | Temperature of the specified separate liquid-water phase. | K | 273.15 <= T_liquid <= 623.15Liquid product-water model envelope. Also requires p >= psat(T), p <= 100 MPa. Gas properties remain ideal-gas NASA data. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
Qdot_per_fuel | Heat transferred per kilomole of fuel burned. | kJ/kmol | — |
hRP | Enthalpy of combustion: the difference between product and reactant enthalpies at the same temperature and pressure. | kJ/kmol | h̄_RP=Σ_P n_eh̄_e-Σ_R n_ih̄_i Standard gas-phase reference, including water as vapor, independent of the selected product phase. |
HHV | Higher heating value: energy released per kilogram of fuel with the product water counted as liquid. | kJ/kg | Water in the products taken as liquid. |
LHV | Lower heating value: the same with the water counted as vapour. Smaller, and quoting the wrong one is a common way to overstate an efficiency. | kJ/kg | Water in the products taken as vapour. |
hf0 | Enthalpy of formation: the energy bookkeeping entry that lets substances of different chemical identity be added together. Zero by convention for a stable element in its reference form. | kJ/kmol | Standard gas-phase reference, including water as vapor, independent of the selected product phase. |
Steady flow or closed system?
steady flow, enthalpy basis, closed rigid vessel, internal energy basis
Both enthalpy and internal-energy sums are implemented. Rigid-vessel work is non-boundary shaft/electrical work; wall displacement work is zero.
Water in the products
vapour, giving the lower heating value, liquid, giving the higher heating value
The water convention changes the specified product phase and the selected standard heating value. Liquid water is a separated final phase, not an inferred equilibrium flue-gas condensate; formation-reference anchoring and IF97 liquid increments are explicit.
Exact relations:
Monotonic trends:
the water changes phase and the enthalpy path has a step
How the app handles it: split at the dew point and account for the condensed fraction, rather than treating all the water as vapour throughout
the two large sums nearly cancel and the released heat is their small difference
How the app handles it: sum the two sides with compensated summation and report the two gross totals beside the difference, so the cancellation is visible
Common species are cancelled algebraically before combining reaction and sensible terms, which protects the finite chemical contribution when large excess-air quantities occur on both sides. NASA records provide gas enthalpies over their valid intervals. Liquid-water increments are added from IF97 using the common reference anchor, and the selected system determines whether the final balance uses enthalpy or internal energy.
Negative heat means the reacting system releases heat. Compare molar and mass-specific values only after checking the fuel molecular mass. Changing from steady flow to a rigid vessel changes the energy basis; it should not be treated as a unit switch.
The temperature the products reach when nothing is taken out. A root-find on the product temperature, and the most iterative thing in the app: the answer is defined only implicitly.
An adiabatic flame uses the chemical energy of reaction to heat its products without exchanging heat with the surroundings. Under a frozen complete-product assumption, product amounts are fixed by stoichiometry and final temperature is the remaining energy-balance unknown.
Evaluate the reactant enthalpy at its entered temperature using formation and sensible contributions. At a trial product temperature, sum the same reference-based enthalpies for the complete-combustion products. Adiabatic steady flow with no work requires equality of those totals. As trial temperature rises within the valid caloric range, product enthalpy increases, providing a bounded temperature root when the specified inputs admit one.
Preheating reactants adds sensible input energy. Additional air changes both the supplied sensible enthalpy and the product heat capacity. At sufficiently high temperature, however, dissociation changes the composition, so the fixed-product root ceases to represent an equilibrium flame. Selecting dissociation routes this entry to a coupled equilibrium-temperature calculation with CO2 and H2O dissociation only. It excludes radicals and NO; the separate equilibrium-combustion task offers the larger species sets.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
fuel | Which fuel is being burned. | — | — |
pct_theo_air | How much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough. | - | Native air input. Equivalence ratio is its reciprocal convention, 100 divided by this percentage; it is not a separate editable input. |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | Reactant temperature, including any preheat. |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
omega | Humidity ratio: kilograms of water vapour carried per kilogram of dry air. The quantity that stays fixed when moist air is merely heated or cooled. | - | Humidity of the combustion air. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
T_ad | Adiabatic flame temperature: how hot the products get when none of the released energy is allowed to leave. | K | — |
products | The species and amounts the reaction produces. | — | — |
residual | How far from zero the energy balance still is at the returned root. Reported rather than assumed, so convergence is visible. | kJ/kmol | The residual at the returned root, reported so convergence is visible rather than asserted. |
Dissociation?
ignored: complete combustion assumed, included, which is the equilibrium flame temperature screen
Complete combustion and two simultaneous CO2/H2O dissociations are both evaluated. The current comparison explicitly excludes radicals/NO; the full M49 extension remains a separate open obligation. Equilibrium solves independently when frozen temperature exceeds data limits, and moist feeds can cool below inlet temperature.
Exact relations:
Monotonic trends:
the energy residual is nearly flat in temperature, so an unbracketed Newton step overshoots by hundreds of kelvin
How the app handles it: bracket first between the reactant temperature and the stoichiometric adiabatic value, then Brent. Never bare Newton. This is a canon rule for this screen.
the caloric data is being extrapolated
How the app handles it: domain guard V-NASA-RANGE; report the bound rather than a number the data cannot support
complete combustion is impossible and the product set assumed by this screen does not exist
How the app handles it: refuse above stoichiometric and route to the equilibrium screen
A bracketed root solve compares product and reactant enthalpies inside the valid thermochemical interval. Failed brackets and invalid product states return explanations. The result is checked against the energy residual, while the dissociation selection recomputes equilibrium products inside its separate outer temperature solve.
Compare the frozen and equilibrium results with identical inputs to see the effect of dissociation. A valid numerical root proves the energy balance for its product model. It does not establish that a real burner reaches that temperature or that all fuel burns completely.
Combustion in a sealed vessel: the bomb calorimeter, and the pressure rise an unintended one would produce. The internal-energy form of the balance, with the moles changing on both sides.
A sealed rigid charge performs no boundary expansion work. Its heat transfer is therefore tied to internal-energy change, while final pressure responds to both the temperature change and the change in total gas amount caused by reaction.
The initial ideal-gas relation determines total charge from pressure, volume and temperature. The declared fuel-to-air proportions then determine the fuel amount in that charge. In calorimeter mode, evaluating reactant and final-product internal energies gives the heat transferred. In specified-heat mode, divide the entered total heat by the initial fuel amount and solve the internal-energy balance for final temperature.
After reaction, the vessel has the same volume but generally a different number of gas moles. Dividing the final and initial ideal-gas relations gives the pressure ratio as the product of the mole ratio and temperature ratio. Using temperature ratio alone misses the chemical change in gas inventory.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
fuel | Which fuel is being burned. | — | — |
pct_theo_air | How much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough. | - | — |
V | Volume: the space the whole system occupies, as opposed to the space one kilogram of it occupies. | m^3 | — |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p1 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
Q | Heat transferred across the boundary, taken as positive when it goes into the system. | kJ | Heat into the entire charge in specified-heat mode; zero is adiabatic. In specified-final-temperature mode heat is an output. |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | within selected product property rangeFinal temperature when the specified-final-state mode is selected; otherwise recovered from full-charge heat. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p2 | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | — |
Qv | Heat released by a reaction carried out at constant volume rather than constant pressure. | kJ/kmol | — |
uRP | The same quantity on an internal energy basis, which is what a constant-volume reaction needs. | kJ/kmol | — |
What is being computed?
heat released at a stated final temperature, the calorimeter case, final temperature and pressure at a specified heat transfer (zero is adiabatic)
The calorimeter mode computes Q at a supplied final temperature. The inverse mode accepts total Q for the actual initial pV charge; Q=0 recovers the adiabatic case. Frozen complete-combustion ideal gases, no dissociation or condensation.
Exact relations:
Monotonic trends:
the assumed product set is wrong and the pressure is overstated
How the app handles it: warn above the temperature where dissociation matters and name the equilibrium screen
The initial charge and product mole ratio are determined before solving energy. A specified final temperature gives heat directly; specified heat uses a bracketed root within the caloric-data interval. Final pressure, total heat, per-fuel values and the energy residual all use the same recovered charge.
Heat is positive into the vessel, so released calorimetric heat is negative. Read the mole and temperature ratios separately to explain the pressure change. Zero specified heat selects an adiabatic rigid charge, whose final temperature generally differs from the steady-flow adiabatic flame temperature.
A consistent reference environment for all fuel, air and product streams; entropy generation, destroyed exergy, and the fraction of inlet exergy retained by all outlet streams.
Chemical exergy measures work potential relative to a specified environmental chemical composition, in addition to the usual temperature and pressure reference. Every species in a reaction must use compatible elemental reference potentials; mixing unrelated tabulated references can create a false nonclosing exergy balance.
Choose the environmental temperature, pressure and chemical reference model. Species Gibbs energies relative to common elemental potentials define chemical exergies. For a flowing ideal-gas mixture, add physical enthalpy and entropy departures and the mixing contribution at each partial pressure. Summing those stream terms and including heat and work gives the reacting exergy balance. Multiplying entropy production by environmental temperature gives destruction.
The reference water endpoint can be liquid or environmental vapour. Once one endpoint anchors the reference, the other must follow from the same water chemical potential. Two independently rounded table entries need not satisfy that relation exactly, so the app exposes the difference rather than forcing both anchors simultaneously. A custom environmental temperature and pressure with the declared fixed gas composition forms another model, not a relabelled standard table.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
fuel | Which fuel is being burned. | — | — |
pct_theo_air | How much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough. | - | — |
T0 | Dead-state temperature: the temperature of the environment the system is eventually going to equilibrate with. Exergy is meaningless without it. | K | 200 <= T0 <= 6000 in custom gas mode; standard models fix 298.15 KCustom liquid-water route additionally requires an IF97 R1 liquid state and non-condensing reference vapor. |
p0 | Dead-state pressure: the pressure of that same environment. | MPa | p0 > 0 for custom gas modeStandard Model I fixes 0.103250175 MPa; Model II fixes 0.101325 MPa. Fixed reference values are displayed, not silently overridden. |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
T2 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
environment_model | Which published reference environment the chemical exergies are computed against. Two are in common use and they do not agree. | — | Model I, Model II, or the explicitly separate fixed-composition custom gas environment. |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | p > 0Common fuel, air and product process pressure; independent of reference pressure. |
ndot | Molar flow: amount of substance passing a section per unit time. | kmol/s | ndot > 0Molar fuel flow; multiplies per-kmol entropy generation to obtain kW/K. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
sigmadot | Rate of entropy production. | kW/K | — |
sbar0 | Absolute entropy: entropy measured from the third-law zero rather than from an arbitrary datum, which is what reacting systems require. | kJ/(kmol K) | Absolute entropy of the pure fuel at its actual inlet T,p, per kmol. |
ech | Chemical exergy: the work still obtainable from a substance once it is at the environment's temperature and pressure but not yet at its composition. | kJ/kmol | — |
e_total | Total exergy of a substance, thermomechanical plus chemical. | kJ/kg | e=(u-u₀)+p₀(v-v₀)-T₀(s-s₀)+V²/2+gz+e^ch Pure incoming fuel at actual inlet T,p, per fuel mass, with zero kinetic and potential terms. |
ef_total | Total flow exergy, thermomechanical plus chemical. | kJ/kg | Pure incoming fuel at actual inlet T,p, per fuel mass, with zero kinetic and potential terms. |
epsilon | Exergetic efficiency: what the component actually delivered as a fraction of the exergy it was given. It asks a harder question than thermal efficiency and usually gets a worse answer. | - | All outlet-stream exergy / total fuel-plus-air inlet exergy. This is a retained-exergy ratio, not a definition of useful product efficiency. |
Ed | Exergy destroyed: work potential that was permanently lost, equal to the dead-state temperature times the entropy produced. | kJ/kmol | — |
Which reference environment?
Model I, Model II, Custom gas environment
Standard models retain their own reference state and limited-precision environmental anchors. Custom mode uses a stated fixed-composition ideal gas environment and accepts its own T0,p0; it is not a corrected standard table.
Water in the environment
as liquid, as vapour at its environmental mole fraction
The selected water endpoint sets the common hydrogen environment potential. The unselected endpoint is derived and its difference from the standard table shown. Custom liquid and vapor routes are equivalent; liquid requires a feasible non-condensing reference.
Exact relations:
Monotonic trends:
its logarithm is large and dominates the chemical exergy
How the app handles it: carry the logarithm at full precision and report the environmental composition beside the answer, since it is doing most of the work
the entropies differ by a small constant that propagates into every chemical exergy
How the app handles it: apply the correction explicitly and state it; silently mixing the two references is a known trap in this data
The chosen anchor generates one internally consistent set of elemental reference potentials. Each inlet and outlet stream is evaluated with those potentials and its actual temperature and pressure. Energy and entropy balances determine heat and destruction, and a separate exergy closure check catches mismatched bases. Rates scale the per-fuel account using the stated fuel flow.
State the environmental model whenever quoting chemical exergy. Retained outlet exergy is not the same as useful electrical work or combustion efficiency. The visible water-table difference explains reference consistency; it should not be added again to the reported stream or destruction totals.
Liquid-water hydrogen or gas-product net-reaction fuel-cell bounds, actual electrical output from voltage/current, and a complete directed exergy-resource audit.
A reversible electrochemical cell can convert the Gibbs-energy decrease of reaction into electrical work. The enthalpy decrease also includes heat exchange, so dividing electrical work by reaction heat alone does not describe every relevant efficiency.
At the cell temperature and pressure, evaluate the reactant and product Gibbs energies with their actual phase and gas-mixing terms. Their difference is the reversible non-expansion work limit. Dividing that work by transferred charge gives reversible cell voltage. An entered operating voltage sets actual electrical work per reaction; subtracting it from the energy release determines heat rejection, which can have either sign.
With unity fuel utilization and Faradaic efficiency, total current divided by the charge transferred per mole gives fuel consumption. Multiplying current by voltage gives electrical power. Exergy accounting must also follow the directions of flow and heat terms: an apparently negative outlet-flow exergy is an incoming resource under the chosen reference and cannot be discarded from the efficiency denominator.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
fuel | Which fuel is being burned. | — | Hydrogen for PEM; H2, CO or CH4 net-reaction bounds for solid oxide. Pure oxygen supply; no reforming or polarization model. |
T | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | 200 <= T <= 6000 for gas products; liquid-water model requires IF97 R1Mathematical property range, not an electrode or membrane operating specification. |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | p > 0Common pure fuel / pure oxygen / mixed-product stream pressure; liquid product feasibility checked with T. |
n_electrons | How many electrons move per mole of fuel in the cell reaction. | - | Derived from the selected oxidation reaction: 2 for H2/CO, 8 for CH4; displayed, not arbitrarily editable. |
V_operating | The voltage the cell is actually running at, which is always below the reversible value. | V | 0 <= V_operating <= EcellFour ULPs only accommodate representational roundoff at the reversible boundary. |
current | Current drawn from the cell. | A | current >= 0Total cell current. Unity fuel utilization and Faradaic efficiency; zero current returns zero power and consumed flow. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
Ecell | Reversible cell voltage: the most a fuel cell can produce before any losses, set by the Gibbs function change and the charge moved. | V | E=-Δḡ/(nF) |
Wmax | The most work obtainable from a reaction, which is set by the Gibbs function change rather than by the energy released. | kJ/kmol | Wₘₐₓ=-Δḡ |
eta | Thermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work. | - | — |
epsilon | Exergetic efficiency: what the component actually delivered as a fraction of the exergy it was given. It asks a harder question than thermal efficiency and usually gets a worse answer. | - | Electrical work divided by all incoming exergy resources: positive fuel/oxygen/heat terms plus negative outlet-stream exergy. Distinct from voltage efficiency V/E. |
Qdot | Rate of heat transfer. | kW | Positive heat rejection; negative when heat is absorbed. Current converts per-fuel heat to a rate. |
Which cell?
proton exchange membrane, near ambient temperature, solid oxide, high temperature
PEM specifies H2 and liquid-water product; solid oxide uses mixed gaseous products. Model choice sets a representative starting temperature; both share a fixed Model II liquid-water environment reference. These are net-reaction thermodynamic models, not predictions of hardware operating envelopes.
Exact relations:
Monotonic trends:
the reversible voltage approaches zero and the device does nothing
How the app handles it: report the reaction as electrochemically inactive at that temperature rather than returning a small voltage
Reaction enthalpy, entropy and Gibbs energy are calculated with consistent NASA gas and valid IF97 liquid-water references. Operating voltage is bounded by the reversible voltage. Current then sets fuel and power rates, while the directed exergy account checks input resources, work, product streams, heat and destruction.
Compare operating-to-reversible voltage separately from enthalpy-based and exergy efficiencies. Positive reported heat rejection leaves the cell; a negative value means heat must enter. Zero current retains per-reaction thermodynamic limits while rates vanish, and current density must not be entered as total current.
Single or coupled reaction-library equilibrium, atomic ionization, and editable user-defined ideal-gas/pure-phase reaction systems with exact element/charge constraints, phase exhaustion and uniqueness checks.
At fixed temperature and pressure, a reacting closed inventory reaches a minimum of Gibbs energy subject to its conserved elements and charge. Specifying a reaction list also specifies which transformations are allowed. Two mixtures with identical element totals need not reach the same state if their permitted reaction spaces differ.
Write each species amount as its initial amount plus the signed stoichiometric matrix times the reaction extents. Every left-null vector of that matrix is a conserved balance, including balances implied by frozen species. For an ideal gas, the chemical potential is its standard Gibbs energy plus RT times the logarithm of its partial pressure divided by standard pressure. A separate pure condensed phase has unit activity. Differentiating total Gibbs energy along an allowed reaction gives the familiar logarithmic equilibrium relation for an interior state.
At a boundary, however, a species amount cannot become negative. A reaction quotient equation that requires an absent pure phase is not an additional equality to force. The appropriate condition is that every feasible displacement increases or preserves Gibbs energy. The solver therefore tests phase presence together with common chemical-potential inequalities. If the gas disappears completely, gas mole fractions are undefined. If a flat minimum allows several phase inventories, the problem does not determine a unique set of amounts and the app declines to select one arbitrarily.
Ionization follows the same constrained problem: neutral atoms, positive ions and electrons share one charge balance. Each atom's ionization ratio depends on the common electron pool. Solving independent neutral-ion pairs and adding their electrons afterward would violate that shared equilibrium.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
reaction | Which reaction the equilibrium is being computed for. | — | Choose a library or declare species and an arbitrary independent signed reaction matrix. Decimal/fraction coefficients are preserved exactly; every element and charge must balance. |
T | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | T>0 in given-lnK mode; thermochemical mode uses the valid ranges of participating records, including the pure-water IF97 pressure restriction. |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | p > 0; declared pure liquid water with nonzero inventory or participation also requires IF97 region 1 at T,pUser-defined pressure slider explores 0.001 to 10 MPa logarithmically. This is an exploration interval, not a validity limit; typed values remain subject to phase and model checks. |
n_initial | How much of each species is present before the reaction proceeds. | kmol | non-negative finite amounts with nonzero totalCO2, CO, H2O vapor, H2, O2, N2 and pure H2O liquid; omitted species mean zero. Atomic mode accepts H, N, O, Ar, Na, Cs with each singly charged ion and electrons; initial total charge must be zero. User-defined mode accepts declared species with explicit integer element counts, charge and phase; total initial charge must be zero. |
inert | Species present that take no part in the reaction but dilute the mixture, which shifts the equilibrium anyway. | — | Any species excluded from all supplied reactions remains chemically frozen, even if its elements occur in reactive species. |
lnK_given | User-supplied natural logarithm of the equilibrium constant at the current temperature and 1 atm standard state. | — | finite natural-log constants, one per active atom or written user-defined reactionGiven at the entered temperature and 1 atm standard state; does not specify reaction enthalpy or temperature dependence. |
nu_matrix | Exact signed reaction coefficients; zero entries exclude a species from a reaction. | — | explicit user-defined systemExact signed reaction coefficients; zero entries exclude a species from a reaction. |
species_atoms | Positive integer count of each declared element in one species. | — | explicit user-defined systemPositive integer count of each declared element in one species. |
species_charge | Signed integer electric charge of one species. | — | explicit user-defined systemSigned integer electric charge of one species. |
species_phase | Ideal gas or a separate pure condensed phase with unit activity. | — | explicit user-defined systemIdeal gas or a separate pure condensed phase with unit activity. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
lnK | The logarithm of the equilibrium constant. The app works in this throughout because the constant itself spans about forty decades. | - | ln K=-Δ G°/(R̄T) Gas standard-state K depends on T; effective condensation K includes actual-pressure liquid Gibbs and therefore depends on T and p. |
K_eq | Equilibrium constant: how far the reaction goes at this temperature. Shown for reading only, never used as an intermediate. | - | Display only; unavailable when exp(lnK) cannot retain six significant digits. Never used in the solver. |
epsilon_ext | Extent of reaction: how far the reaction has actually proceeded, from none of it to all of it. | kmol | Signed extent in each written reaction coordinate; inverse rows favor smaller inventory scales. An unresolved near-zero extent is unavailable, not a false exact zero. |
composition | The make-up of the mixture, as fractions of its components. | — | — |
dH_reaction | Energy absorbed or released by the reaction, which is what decides whether heating pushes it forwards or backwards. | kJ/kmol | Computed only from matching thermochemical records; given-lnK mode does not invent reaction heat. |
n_e | Amount of free electrons, included as a gas species in charge and mole balances. | kmol | Common electron inventory, included in total gas moles and partial pressures. |
z_ion | Fraction of a conserved atom inventory present as singly charged ions. | — | Ionized fraction for each conserved atom inventory. |
How many reactions?
one, two or more simultaneous
The library offers its declared reaction choices; the user-defined system accepts multiple independent coupled reactions and separate pure phases. Exhausted phases satisfy inequality conditions rather than a forced interior equality.
Which phases?
all gaseous, ideal-gas mixture, with a pure condensed phase present
The library offers its declared reaction choices; the user-defined system accepts multiple independent coupled reactions and separate pure phases. Exhausted phases satisfy inequality conditions rather than a forced interior equality.
Which equilibrium system?
Molecular and phase reactions, Atomic ionization, User-defined reactions
The editable system retains every supplied reaction constraint, including chemically frozen species, and includes atomic/ionic reactions when charge balances.
Where do atomic equilibrium constants come from?
NASA thermochemistry, Given ln K at this temperature
Given lnK supports composition and fixed-temperature pressure exploration only.
Where do the user-defined equilibrium constants come from?
NASA and pure-water thermochemistry, Given ln K at this temperature
The selected source or phase changes the physical model, with validity and unavailable quantities shown explicitly.
What is the activity model of each declared species?
ideal gas, pure condensed
The selected source or phase changes the physical model, with validity and unavailable quantities shown explicitly.
Exact relations:
Monotonic trends:
the equilibrium constant overflows or underflows the floating-point range, and the extent approaches a bound where a mole fraction goes to zero and its logarithm diverges
How the app handles it: work in the logarithm everywhere, and solve for the extent in log space bounded strictly inside its physical interval; bisection fallback when the Newton step leaves the interval
the Newton system becomes ill-conditioned when one reaction is near completion
How the app handles it: damp the step and report the condition of the Jacobian, rather than returning an unverified iterate
rescaling may lose trace precision and signed extent can be below resolution
How the app handles it: verify six significant digits in every reported positive amount/fraction; unresolved extent is unavailable rather than a false exact zero
Original integer, decimal and fraction coefficients are retained exactly for rank, conservation and feasibility checks. Exact linear-programming certificates identify reachable species and allowable phase faces. The gas subproblem uses logarithmic amounts and a continued chemical-potential solve; common balance multipliers then test pure-phase stability. Pure-phase-only systems reduce to a linear Gibbs objective. A separate uniqueness check distinguishes a determined minimum from coexistence with undetermined phase amounts.
The NASA source checks record identity, temperature intervals and liquid validity before deriving each reaction's ln K and enthalpy. Given-ln-K mode accepts other explicitly declared species but supplies no invented reaction enthalpy. Logarithmic constants remain usable when exponentiating them cannot produce a resolved display value. Signed extents are recovered from independent inventory changes; subtraction uncertainty can make an extent unavailable even when the final composition is resolved.
Start with the phase state and balance residuals, then read the species amounts. Gas fractions exclude every condensed phase. Each signed extent follows the written reaction, so negative values indicate net reverse conversion. The pressure-response plots hold temperature fixed. Given-ln-K mode holds the entered constants fixed; NASA mode recomputes chemical potentials at each pressure, including the actual-pressure Gibbs energy of pure liquid water. Invalid intervals and changes in phase presence split curves; a gas-fraction plot has no current-state marker when the current gas inventory is zero. A user-defined example using abstract elements illustrates the mathematics and is not thermochemical data for a real material.
Constant-pressure adiabatic flame with six molecular species, atomic species/OH, or the additional NO reaction. Compare the selected equilibrium temperature and composition with the frozen-product result.
An adiabatic reacting mixture must satisfy chemical equilibrium and energy conservation simultaneously. Increasing temperature changes both sensible enthalpy and the extent of dissociation, so the final temperature cannot be obtained by heating a fixed set of complete-combustion products.
At a trial temperature, determine equilibrium product amounts from the element balances and logarithmic reaction constants. Sum each product amount times its molar enthalpy, including formation enthalpy. Subtract the reactant enthalpy evaluated with the same reference convention. An adiabatic equilibrium flame temperature is a zero of that residual. Dissociation absorbs some energy that would otherwise raise sensible temperature; recombination releases it again. The outer temperature balance must therefore recompute composition at every trial, rather than reuse the composition from an earlier temperature.
Adding oxygen and nitrogen dissociation introduces atomic species and new conservation-coupled reactions. Adding nitric oxide changes the permitted product space once more. Differences between those selections illustrate the consequence of the chosen equilibrium species set; they are not three numerical methods for an identical physical model.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
fuel | Which fuel is being burned. | — | — |
pct_theo_air | How much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough. | - | at least 100%; fuel-rich product chemistry is outside this libraryNative air input. Equivalence ratio is its reciprocal convention, 100 divided by this percentage; it is not a separate editable input. |
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | — |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | p > 0 |
species_set | Which dissociation products are being allowed into the equilibrium calculation. | — | Six molecular species; add H, O, OH and N; then add NO. Species with absent elements are deleted exactly. |
omega | Humidity ratio: kilograms of water vapour carried per kilogram of dry air. The quantity that stays fixed when moist air is merely heated or cooled. | - | finite omega >= 0Water mass per dry-air mass carried with the reactants; used by selected and comparison flame calculations. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
T_ad | Adiabatic flame temperature: how hot the products get when none of the released energy is allowed to leave. | K | — |
composition | The make-up of the mixture, as fractions of its components. | — | — |
T_gap | How much lower the flame temperature is once dissociation is accounted for. The whole point of running the equilibrium calculation. | ΔK | Difference from the complete-combustion answer. This is the number the screen exists to produce. |
residual | How far from zero the energy balance still is at the returned root. Reported rather than assumed, so convergence is visible. | kJ/kmol | — |
Which dissociation products are included?
carbon dioxide and water dissociation only, with oxygen and nitrogen dissociation, with the nitric oxide reaction, for emissions work
The three explicit libraries solve six, up to ten, or up to eleven species. All three temperatures are compared at the same inputs. NO is a thermodynamic equilibrium amount, not a kinetic cooled-exhaust emissions prediction.
Exact relations:
Monotonic trends:
an outer Newton on temperature wrapped around an inner Newton on composition converges slowly and can oscillate
How the app handles it: Six-species composition uses a bounded oxygen root. Extended libraries use damped log element-potential Newton with a CO2/H2O/N2/O2 transformed basis, signed log-balance rows, absent-element elimination and temperature continuation. Outer energy is independently bracketed over 200–6000 K; invalid inner solves fail explicitly.
the equilibrium solve is solving for extents that are all essentially zero
How the app handles it: Retain trace species in logarithmic coordinates; do not silently replace the selected equilibrium library with frozen products. Unresolved final positive amounts and iteration limits are reported explicitly.
The inner constrained composition calculation is nested inside a bracketed temperature solve. Thermochemical intervals limit the outer search. Every accepted temperature must have a valid equilibrium composition, closed element balances and a resolved energy residual. Comparison plots retain the species-set identity rather than combining values from different selections.
Compare temperatures together with the product amounts and the energy residual. A lower temperature after enabling additional dissociation is meaningful only when the initial fuel, air, pressure and reactant temperature are unchanged. Very small species amounts should be interpreted within the numerical and thermochemical limits stated for the model.
When two phases can coexist and what fixes their compositions. The equality of chemical potentials is the general statement; the ideal-solution model is the case that can be computed on one screen.
Phases in equilibrium have equal temperature, pressure and chemical potential for each transferable component. The relation between phase compositions depends on the activity model. The three tasks here illustrate pure-fluid coexistence, ideal binary vapour-liquid equilibrium and ideal-solution osmosis, with a separate dilute comparison.
For a pure fluid, coexistence requires equal specific Gibbs energies of liquid and vapour. Pressure and temperature on that coexistence curve are linked, so one cannot choose both independently and still expect two phases. For an ideal binary liquid and an ideal vapour, equating chemical potentials gives each partial pressure as the liquid mole fraction times the pure-component saturation pressure. Summing the vapour fractions gives the bubble condition for a known liquid composition; summing the corresponding liquid fractions gives the dew condition for a known vapour composition.
Across a membrane permeable only to solvent, the solvent chemical-potential decrease from dilution is balanced by the pressure increase on the solution side. For an ideal solution and constant solvent partial molar volume, integrating the pressure effect gives osmotic pressure as minus RT times the logarithm of solvent mole fraction divided by that volume. Expanding the logarithm near pure solvent yields the separately displayed dilute concentration approximation.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
components | Which species are present. | — | — |
T | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | T > 0 within the selected property modelBinary saturation uses mechanical PR roots, independent of caloric polynomial bounds. Pure water uses IF97; four refrigerants use Helmholtz; CO2 uses PR. |
p | Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode. | MPa | p > 0Pressure is input for binary bubble/dew modes; pure coexistence computes pressure from temperature. |
composition | The make-up of the mixture, as fractions of its components. | — | 0 <= composition <= 1First-component liquid mole fraction, or vapor fraction in dew mode. Pure endpoints ignore the absent component. |
nphase | How many phases coexist. | - | nphase = 2Two coexisting bulk phases in pure and binary modes; the membrane constraint is not counted by the free bulk phase rule. |
solvent_fraction | Mole fraction of solvent in the ideal solution. | — | 0 < solvent_fraction <= 1Solvent mole fraction in the ideal solution. |
solvent_molar_volume | Constant partial molar volume of solvent used to convert a chemical-potential difference to osmotic pressure. | m³/kmol | solvent_molar_volume > 0Constant solvent partial molar volume in the membrane model. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
F_dof | Degrees of freedom: how many properties can still be chosen freely once the phases and components are fixed. | - | F=2+N-P One for pure coexistence, two for a binary with two independent components; the freely exchanging bulk phase rule does not apply to the selective membrane. |
composition | The make-up of the mixture, as fractions of its components. | — | — |
T_bubble | The temperature at which the first bubble of vapour appears in a liquid mixture being heated. | K | — |
T_dew | The temperature at which the first drop of liquid appears in a vapour mixture being cooled. | K | — |
pi_osmotic | Osmotic pressure: the pressure that has to be applied to a solution to stop pure solvent flowing into it through a membrane. | MPa | — |
Which system?
a single pure substance in two phases, a binary mixture in vapour-liquid equilibrium, a solution and its solvent across a membrane
All three routes are native. The binary model is ideal Raoult/Dalton with PR pure-component saturation pressures; no nonideal activity model is implied.
Exact relations:
Monotonic trends:
the liquid and vapor mole fractions coincide for all compositions at that temperature
How the app handles it: report loss of separation; do not label it as a predicted isolated real-mixture azeotrope
the mixture degenerates to a pure component and the activity terms lose meaning
How the app handles it: collapse to the pure-substance branch explicitly
Pure-fluid roots use the selected IF97, Helmholtz or CO2 cubic model within its valid phase interval. Binary bubble and dew calculations use pure-component Peng–Robinson equal-fugacity saturation pressures in ideal Raoult/Dalton relations, then recover the other phase composition; this is not a cubic mixture rule. The logarithmic osmotic relation is evaluated directly after unit conversion; the phase-rule result counts independent intensive degrees of freedom rather than adding another equilibrium equation.
Use the phase labels to distinguish the entered composition from the recovered composition. At a bubble point the first vapour generally differs from the bulk liquid; at a dew point the first liquid generally differs from the bulk vapour. Osmotic pressure is a pressure difference, not the absolute vessel pressure.
Minimize entropy generation for a specified useful task and feasible geometry. Heat transfer and fluid friction compete; the optimum may be interior or limited by a declared constraint.
Heat transfer across a temperature difference and viscous pressure loss both destroy work potential. Changing a device dimension can improve one contribution while worsening the other. Entropy-generation minimization compares those contributions under a stated useful-duty constraint, rather than treating minimum resistance alone as a complete design objective.
For a heated duct at fixed mass flow, reducing diameter raises velocity and friction, while the resulting heat-transfer coefficient reduces the wall-to-fluid temperature difference. The local entropy balance separates heat-transfer irreversibility from the flow-work loss. The selected turbulent correlations give different powers of the design variable, so setting the derivative of their sum to zero determines an unconstrained stationary point. The actual solution must also remain inside the Reynolds, Prandtl and small-temperature-difference limits.
For a balanced counterflow exchanger, equal capacity rates give effectiveness NTU/(1+NTU). Outlet temperatures determine the exact thermal entropy change, while each fractional pressure loss contributes a logarithmic entropy term. A minimum effectiveness prevents the trivial zero-length, zero-duty answer, and a maximum pressure loss bounds the other end. The body-in-a-stream model uses its own heat-transfer, drag and fin relations; its dimension cannot be substituted into the duct or exchanger formula.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
geometry | Arrangement: heated duct, balanced counterflow exchanger, or fixed-length pin fin in crossflow. | — | one of three declared arrangementsArrangement: heated duct, balanced counterflow exchanger, or fixed-length pin fin in crossflow. |
temperature | Fluid temperature for duct and pin fin. | K | finite positive; active only in named arrangementFluid temperature for duct and pin fin. |
density | Constant fluid density for duct and pin fin. | kg/m^3 | finite positive; active only in named arrangementConstant fluid density for duct and pin fin. |
viscosity | Constant dynamic viscosity for duct and pin fin. | Pa s | finite positive; active only in named arrangementConstant dynamic viscosity for duct and pin fin. |
conductivity | Constant fluid thermal conductivity for duct and pin fin. | W/(m K) | finite positive; active only in named arrangementConstant fluid thermal conductivity for duct and pin fin. |
mass_flow | Duct fluid mass flow. | kg/s | finite positive; active only in named arrangementDuct fluid mass flow. |
heat_per_length | Heat transferred to the duct fluid per unit length. | W/m | finite positive; active only in named arrangementHeat transferred to the duct fluid per unit length. |
duct_length | Duct segment length over which heat and pressure losses are evaluated. | m | finite positive; active only in named arrangementDuct segment length over which heat and pressure losses are evaluated. |
cp | Specific heat at constant pressure: how much energy raises one kilogram by one degree while the pressure is held fixed. | kJ/(kg K) | finite positive; active only in named arrangementDuct mass-specific heat; the display adapter alone converts to J/(kg K) for the composition calculation. |
prandtl | Duct heat-transfer correlation Prandtl number. Pin-fin Prandtl number is fixed at 0.71, not this input. | - | 0.7 < prandtl < 160Duct heat-transfer correlation Prandtl number. Pin-fin Prandtl number is fixed at 0.71, not this input. |
hot | Balanced exchanger hot-side inlet temperature. | K | hot > cold > 0Balanced exchanger hot-side inlet temperature. |
cold | Balanced exchanger cold-side inlet temperature. | K | hot > cold > 0Balanced exchanger cold-side inlet temperature. |
capacity | Equal heat-capacity rate of either single side of the balanced exchanger; not the sum. | kW/K | finite positiveEqual heat-capacity rate of either single side of the balanced exchanger; not the sum. |
hot_drop | Hot fractional inlet-pressure loss per unit NTU. | - | non-negative; at least one loss slope positiveHot fractional inlet-pressure loss per unit NTU. |
cold_drop | Cold fractional inlet-pressure loss per unit NTU. | - | non-negative; at least one loss slope positiveCold fractional inlet-pressure loss per unit NTU. |
hot_ratio | Hot-side gas constant divided by specific heat. | - | 0 < hot_ratio < 1Hot-side gas constant divided by specific heat. |
cold_ratio | Cold-side gas constant divided by specific heat. | - | 0 < cold_ratio < 1Cold-side gas constant divided by specific heat. |
minimum_effectiveness | Minimum fraction of the balanced exchanger maximum heat duty required by the design task. | - | 0 < minimum_effectiveness < 1Useful-duty lower bound on balanced-exchanger effectiveness. |
maximum_drop | Upper bound on either side fractional pressure drop. | - | 0 < maximum_drop < 1Upper bound on either side fractional pressure drop. |
heat | Fixed pin-fin heat duty. | W | finite positive; pin-fin arrangementFixed pin-fin heat duty. |
speed | Fluid speed across the pin fin. | m/s | finite positive; pin-fin arrangementFluid speed across the pin fin. |
fin_length | Fixed pin-fin length; only diameter is optimized. | m | finite positive; pin-fin arrangementFixed pin-fin length; only diameter is optimized. |
fin_conductivity | Solid pin-fin thermal conductivity. | W/(m K) | finite positive; pin-fin arrangementSolid pin-fin thermal conductivity. |
reference_capacity | Fixed pin-fin reference capacity used solely to normalize the entropy-generation number. | kW/K | finite positive; pin-fin arrangementFixed pin-fin reference capacity used solely to normalize the entropy-generation number. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
Ns | Entropy generation number: entropy produced, made dimensionless by the stream's capacity rate, so arrangements of different size can be compared. | - | Total entropy generation divided by duct mass-flow heat capacity, either balanced-exchanger side capacity, or fixed pin-fin reference capacity. |
sigmadot_dT | The share of entropy production caused by heat crossing a finite temperature difference. | kW/K | Thermal part at the selected constrained design. |
sigmadot_dp | The share caused by fluid friction. | kW/K | Fluid-friction part at the selected constrained design. |
D_opt | Duct or pin-fin diameter at the constrained minimum; only these two arrangements. | m | Duct or pin-fin diameter at the constrained minimum; only these two arrangements. |
NTU_opt | Balanced-exchanger NTU at the constrained minimum; only this arrangement. | - | Balanced-exchanger NTU at the constrained minimum; only this arrangement. |
design_boundary | Whether the selected minimum is on a constraint boundary or is an interior stationary point. | — | Whether the selected minimum is on a constraint boundary or is an interior stationary point. |
Re | Reynolds number: the ratio of inertial to viscous effects in the flow, which is what fixes the friction. | - | duct arrangement: metric named Reynolds number. Derived at the selected design, not a direct input. |
Nu | Nusselt number. | - | duct arrangement: metric named Nusselt number. Derived at the selected design, not a direct input. |
f_fanning | Fanning friction factor. | - | duct arrangement: metric named Fanning friction factor. Derived at the selected design, not a direct input. |
wall_bulk_difference | Wall minus bulk temperature. | ΔK | duct arrangement: metric named Wall minus bulk temperature. Derived at the selected design, not a direct input. |
segment_pressure_drop | Segment pressure drop. | MPa | duct arrangement: metric named Segment pressure drop. Derived at the selected design, not a direct input. |
bulk_rise_fraction | Bulk temperature rise fraction. | - | duct arrangement: metric named Bulk temperature rise fraction. Derived at the selected design, not a direct input. |
property_prandtl | Property-derived Prandtl number. | - | duct arrangement: metric named Property-derived Prandtl number. Derived at the selected design, not a direct input. |
epsilon | Exergetic efficiency: what the component actually delivered as a fraction of the exergy it was given. It asks a harder question than thermal efficiency and usually gets a worse answer. | - | balanced arrangement: metric named Effectiveness. Derived at the selected design, not a direct input. |
Qdot | Rate of heat transfer. | kW | balanced arrangement: metric named Heat transferred. Derived at the selected design, not a direct input. |
hot_outlet_temperature | Hot outlet temperature. | K | balanced arrangement: metric named Hot outlet temperature. Derived at the selected design, not a direct input. |
cold_outlet_temperature | Cold outlet temperature. | K | balanced arrangement: metric named Cold outlet temperature. Derived at the selected design, not a direct input. |
hot_drop_fraction | Hot pressure drop / inlet pressure. | - | balanced arrangement: metric named Hot pressure drop / inlet pressure. Derived at the selected design, not a direct input. |
cold_drop_fraction | Cold pressure drop / inlet pressure. | - | balanced arrangement: metric named Cold pressure drop / inlet pressure. Derived at the selected design, not a direct input. |
NTU_asymptotic | Asymptotic unconstrained NTU. | - | balanced arrangement: metric named Asymptotic unconstrained NTU. Derived at the selected design, not a direct input. |
thermal_asymptotic | Asymptotic thermal entropy at selected NTU. | kW/K | balanced arrangement: metric named Asymptotic thermal entropy at selected NTU. Derived at the selected design, not a direct input. |
friction_asymptotic | Asymptotic friction entropy at selected NTU. | kW/K | balanced arrangement: metric named Asymptotic friction entropy at selected NTU. Derived at the selected design, not a direct input. |
Re | Reynolds number: the ratio of inertial to viscous effects in the flow, which is what fixes the friction. | - | pin fin arrangement: metric named Reynolds number. Derived at the selected design, not a direct input. |
Nu | Nusselt number. | - | pin fin arrangement: metric named Nusselt number. Derived at the selected design, not a direct input. |
C_drag | Drag coefficient. | - | pin fin arrangement: metric named Drag coefficient. Derived at the selected design, not a direct input. |
fin_base_temperature | Fin base temperature. | K | pin fin arrangement: metric named Fin base temperature. Derived at the selected design, not a direct input. |
base_ambient_difference | Base minus ambient temperature. | ΔK | pin fin arrangement: metric named Base minus ambient temperature. Derived at the selected design, not a direct input. |
Bi_transverse | Transverse Biot number. | - | pin fin arrangement: metric named Transverse Biot number. Derived at the selected design, not a direct input. |
aspect | The geometric design variable being optimised over. | - | pin fin arrangement: metric named Length / diameter. Derived at the selected design, not a direct input. |
drag_force | Drag force. | N | pin fin arrangement: metric named Drag force. Derived at the selected design, not a direct input. |
fin_conductance | Fin thermal conductance. | kW/K | pin fin arrangement: metric named Fin thermal conductance. Derived at the selected design, not a direct input. |
Which arrangement?
a duct with heat transfer, a balanced counterflow exchanger, a body in a stream
Three distinct physical routes: local heated smooth round duct (diameter), exact finite-NTU balanced exchanger (length/NTU under useful-duty and pressure-loss constraints), fixed-length circular pin fin in crossflow (diameter). The generic two-power model is retained as a legacy analytic model, not relabeled as all geometries.
Exact relations:
Monotonic trends:
a feasible endpoint may minimize the total; extrapolated zero or infinite geometry is outside the correlation
How the app handles it: compare both feasible endpoints and mark a constrained optimum explicitly
The app forms the two entropy contributions from the selected geometry, identifies the feasible interval and compares stationary points with its endpoints. Correlation limits and positive, finite outputs are checked before a point is offered as an optimum. Curves show the same thermal, friction and total terms used by the selection, and distinguish a stationary minimum from a constraint optimum.
First check which constraint sets the selected point. An endpoint may be the best admissible design even though the derivative is nonzero there. Compare total entropy generation only at the same useful duty and boundary conditions. The asymptotic exchanger estimate is a comparison, not a replacement for the finite-NTU result.
Compare maximum power under a fixed total heat-transfer conductance with work recovery from a finite hot stream. The two source constraints give different internal temperatures, heat rates and exergy budgets.
An internally reversible engine can still generate entropy through finite temperature differences in its heat exchangers. Vanishing temperature differences approach reversible efficiency but also reduce heat flow. Maximum power therefore requires a compromise between conversion efficiency and the rate at which heat can reach the engine.
With two fixed reservoirs and linear heat-transfer conductances, hot-side heat flow is conductance times the hot temperature gap, and cold-side heat rejection is conductance times its gap. Internal reversibility requires equal entropy flow through the engine's two internal temperatures. Eliminating one temperature and differentiating net power gives the maximum-power condition and the square-root temperature ratio. At fixed total conductance, redistributing conductance changes the achievable power; for this model the optimum is an equal allocation.
A finite-capacity hot stream cools as it supplies heat, so it cannot be represented by a single fixed reservoir. The continuous optimum allows the engine's internal hot temperature to follow the local stream temperature. Heat extracted, remaining stream exergy and total power are integrated along that profile. Disposal of the outgoing stream at ambient is a separate irreversible process and is not silently included in the engine boundary.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
TH | Temperature of the hot reservoir. | K | (0, infinity)Hot reservoir or hot-stream inlet, greater than TC. |
TC | Temperature of the cold reservoir. | K | (0, infinity)Cold reservoir, also the exergy reference temperature. |
UA_hot | Conductance between the hot reservoir and the engine. | kW/K | (0, infinity)Hot-side conductance; derived from total and fraction in fixed-reservoir mode. |
UA_cold | Conductance between the engine and the cold reservoir. | kW/K | (0, infinity)Derived in fixed-reservoir mode; does not apply to the ideal cold sink of the continuous hot-stream mode. |
mdot | Mass flow rate. | kg/s | (0, infinity)Hot-stream mass flow. |
cp | Specific heat at constant pressure: how much energy raises one kilogram by one degree while the pressure is held fixed. | kJ/(kg K) | (0, infinity)Constant stream specific heat. |
UA_total | The fixed sum of hot and cold exchanger conductances. | kW/K | (0, infinity)Fixed-reservoir total conductance budget. |
hot_conductance_fraction | The share of the fixed conductance budget assigned to the hot side. | - | (0, 1)Fraction of total conductance assigned to the hot exchanger; zero endpoints cannot run the engine. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
eta_maxpower | The efficiency a device actually runs at when it is producing as much power as it can, which is lower than the reversible bound and much closer to what real plants achieve. | - | η=1-√(T_C/T_H) Model-dependent result; see explicitly selected source constraint. |
Wdot_max | The largest power the arrangement can produce under the stated constraint, as opposed to the largest efficiency. | kW | Model-dependent result; see explicitly selected source constraint. |
eta_max | The largest thermal efficiency any device can have between the two given reservoir temperatures. | - | Shown beside it, for the comparison. Model-dependent result; see explicitly selected source constraint. |
T_internal | The internal working temperatures of an endoreversible engine, which sit between the reservoir temperatures because the heat has to flow across a finite gap. | K | Model-dependent result; see explicitly selected source constraint. |
What is constrained?
conductance on both sides, the size constraint, a hot stream of finite capacity rate
Both models are implemented. Fixed reservoirs: entered total conductance and hot allocation, with equal-conductance optimum compared. Finite stream: constant cp, continuous variable internal hot temperature and ideal cold reservoir, with exit exergy separate from engine destruction.
Exact relations:
Monotonic trends:
Fixed reservoirs: maximum-power efficiency/Carnot tends to one half. Finite stream: both useful power and inlet exergy vanish quadratically, with a ratio depending on UA/C.
How the app handles it: report the limiting ratio, which is the interesting result, rather than two numbers that are both nearly zero
The fixed-reservoir solution uses the closed internal-temperature relations and checks the ordered temperature gaps. Its power curve fixes the entered hot and cold conductances while varying internal temperature; its allocation curve fixes their sum and re-optimizes power for each allocation. The finite-stream branch solves its bounded optimal temperature-ratio condition, constructs the stream and engine profiles, and verifies energy and exergy balances over the whole exchanger.
Read the model name before comparing efficiencies. Reservoir efficiency, maximum-power efficiency and exergy efficiency have different denominators. In the stream case, an outlet above ambient still carries recoverable exergy; the displayed additional disposal entropy explains what is lost only if that stream is discarded.
Compare a full blackbody thermal-exergy reference, a reversible heat-reservoir reference, and an ideal black collector. The collector balances useful heat against gross reradiation and reports both engine and overall conversion efficiencies.
Radiation transports both energy and entropy. Its work potential relative to an environment is therefore not obtained merely by multiplying every incident beam by a heat-reservoir Carnot factor. The app separates a blackbody thermal reference, a reservoir comparison and a specific collector-and-engine model.
A blackbody's emitted energy scales with the fourth power of absolute temperature, while its entropy flux scales with the third power. Subtracting the environmental reference and the ambient-temperature entropy term gives the blackbody exergy factor. It vanishes at equal source and ambient temperature and differs from the reversible heat-reservoir factor evaluated at the same source temperature.
For the collector model, receiver irradiation is prescribed through the input flux and concentration. Raising receiver temperature improves the reversible engine's conversion factor but increases reradiation and reduces heat available to that engine. Net work is the product of those competing terms. Differentiating that work and restricting the search below stagnation temperature gives the optimum receiver temperature; applying the engine efficiency directly to gross incident power would omit reradiation losses.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
T | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | (0, infinity)Blackbody source temperature, at or above T0; collector requires strictly above. |
T0 | Dead-state temperature: the temperature of the environment the system is eventually going to equilibrate with. Exergy is meaningless without it. | K | 0 < T0 <= TEnvironment temperature bounded by the entered source; zero is an excluded endpoint. |
A | Cross-sectional area the stream passes through. | m^2 | (0, infinity)Emitting area in reference models, receiver area in collector model. |
flux | Radiant energy arriving per unit area per unit time. | kW/m^2 | (0, infinity)Incident irradiance before concentration; collector only. |
concentration | How many times the incoming radiation is concentrated before it reaches the collector. | - | (0, infinity)Collector irradiance multiplier; concentration*flux cannot exceed the source blackbody emissive power. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
psi_radiation | The fraction of a radiation stream's energy that is available as work. Lower than the reversible factor at the source temperature, and the two are routinely confused. | - | — |
E_radiation | Rate at which radiation delivers exergy. | kW | Total available/reference power includes area; density is separately labeled kW/m². The selected model defines the energy reference. |
eta_max | The largest thermal efficiency any device can have between the two given reservoir temperatures. | - | Shown beside it, since the two are routinely confused. |
T_opt | The collector temperature that maximises work output, balancing conversion quality against loss. | K | — |
Which conversion model?
the radiation exergy factor, the reversible factor at the source temperature, a collector at an intermediate temperature, with losses
All three models are explicit. Blackbody reference uses sigma*Tsource^4, not arbitrary diluted-beam irradiance. The reservoir comparison has the same reference energy rate but a different source thermodynamics. Collector uses G=C*flux, gross sigma*Tcollector^4 reradiation, no ambient optical background, and source blackbody radiance bound.
Exact relations:
Monotonic trends:
the factor approaches zero as the difference of terms that each approach 1
How the app handles it: expand about the ratio 1 so the small difference is computed accurately rather than as a cancellation
The blackbody factor is evaluated with cancellation-resistant forms near equal temperatures. The collector solver brackets its stationary work maximum between ambient and stagnation and rejects unresolved net heat or power. Output separates incident, reradiated and net heat rates, as well as engine efficiency and overall irradiation-to-work efficiency.
Use overall efficiency when comparing work with receiver irradiation, and engine efficiency when comparing work with net heat delivered to the engine. The displayed source-temperature Carnot value is a reference comparison. A hotter optimum collector does not mean that every hotter collector produces more work.
Integrate a sensible or latent store over a finite charging duration. Separate stored exergy, heat-exchanger destruction and unused outlet exergy; optimize sensible charging time or the capacity-constrained latent melting temperature for maximum captured exergy.
Thermal storage preserves energy but only part of the incoming stream's work potential. Finite temperature differences generate entropy during charging, and an outgoing hot stream carries additional exergy. A storage efficiency needs a complete duration and a clearly stated boundary; an instantaneous charging rate cannot stand in for that budget.
For a well-mixed sensible store, its heat capacity times the temperature-rise rate equals heat transferred from the charging stream. With constant properties and a plug-flow exchanger, effectiveness is constant, so the store approaches source temperature exponentially. Integrating stored energy and the ambient-referenced thermal exergy over the rise gives different quantities: the exergy contains a logarithmic temperature term. Incoming and outgoing stream exergy must also be integrated over the full charging time.
A latent store remains at its melting temperature only while unused latent capacity remains. At that fixed temperature the heat and exergy rates are constant, but multiplying by the entered duration may exceed the available capacity. That capacity imposes a minimum feasible melting temperature for a fixed duration. The unconstrained geometric-mean optimum is accepted only if it is feasible; otherwise the optimum moves to the capacity boundary. Plug-flow and mixed-flow exchanger factors remain distinct.
| Symbol | Meaning | Unit | Valid range |
|---|---|---|---|
T1 | Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app. | K | T > T0 > 0Source stream inlet. |
T0 | Dead-state temperature: the temperature of the environment the system is eventually going to equilibrate with. Exergy is meaningless without it. | K | 0 < T0 < T |
mdot | Mass flow rate. | kg/s | mdot > 0Mass flow of charging stream. |
cp | Specific heat at constant pressure: how much energy raises one kilogram by one degree while the pressure is held fixed. | kJ/(kg K) | cp > 0Constant specific heat of charging stream. |
UA_store | Conductance between the charging stream and the store. | kW/K | UA_store > 0 |
t_charge | How long the store is charged for. | s | t_charge > 0Finite entered charging duration; latent charge must fit the available latent heat. |
T_store | Temperature the store is held at. | K | T0 < T_store < TLatent melting temperature. Sensible store begins at ambient and its temperature evolves. |
storage_kind | Whether the store works by rising in temperature or by melting at a fixed one. | — | sensible or latent |
M_store | Sensible store total heat capacity. | kJ/K | M_store > 0Sensible store total heat capacity. |
Q_latent | Available latent heat; no warming outside the phase-change plateau is modeled. | kJ | Q_latent > 0Available latent heat; no warming outside the phase-change plateau is modeled. |
storage_flow | Latent stream transfer factor: 1-exp(-N) or N/(1+N). Sensible model uses plug flow. | — | plug flow or mixed flowLatent stream transfer factor: 1-exp(-N) or N/(1+N). Sensible model uses plug flow. |
| Symbol | Meaning | Unit | Relation |
|---|---|---|---|
sigma | Entropy production: entropy that was created inside the boundary rather than carried across it. Zero for an ideal process, positive for every real one, and never negative. | kJ/K | Integrated heat-exchanger entropy generation, excluding outlet disposal. |
Ed | Exergy destroyed: work potential that was permanently lost, equal to the dead-state temperature times the entropy produced. | kJ | Integrated heat-exchanger exergy destruction, T0*sigma. |
T_store_opt | The storage temperature that destroys the least exergy, which is neither the highest available nor the source temperature. | K | Capacity-constrained latent melting temperature maximizing captured exergy at fixed duration. |
eta_storage | How much of the exergy put into a store is still there to take out. | - | Stored / incoming exergy over the full duration. |
t_charge_opt | Sensible charging duration maximizing stored / incoming exergy. | s | Sensible charging duration maximizing stored / incoming exergy. |
Q_stored | Integrated stored heat. | kJ | Integrated stored heat. |
B_stored | Integrated captured exergy. | kJ | Integrated captured exergy. |
B_in | Incoming stream exergy over the entered time. | kJ | Incoming stream exergy over the entered time. |
B_out | Unused outgoing stream exergy over the entered time. | kJ | Unused outgoing stream exergy over the entered time. |
S_dump | Additional entropy if the outlet is discarded to ambient. | kJ/K | Additional entropy if the outlet is discarded to ambient. |
S_total | Heat-exchanger plus outlet-disposal entropy. | kJ/K | Heat-exchanger plus outlet-disposal entropy. |
T_final_store | Store temperature at the end of the charge. | K | Store temperature at the end of the charge. |
T_final_out | Final outlet temperature. | K | Final outlet temperature. |
Which store?
sensible, a single temperature rising, latent, at a fixed melting temperature
Sensible: initially ambient, constant store heat capacity, exact integrated history and optimal charge duration. Latent: fixed melting temperature, both flow models, finite available capacity and feasible temperature optimum.
Which latent charging stream model?
plug flow, mixed flow
Plug flow factor 1-exp(-N); mixed flow factor N/(1+N). This choice is visible for latent storage; the sensible derivation uses plug flow.
Exact relations:
Monotonic trends:
Latent stored exergy is zero at either unconstrained temperature endpoint. Sensible efficiency tends to zero for both vanishing and indefinitely long duration.
How the app handles it: Plot true feasible endpoints; refuse invalid duration, overfilled latent storage and unresolved numerical states.
The sensible solution uses an exponential temperature history and bounded integration of entropy and outlet exergy. Its optimum charging time maximizes stored exergy divided by incoming exergy, not cumulative entropy generation. Latent calculations check capacity before accepting the time history, then compare the unconstrained temperature optimum with the feasible bound. Every accepted charge closes the full-duration exergy account.
Compare heat stored with stored exergy before interpreting the efficiency. A longer sensible charge can store more heat while decreasing stored-to-incoming exergy efficiency. In the latent branch, check the used-capacity fraction and maximum duration; the best melting temperature can be above the unconstrained geometric mean when capacity is tight.