Theory Manual

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.

Contents

Scope, and how to read this manual

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.

Back to top

Notation, symbols and unit conventions

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.

Back to top

How the app solves things

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.

Back to top

How to judge a result

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.

Back to top

Known limits

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.

QuantityValid rangeSeverityWhat the app says
temperature273.15–1073.15 KWarningOutside the validated range of the water formulation for this region. Region 5 extends to 2273.15 K but only below 50 MPa.
pressure0.000611657–100 MPaErrorOutside the validated pressure range of the water formulation.
temperature200–6,000 KWarningOutside the fitted range of the ideal-gas polynomials. Extrapolation is not reported as a value.
turbine exit quality≥ 0.88WarningLiquid 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 pressure0–10WarningBeyond the correlated range of the generalised charts. Use a cubic equation of state instead.
reduced pressure≤ 0.1InfoThe 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—ErrorThe 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—InfoMoist 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—InfoCold-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—InfoThe saturated-liquid approximation is being used. Its error grows with pressure; the pressure-corrected form and the exact value are both available.
equivalence ratio0.3–3WarningOutside the usual flammability range for hydrocarbon fuels in air. The energy balance still solves, but the mixture would not burn.
entropy production≥ 0 kJ/KErrorEntropy 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.999WarningWithin 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—InfoValues 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—InfoSpecific 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—InfoThe 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 KWarningAbove 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.92WarningThese 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.

State & properties

M01State Explorer

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.

x=(v-v_f)/(v_g-v_f), y=y_f+x y_fg, y ∈ {v,u,h,s}

What it rests on

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.

How the working relation follows

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.

state ⟶ (p, T, v, u, h, s) from any admissible pair
x=(v-v_f)/(v_g-v_f), y=y_f+x y_fg, y ∈ {v,u,h,s}
h=u+pv, T ds=du+p dv, T ds=dh-v dp

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.—
Water in 1.0; refrigerants arrive with PE-12.
TTemperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K273.15 <= T <= 1073.15
Regions 1–4; Region 5 remains outside the current water solver.
pPressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPa0.000611657 <= p <= 100.0
vSpecific 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/kgv > 0
uSpecific 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—
hSpecific 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—
sSpecific 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)—
xQuality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines.-0 <= x <= 1

Outputs

SymbolMeaningUnitRelation
TTemperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.Kfrom the chosen pair
pPressure: 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—
vSpecific 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—
rhoDensity: mass per unit volume, the reciprocal of specific volume.kg/m^3ρ = 1/v
uSpecific 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—
hSpecific 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/kgh = u + pv
sSpecific 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)—
xQuality: 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.
phaseWhich 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The critical point of water

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 triple point

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 region 2/3 boundary

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

X approaching 0 or 1

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.

The region 1 / region 3 seam at 623.15 K, above about 16.5 MPa

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.

Fixing a state from pressure and enthalpy or pressure and entropy at the region 2 / region 3 boundary, 623.15 K to 863.15 K

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M02Ideal Gas Properties

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.

c̄_p/R̄=a_1T⁻²+a_2T⁻¹+a_3+a_4T+a_5T²+a_6T³+a_7T⁴, c_p-c_v=R, k=c_p/c_v, p_r(T_2)/(p_r(T_1))=(p_2/p_1)_(s=const)

What it rests on

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.

How the working relation follows

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.

c̄ₚ(T)/R̄=a₁T⁻²+a₂T⁻¹+a₃+a₄T+a₅T²+a₆T³+a₇T⁴
cₚ-cᵥ=R, k=cₚ/cᵥ, u=h-RT
s₂-s₁=s°(T₂)-s°(T₁)-R ln p₂/p₁
p_r(T)= exp ((s°(T)-s°(T_ref))/R), v_r(T)=(T/T_ref)/(p_r(T))

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.—
Air and the species set carried by the polynomial data.
TTemperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.Kwithin the selected species source temperature range
basisWhether specific quantities are reported per kilogram or per kilomole. It changes every number on the screen at once.—
Mass or molar.
T_cp_evaluationTemperature at which a constant specific heat is evaluated.K
Active only for the constant-cp model; within the selected species source range.
gas_cp_modelSpecific-heat law used consistently in the ideal-gas state and inverse calculations.—one declared caloric model
Variable cp, constant cp at an evaluation temperature, or cold-air standard (air only).
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.Kwithin selected source range
First temperature for entropy change and cp-plot interval.
p1Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPap > 0
First pressure for entropy change.
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.Kwithin selected source range
Second temperature for entropy change and cp-plot interval.
p2Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPap > 0
Second pressure for entropy change.

Outputs

SymbolMeaningUnitRelation
RSpecific 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.
MMolar mass: the mass of one kilomole of the substance. For a mixture, the mole-fraction-weighted average.kg/kmol—
cpSpecific 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.
cvSpecific 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.
kSpecific heat ratio: cp divided by cv. It governs how steeply temperature changes when a gas is compressed without heat transfer.-k=cₚ/cᵥ
hSpecific 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/kgh(T)=∫ cₚ dT
Core value is mass specific; molar basis uses ui.gas_properties_view.value and changes kg to kmol in the unit.
uSpecific 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/kgu=h-RT
Core value is mass specific; molar basis uses ui.gas_properties_view.value and changes kg to kmol in the unit.
s0The 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.
prRelative 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.
vrRelative 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_changeEntropy 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The ends of the fitted polynomial range

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

The polynomial join temperature at 1000 K

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M34Real Gas: Compressibility and Cubic Equations of State

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.

Z=pv/(RT), (p+a/v²)(v-b)=RT (van der Waals), p=RT/(v-b)-a/(v(v+b)T^(1/2)) (Redlich-Kwong), p=RT/(v-b)-aα(T)/(v²+2bv-b²) (Peng-Robinson)

What it rests on

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.

How the working relation follows

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.

Z=pv/(R̄T), T_R=T/T_c, p_R=p/p_c, v_R′=v p_c/(R̄T_c)
p=R̄T/(v-b)-a(T)/((v+ε b)(v+σ b))
Z³+c₂Z²+c₁Z+c₀=0, A=ap/(R̄T)², B=bp/(R̄T)
(∂ p/(∂ v))_T_c=(∂² p/(∂ v²))_T_c=0

Assumptions

Inputs

SymbolMeaningUnitValid range
TTemperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
pPressure: 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_minLower pressure of the displayed isotherm interval.MPa0.000611213 <= p_plot_min < p_plot_max <= 100
Lower pressure of the displayed isotherm interval.
p_plot_maxUpper pressure of the displayed isotherm interval.MPa0.000611213 <= p_plot_min < p_plot_max <= 100
Upper pressure of the displayed isotherm interval.
rootCandidate outer branch selected independently for each EOS.-largest root: vapour, smallest root: liquid
Candidate outer branch selected independently for each EOS.
plot_quantityQuantity on the common isotherm chart.-compressibility, relative volume difference
Quantity on the common isotherm chart.

Outputs

SymbolMeaningUnitRelation
ZCompressibility 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
vSpecific 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.
TRReduced temperature: temperature as a fraction of the critical temperature.-T_R=T/T_c
pRReduced pressure: pressure as a fraction of the critical pressure.-p_R=p/p_c
vR_pseudoPseudo-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_referenceHow 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.
phaseWhich region of the phase diagram the state falls in: compressed liquid, saturated mixture, saturated vapour, superheated vapour, or supercritical.-
IF97 reference phase.
root_countPer-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_statusResolved per-model candidate branch and reasons for unavailable comparisons.-
Resolved per-model candidate branch and reasons for unavailable comparisons.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The cubic discriminant approaching zero

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.

Reduced pressure beyond the correlated range of the chart

the chart-based route is extrapolating

How the app handles it: validity warning V-LEEKESLER-PR and a recommendation to use a cubic instead

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M35Departure Functions

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.

h_2-h_1=h_2^(*)-h_1^(*)-RT_c[((h^(*)-h)/(RT_c))_2-((h^(*)-h)/(RT_c))_1], s_2-s_1=s_2^(*)-s_1^(*)-R[((s^(*)-s)/R)_2-((s^(*)-s)/R)_1]

What it rests on

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.

How the working relation follows

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.

h₂-h₁=(h₂^ig-h₁^ig)+(h₂^R-h₁^R)
s₂-s₁=(s₂^ig-s₁^ig)+(s₂^R-s₁^R)
g^R=RT ln φ

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.—
Selected species supplies its critical constants and acentric factor; these are not editable inputs.
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p1Pressure: 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—
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p2Pressure: 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—
modelWhich equation of state the screen is evaluating.——

Outputs

SymbolMeaningUnitRelation
dh_departureHow much the real enthalpy differs from the ideal-gas enthalpy at the same temperature.kJ/kg—
ds_departureHow much the real entropy differs from the ideal-gas entropy at the same temperature and pressure.kJ/(kg K)—
DeltaHChange in total enthalpy between the two states.kJ/kg—
DeltaSChange in total entropy between the two states.kJ/(kg K)—
phi_fugFugacity 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

Choices made explicit

Which route to the correction?

generalised correlation, from a cubic equation of state, analytically

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The critical region

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M36Thermodynamic Relations

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.

(∂ T/(∂ v))_s=-(∂ p/(∂ s))_v, (∂ p/(∂ T))_v=(∂ s/(∂ v))_T, (dp/(dT))_sat=(h_g-h_f)/(T(v_g-v_f)), c_p-c_v=v Tβ²/κ

What it rests on

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.

How the working relation follows

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.

c_p-c_v=Tvβ²/κ_T
μ_JT=v(Tβ-1)/c_p
dp_sat/(dT)=h_fg/(T(v_g-v_f))

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.——
TTemperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
pPressure: 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—
relationWhich of the property relations the screen is evaluating.——

Outputs

SymbolMeaningUnitRelation
beta_vVolume expansivity: the fractional change in volume per degree of temperature rise at constant pressure.1/Kβ=(1/v)(∂ v/(∂ T))ₚ
kappa_TIsothermal compressibility: the fractional reduction in volume per unit pressure rise at constant temperature.1/MPaκ=-(1/v)(∂ v/(∂ p))_T
cp_minus_cvThe 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_JTJoule-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_satThe 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.
hfgLatent enthalpy: the energy one kilogram absorbs turning from saturated liquid into saturated vapour at fixed temperature.kJ/kgh_fg=T v_fg(dp/(dT))_sat
c_soundSpeed of sound in the substance at this state.m/s—

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The critical point

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

Numerical differentiation of the formulation

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M37Ideal Gas Mixtures

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.

M=Σᵢ yᵢMᵢ, pᵢ=yᵢp, c̄ₚ=Σᵢ yᵢc̄ₚ,ᵢ, Δs̄=Σᵢ yᵢ[s̄°ᵢ(T₂)-s̄°ᵢ(T₁)-R̄ ln pᵢ,₂/(pᵢ,₁)]

What it rests on

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.

How the working relation follows

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.

Mₘᵢₓ=Σᵢ yᵢMᵢ, pᵢ=yᵢ p
Δ Sₘᵢₓ=-RΣᵢ nᵢ ln yᵢ
Σᵢₙṅᵢ hᵢ=Σₒᵤₜṅᵢ hᵢ

Assumptions

Inputs

SymbolMeaningUnitValid range
composition1The make-up of the mixture, as fractions of its components.-
First stream or property-state composition; proportional nonnegative amounts are normalised.
composition2The make-up of the mixture, as fractions of its components.-
Second stream composition in mixing mode.
basisWhether specific quantities are reported per kilogram or per kilomole. It changes every number on the screen at once.-mole fractions, mass fractions
Controls composition fractions only; both entered stream flows remain molar.
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
First stream or property-state temperature.
p1Pressure: 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.
ndot1Molar flow: amount of substance passing a section per unit time.kmol/spositive finite
First inlet molar flow; active in mixing mode.
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Second inlet temperature.
p2Pressure: 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.
ndot2Molar flow: amount of substance passing a section per unit time.kmol/spositive finite
Second inlet molar flow; active in mixing mode.
p3Pressure: 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.

Outputs

SymbolMeaningUnitRelation
MMolar mass: the mass of one kilomole of the substance. For a mixture, the mole-fraction-weighted average.kg/kmolM=Σ yᵢMᵢ
RSpecific gas constant: the universal gas constant divided by the molar mass of this particular gas.kJ/(kg K)—
cpSpecific heat at constant pressure: how much energy raises one kilogram by one degree while the pressure is held fixed.kJ/(kg K)—
cvSpecific 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)—
kSpecific heat ratio: cp divided by cv. It governs how steeply temperature changes when a gas is compressed without heat transfer.-—
p_partialPartial pressure: the pressure one component of a mixture would exert if it alone occupied the whole volume.MPapᵢ=yᵢp
Same pressure unit as the input, before the display-unit conversion.
DeltaS_mixingThe 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.
T3Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
sigmadotRate 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.
ndotMolar flow: amount of substance passing a section per unit time.kmol/s
Total outlet molar flow; sum of the inlet molar flows.
sigma_thermalThermal contribution to the entropy-production rate.kW/K
Thermal contribution to the entropy-production rate.
sigma_compositionComposition contribution to the entropy-production rate.kW/K
Composition contribution to the entropy-production rate.
sigma_pressurePressure 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.

Choices made explicit

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

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

A mole fraction approaching zero

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

First law

M03Process Path

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.

pvⁿ=const, ∫₁² p dV=(p₂V₂-p₁V₁)/(1-n) (n≠1), ∫₁² p dV=p₁V₁ ln (V₂/V₁) (n=1)

What it rests on

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.

How the working relation follows

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.

w=∫₁² p dv, q=Δ u+w, Q=mq, W=mw
pvⁿ=constant, w=(p₂v₂-p₁v₁)/(1-n) (n≠1)
w=p_1v_1 ln (v_2/v_1) (n=1), q_rev=∫_1² T ds

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.—declared ideal-gas species; water; or a user-given incompressible idealisation
processWhich of the available process paths the screen is applying.——
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.Kfinite positive temperature inside the selected model
Used only when active in the selected independent pair or endpoint control; otherwise derived.
p1Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPafinite positive pressure inside the selected model
Used only when active in the selected independent pair or endpoint control; otherwise derived.
v1Specific 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/kgfinite positive specific volume
Used only when active in the selected independent pair or endpoint control; otherwise derived.
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.Kfinite positive temperature inside the selected model
Used only when active in the selected independent pair or endpoint control; otherwise derived.
p2Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPafinite positive pressure inside the selected model
Used only when active in the selected independent pair or endpoint control; otherwise derived.
v2Specific 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/kgfinite positive specific volume
Used only when active in the selected independent pair or endpoint control; otherwise derived.
nPolytropic 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 < inf
Polytropic exponent.
mMass of the system or of the sample being considered.kgfinite m > 0; all nonzero totals must remain representable
process_modelProperty 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_modelNASA polynomial, evaluated constant cp, or air-only cold-air standard.—one of the three declared gas caloric models
NASA polynomial, evaluated constant cp, or air-only cold-air standard.
evaluation_temperatureTemperature used to evaluate constant cp.Kinside the selected gas polynomial interval
Temperature used to evaluate constant cp.
inlet_pairWater alone accepts quality; the given-c/v model uses p,T.—p,T | p,v | p,x
Water alone accepts quality; the given-c/v model uses p,T.
xQuality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines.—0 <= x <= 1
Active water quality for an initial p,x pair or isobaric endpoint.
temperature_rootVisible water p,v temperature root; changing root counts on a polytrope are refused.—lower-temperature root | higher-temperature root
Visible water p,v temperature root; changing root counts on a polytrope are refused.
heat_capacityUser-given incompressible constant c; no material database.kJ/(kg K)finite c > 0
User-given incompressible constant c; no material database.
fixed_volumeUser-given incompressible constant specific volume.m^3/kgfinite v > 0
User-given incompressible constant specific volume.
path_samplesNumber of base nodes; water saturation breakpoints may add nodes.—integer 2 <= path_samples <= 401
Number of base nodes; water saturation breakpoints may add nodes.

Outputs

SymbolMeaningUnitRelation
WWork transferred across the boundary, taken as positive when it comes out of the system.kJW=∫₁² p dV
Total for the stated mass; state changes and transfers are also shown per kg.
QHeat transferred across the boundary, taken as positive when it goes into the system.kJQ=Δ U+W
Total for the stated mass; state changes and transfers are also shown per kg.
DeltaUChange 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.
DeltaHChange in total enthalpy between the two states.kJ
Total for the stated mass; state changes and transfers are also shown per kg.
DeltaSChange in total entropy between the two states.kJ/K
Total for the stated mass; state changes and transfers are also shown per kg.
specific_workBoundary work leaving the closed system per unit mass.kJ/kg
Boundary work leaving the closed system per unit mass.
specific_heatHeat entering the closed system per unit mass.kJ/kg
Heat entering the closed system per unit mass.
process_delta_uChange in specific internal energy, final minus initial.kJ/kg
Change in specific internal energy, final minus initial.
process_delta_hChange in specific enthalpy, final minus initial.kJ/kg
Change in specific enthalpy, final minus initial.
process_delta_sChange in specific entropy, final minus initial.kJ/(kg K)
Change in specific entropy, final minus initial.
sampled_workTrapezoidal integral of pressure with respect to specific volume.kJ/kg
Trapezoidal integral of pressure with respect to specific volume.
sampled_heatTrapezoidal integral of absolute temperature with respect to specific entropy.kJ/kg
Trapezoidal integral of absolute temperature with respect to specific entropy.
work_differenceSampled 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_differenceSampled 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The polytropic exponent approaching 1

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.

Two states at nearly equal temperature and pressure

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M04Closed System Energy Balance

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.

Δ U+Δ KE+Δ PE=Q-W, Δ KE=(1/2)m(V₂²-V₁²), Δ PE=mg(z₂-z₁), m=(Q-W)/(Δ u+Δ ke+Δ pe), u₂=u₁+Δ U/m

What it rests on

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.

How the working relation follows

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.

Δ U+Δ KE+Δ PE=Q-W
Δ KE=(1/2)m(V₂-V₁)(V₂+V₁), Δ PE=mg(z₂-z₁)
W_shaft=2π Nτ, W_elec=EIt, W_spring=(1/2)κ(x_2-x_1)(x_2+x_1)

Assumptions

Inputs

SymbolMeaningUnitValid range
mMass of the system or of the sample being considered.kg—
QHeat transferred across the boundary, taken as positive when it goes into the system.kJ—
WWork transferred across the boundary, taken as positive when it comes out of the system.kJ—
DeltaUChange in the total internal energy of the system between the two states.kJ—
vel1Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy.m/s—
vel2Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy.m/s—
z1Elevation above the chosen datum.m—
z2Elevation above the chosen datum.m—
Delta_u_specificChange in internal energy per kilogram, specified independently when the total balance determines mass.kJ/kgfinite, resolved net specific energy
Given for mass inverse; total energy outputs remain kJ.
p1Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPaIF97 pressure range
Initial state for final-state inverse
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K273.15 <= T <= 1073.15, within supported region
Initial state for final-state inverse
p2Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPaIF97 pressure range
Final-pressure constraint
v2Specific 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/kgv > 0, resolved inside supported formulation
Final specific-volume constraint; rigid volume uses initial v

Outputs

SymbolMeaningUnitRelation
QHeat transferred across the boundary, taken as positive when it goes into the system.kJQ=Δ U+Δ KE+Δ PE+W
WWork transferred across the boundary, taken as positive when it comes out of the system.kJW=Q-Δ U-Δ KE-Δ PE
DeltaUChange in the total internal energy of the system between the two states.kJ—
DeltaKEChange in kinetic energy of the system as a whole.kJΔ KE=(1/2)m(V₂²-V₁²)
DeltaPEChange in gravitational potential energy of the system as a whole.kJΔ PE=mg(z₂-z₁)
mMass of the system or of the sample being considered.kgm=(Q-W)/(Δ u+Δ ke+Δ pe)
Positive resolved mass from independently specified specific energy change
TTemperature: 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
pPressure: 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
vSpecific 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
uSpecific 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
hSpecific 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
sSpecific 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
xQuality: 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

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Velocities differing by far less than their magnitude

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M05Cycle Energy Accounting

Choose power or refrigeration/heat-pump direction; account for heat, signed work, reservoir entropy and the applicable performance ratios.

W_out=Q_in-Q_out, W_in=-W_out, η=W_out/Q_in (power), β=Q_in/W_in, γ=Q_out/W_in=β+1 (refrigeration), η≤1-T_C/T_H, β≤T_C/(T_H-T_C)

What it rests on

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.

How the working relation follows

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.

Wₒᵤₜ=Qᵢₙ-Qₒᵤₜ, Wᵢₙ=-Wₒᵤₜ
η=Wₒᵤₜ/Qᵢₙ (power)
β=Qᵢₙ/Wᵢₙ, γ=Qₒᵤₜ/Wᵢₙ=β+1 (reverse)
S_gen=Q_out/T_out-Q_in/T_in≥0

Assumptions

Inputs

SymbolMeaningUnitValid range
deviceWhich device the efficiency definition is being applied to.—power, refrigeration or heat pump
Selects the useful output and heat-transfer directions.
QinTotal 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.
QoutTotal 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.
THTemperature of the hot reservoir.K—
TCTemperature of the cold reservoir.K—

Outputs

SymbolMeaningUnitRelation
WcycleNet work produced or consumed over one complete circuit of a cycle.kJW_cycle=Q_in-Q_out
Signed work out. Refrigeration/heat-pump work input is its negative.
etaThermal 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.
betaCoefficient 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.
gammaCoefficient 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_CReversible heat-engine efficiency between the entered reservoirs.-
Reversible heat-engine bound.
beta_CReversible refrigeration coefficient of performance between the entered reservoirs.-
Reversible refrigeration bound.
gamma_CReversible heat-pump coefficient of performance between the entered reservoirs.-
Reversible heat-pump bound.
sigma_cycleEntropy 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_energySigned residual of the stated energy balance; zero within numerical resolution for a closed balance.kJ
Signed first-law residual.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Net work approaching zero

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top

Control-volume devices

M06Nozzle and Diffuser

The one steady-flow device where the kinetic energy term is the point rather than a neglected nuisance.

0=Q̇_cv/ṁ-Ẇ_cv/ṁ+(h_1-h_2)+(V_1²-V_2²)/2+g(z_1-z_2), ṁ=AV/v

What it rests on

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.

How the working relation follows

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.

h₁+V₁²/2=h₂+V₂²/2
V₂=√(V₁²+2(h₁-h₂)), ṁ=AV/v
ηₙ=(V₂²/2)/(V₂ₛ²/2)
η_d=(h_2s-h_1)/(h_2-h_1)

Assumptions

Inputs

SymbolMeaningUnitValid range
deviceWhich device the efficiency definition is being applied to.—nozzle or diffuser
Water/steam, adiabatic, no shaft work. Exit state and areas are calculated from the selected device efficiency.
p1Pressure: 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—
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
vel1Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy.m/s—
p2Pressure: 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—
A2Cross-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.
mdotMass flow rate.kg/s—
eta_nIsentropic nozzle efficiency: actual kinetic energy at the exit divided by what an ideal expansion would have produced.—0 < efficiency <= 1
Only the selected device efficiency is active: nozzle exit kinetic-energy ratio or diffuser ideal/actual enthalpy-rise ratio.
eta_dDiffuser efficiency: isentropic enthalpy rise divided by the actual kinetic-energy drop, equal to actual enthalpy rise for the adiabatic no-work model.—0 < efficiency <= 1
Only the selected device efficiency is active: nozzle exit kinetic-energy ratio or diffuser ideal/actual enthalpy-rise ratio.

Outputs

SymbolMeaningUnitRelation
vel2Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy.m/sV₂=√(2(h₁-h₂)+V₁²)
A2Cross-sectional area the stream passes through.m^2A=ṁv/V
mdotMass flow rate.kg/sṁ=AV/v
Secondary stated-area check; primary flow is supplied independently.
h2Specific 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—
h0Stagnation 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_kinetic1Kinetic energy carried by each unit of flowing mass.kJ/kg—
e_kinetic2Kinetic energy carried by each unit of flowing mass.kJ/kg—
A_ratioOutlet area divided by inlet area, for the same steady mass flow.——
sigmaEntropy 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.
sigmadotRate of entropy production.kW/K—
r_energySigned residual of the stated energy balance; zero within numerical resolution for a closed balance.kJ/kg—
A1Cross-sectional area the stream passes through.m^2A₁=ṁ v₁/ V₁
Derived inlet area; a finite positive area requires a positive inlet speed.
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Derived actual water/steam exit temperature.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The exit state approaching the local sonic condition

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 exit enthalpy approaching the inlet stagnation enthalpy

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M07Turbine

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.

Ẇ=ṁ(h_1-h_2)+Q̇, σ̇=ṁ(s_2-s_1)-Q̇/T_b, η_t=(h_1-h_2)/(h_1-h_2s) (Q̇=0)

What it rests on

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.

How the working relation follows

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.

Ẇ_cv/ṁ=h_1-h_2
ηₜ=(h₁-h₂)/(h₁-h₂ₛ), s₂ₛ=s₁, p₂ₛ=p₂
h₂=h₁-ηₜ (h₁-h₂ₛ)

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.——
p1Pressure: 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—
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p2Pressure: 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—
T2Temperature: 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.
mdotMass flow rate.kg/s—
eta_tIsentropic 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_givenMeasured turbine outlet enthalpy per unit mass.kJ/kgfinite; applicable state/device domain
Active only in the corresponding supplied-quantity direction.
x_exit_givenMeasured vapor mass fraction at the turbine outlet.-finite; applicable state/device domain
Active only in the corresponding supplied-quantity direction.
Wdot_givenPositive shaft power supplied to determine a turbine outlet.kWfinite; applicable state/device domain
Active only in the corresponding supplied-quantity direction.
T_boundaryTemperature of the control surface where heat crosses the boundary.Kfinite and > 0
Required for heat loss.
heat_loss_rateNon-negative thermal energy rate transferred out of the device.kWfinite and >= 0
Outward positive; heat into turbine is its negative.
gas_cp_modelSpecific-heat law used consistently in the ideal-gas state and inverse calculations.—one declared ideal-gas caloric model
Active for ideal gas.
T_cp_evaluationTemperature at which a constant specific heat is evaluated.Kwithin source temperature range
Used by the constant-cp model.

Outputs

SymbolMeaningUnitRelation
WdotRate of work transfer, that is, power.kWẆ=ṁ(h₁-h₂)+Q̇
Shaft power includes specified outward heat loss in the heat-loss model.
h2Specific 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—
x2Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines.-—
eta_tIsentropic 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.
sigmadotRate of entropy production.kW/Kσ̇=ṁ(s_2-s_1)-Q̇/T_b
Includes thermal boundary entropy transfer.
enthalpy_drop_ratioActual 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_turbineWork delivered by the turbine per kilogram of working fluid.kJ/kg
Actual specific work out, including the selected heat-loss model.
w_isentropicReversible 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_specificSigned 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.
QdotRate of heat transfer.kW
Signed heat into the turbine; equals minus the entered outward heat-loss rate.
sigmaEntropy 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Inlet and exit pressures nearly equal

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

Exit quality below the erosion limit

the answer is arithmetically valid and mechanically unacceptable

How the app handles it: validity warning V-TURBINE-EROSION, shown on the result, not buried

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M08Compressor and Pump

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.

w_in=h_2-h_1-q_in, Ẇ_in=ṁ w_in, η_c=(h_2s-h_1)/(h_2-h_1), w_poly=(nRT_1/(n-1))[r_p^((n-1)/n)-1], w_iso=RT_1 ln r_p, w_p≈v_1(p_2-p_1)/η_p, w_real=∫_p_1^p_2v dp, pvⁿ=constant

What it rests on

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.

How the working relation follows

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.

Ẇ_in/ṁ=h_2-h_1, η_c=(h_2s-h_1)/(h_2-h_1)
(Ẇₚ/ṁ)ₛ≈ v₁(p₂-p₁)
pᵢ=√(p₁p₂), pⱼ₊₁/pⱼ=(pₒᵤₜ/pᵢₙ)^(1/N)

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.——
p1Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPap > 0
Exit pressure must exceed inlet pressure.
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p2Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPap > 0
Exit pressure must exceed inlet pressure.
mdotMass flow rate.kg/smdot >= 0
eta_cIsentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken.-0 < eta_c <= 1
nPolytropic 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 > 0
Positive 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.
nstageHow many compression stages are used.-integer 1 <= nstage <= 64
At most 63 thermal resets; no final aftercooler. This ceiling bounds computation and chart size.

Outputs

SymbolMeaningUnitRelation
WdotRate of work transfer, that is, power.kWẆᵢₙ=ṁ wᵢₙ
Gas train total power; liquid pump uses composition.pump_operation.Result.power.
h2Specific 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_cIsentropic 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_optThe intermediate pressure that minimises total work, which for two ideal stages is the geometric mean of the end pressures.MPapᵢ=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_inTotal shaft energy input per kilogram through all stages.kJ/kg
Total shaft energy input per kilogram through all stages.
Q_compressionNet heat into all compressor stages per kilogram.kJ/kg
Net heat into all compressor stages per kilogram.
Q_interstageNet heat rejected between stages per kilogram; negative means heating.kJ/kg
Net heat rejected between stages per kilogram; negative means heating.
sigmaEntropy 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Pressure ratio approaching 1

the isentropic efficiency is 0/0

How the app handles it: same treatment as the turbine: floor and explain

Polytropic exponent approaching 1

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M09Heat Exchanger

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.

0=Q̇_cv+Σ_i ṁ_i h_i-Σ_e ṁ_e h_e

What it rests on

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.

How the working relation follows

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.

0=Σᵢ ṁᵢ hᵢ-Σₑ ṁₑ hₑ
Q̇=ṁ_h(h_(h,in)-h_(h,out))=ṁ_c(h_(c,out)-h_(c,in))
σ̇=Σₑ ṁₑ sₑ-Σᵢ ṁᵢ sᵢ ≥ 0

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.—
Non-mixing: independent hot and cold fluid choices; mixing: both streams share the first selected fluid.
mdot1Mass flow rate.kg/s—
p1Pressure: 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—
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
mdot3Mass flow rate.kg/s—
p3Pressure: 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—
T3Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
T4Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—

Outputs

SymbolMeaningUnitRelation
QdotRate of heat transfer.kWQ̇=ṁₕ(h₁-h₂)
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
T4Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
mdotMass flow rate.kg/s—
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Recovered or supplied inlet temperature.
T3Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Recovered or supplied inlet temperature.
approach_terminalThe smaller temperature gap at the two exchanger ends.ΔK
Non-mixing only: smaller terminal temperature difference.
approach_sampledThe 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_minimumTransferred heat rate at the smallest sampled temperature gap.kW
Non-mixing only: heat-load coordinate of the sampled minimum.
sigmadotRate of entropy production.kW/K
Both streams together, or the mixing control volume.
r_energySigned residual of the stated energy balance; zero within numerical resolution for a closed balance.kW
Rate balance residual.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The terminal temperature difference approaching zero

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M10Throttling Device

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.

h_2=h_1 (p_2<p_1), μ_J=(∂ T/(∂ p))_h

What it rests on

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.

How the working relation follows

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.

h₂=h₁, p₂<p₁
μ_J=(∂ T/(∂ p))_h=(v/c_p)(Tβ-1)
β=1/T ⟹ μ_J=0 (the inversion condition)

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.——
p1Pressure: 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—
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
x1Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines.-—
p2Pressure: 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—
T2Temperature: 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.
mdotMass flow rate.kg/sfinite and non-negative
Mass-flow rating of the water or real-refrigerant forward process; entropy production is reported as a rate.

Outputs

SymbolMeaningUnitRelation
h2Specific 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.
x1Quality: 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.
T2Temperature: 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_JTJoule-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.
sigmadotRate of entropy production.kW/K
Mass-flow times mass-specific entropy increase; water uses composition.throttle_operation.Operation.entropy_rate.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The inversion locus, where the Joule-Thomson coefficient changes sign

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.

Downstream state still inside the dome

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M11Transient Filling and Emptying

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.

m_2u_2-m_1u_1=Q_cv-W_cv+Σ_i m_ih_i-Σ_e m_eh_e

What it rests on

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.

How the working relation follows

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.

m_2u_2-m_1u_1=Q_cv-W_cv+Σ_i m_ih_i-Σ_e m_eh_e
u_2=h_supply (adiabatic zero-work charge of an evacuated rigid vessel)
T_2=k T_supply (the same, for an ideal gas with constant c_p,c_v)
d(mu)=h dm (discharge; the exit enthalpy tracks the vessel)
d(mu)=h dm, v=V/m ⇒ du+p dv=0 ⇒ ds=0

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.——
VVolume: the space the whole system occupies, as opposed to the space one kilogram of it occupies.m^3—
p1Pressure: 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.
T1Temperature: 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.
p2Pressure: 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—
p0Pressure: 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.
T0Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Supply state used only while charging.
QcvHeat 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.
WcvWork 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.

Outputs

SymbolMeaningUnitRelation
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
m2Mass of the system or of the sample being considered.kg—
u2Specific 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_totalTotal mass transferred over the whole transient period, as opposed to the instantaneous rate.kg—
U_vessel_initialInitial total internal energy.kJ
Initial total internal energy.
U_vessel_finalFinal total internal energy.kJ
Final total internal energy.
E_transport_netNet transported energy signed into the vessel.kJ
Net transported energy signed into the vessel.
E_transport_sampledDischarge diagnostic trapezoidal integral of h dm.kJ
Discharge diagnostic trapezoidal integral of h dm.
E_transport_deltaSampled discharge transport minus the endpoint balance.kJ
Sampled discharge transport minus the endpoint balance.
E_vessel_residualFinal minus initial energy less heat minus work and net transport.kJ
Final minus initial energy less heat minus work and net transport.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

An initially evacuated vessel

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.

Vessel pressure approaching supply pressure

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.

How it is solved

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).

Limitations

Reading the result

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.

Back to top

Second law & exergy

M12Reversible Limits

The bound every other cycle screen is measured against, and the three-way verdict on a claimed cycle: impossible, reversible, or irreversible.

η_max=1-T_C/T_H, β_max=T_C/(T_H-T_C), γ_max=T_H/(T_H-T_C), ∮δ Q/T=-σ_cycle≤ 0

What it rests on

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.

How the working relation follows

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.

η_max=1-T_C/T_H, β_max=T_C/(T_H-T_C), γ_max=T_H/(T_H-T_C)
∮δ Q/T=Q_in/T_H-Q_out/T_C=-σ_cycle≤ 0
γₘₐₓ=βₘₐₓ+1

Assumptions

Inputs

SymbolMeaningUnitValid range
THTemperature of the hot reservoir.KTH > TC
TCTemperature of the cold reservoir.KTC > 0
QinTotal heat supplied to a cycle over one complete circuit, counted as a positive quantity.kJ—
QoutTotal heat rejected by a cycle over one complete circuit, counted as a positive quantity.kJ—
WcycleNet work produced or consumed over one complete circuit of a cycle.kJ—

Outputs

SymbolMeaningUnitRelation
eta_maxThe largest thermal efficiency any device can have between the two given reservoir temperatures.-η_max=1-T_C/T_H
beta_maxThe largest refrigeration coefficient of performance possible between the two given temperatures.-β_max=T_C/(T_H-T_C)
gamma_maxThe largest heat pump coefficient of performance possible between the two given temperatures.-γ_max=T_H/(T_H-T_C)
sigma_cycleEntropy produced over one complete circuit, obtained from the cycle integral of heat over boundary temperature.kJ/Kσ_cycle=-∮δ Q/T
verdictThe screen's judgement on whether the described process is impossible, reversible, or irreversible.—
impossible, reversible, or irreversible

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The two reservoir temperatures approaching each other

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

Cold reservoir temperature approaching absolute zero

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M13Entropy Balance

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.

S_2-S_1=∫_1²δ Q/T_b+σ, 0=Σ_jQ̇_j/T_j+Σ_iṁ_is_i-Σ_eṁ_es_e+σ̇, ∫δ Q/T_b=Q ln (T_(b,2)/T_(b,1))/(T_(b,2)-T_(b,1)) (linear in transferred heat)

What it rests on

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.

How the working relation follows

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.

S_2-S_1=∫_1²δ Q/T_b+σ, σ≥ 0
0=ΣⱼQ̇ⱼ/Tⱼ+Σᵢṁᵢsᵢ-Σₑṁₑsₑ+σ̇
σ=Δ S-Σ_jQ_j/(T_(b,j))

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.——
s1Specific 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)—
s2Specific 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)—
mMass of the system or of the sample being considered.kg—
mdotMass flow rate.kg/s—
QdotRate of heat transfer.kW—
TbTemperature 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—
QHeat transferred across the boundary, taken as positive when it goes into the system.kJ—

Outputs

SymbolMeaningUnitRelation
DeltaSChange in total entropy between the two states.kJ/K—
sigmaEntropy 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
sigmadotRate of entropy production.kW/K—
verdictThe screen's judgement on whether the described process is impossible, reversible, or irreversible.—
impossible, reversible, or irreversible

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Entropy production near zero

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

Two states at nearly equal temperature and pressure

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M14Isentropic Efficiency

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.

η_t=(h_1-h_2)/(h_1-h_2s), η_n=(V_2²/2)/(V_2s²/2), η_c=(h_2s-h_1)/(h_2-h_1)

What it rests on

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.

How the working relation follows

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.

η_t=(h_1-h_2)/(h_1-h_2s), η_c=(h_2s-h_1)/(h_2-h_1)
ηₙ=(V₂²/2)/(V₂ₛ²/2), V₂/(V₂ₛ)=√(ηₙ)
s₂ₛ=s₁, p₂ₛ=p₂

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.——
deviceWhich device the efficiency definition is being applied to.——
p1Pressure: 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—
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p2Pressure: 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—
T2Temperature: 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_tIsentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced.-0 < eta_t <= 1
eta_cIsentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken.-0 < eta_c <= 1
eta_nIsentropic nozzle efficiency: actual kinetic energy at the exit divided by what an ideal expansion would have produced.-0 < eta_n <= 1
h_exit_givenMeasured turbine outlet enthalpy per unit mass.kJ/kg
Measured exit enthalpy; optional alternative to T or x.
x_exit_givenMeasured vapor mass fraction at the turbine outlet.-
Measured wet-water exit quality.
x_inlet_givenWater inlet quality; zero for saturated-liquid pump inlet.-
Water inlet quality; zero for saturated-liquid pump inlet.
V_inlet_givenNozzle inlet speed.m/s
Nozzle inlet speed.
V_exit_givenMeasured nozzle exit speed.m/s
Measured nozzle exit speed.

Outputs

SymbolMeaningUnitRelation
h2Specific 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_2sThe exit enthalpy an ideal, entropy-preserving process would have reached at the actual exit pressure. The reference the real exit is measured against.kJ/kgs₂ₛ=s₁, p₂ₛ=p₂
Actual exit station for h; isentropic exit station for h_2s, both rendered and plotted separately.
eta_tIsentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced.-—
eta_cIsentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken.-—
eta_nIsentropic nozzle efficiency: actual kinetic energy at the exit divided by what an ideal expansion would have produced.-—
x2Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines.-—
e_actualNozzle: 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_isentropicNozzle: 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.
velVelocity 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_isentropicNozzle only: ideal exit speed.m/s
Nozzle only: ideal exit speed.
sigmaEntropy 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The isentropic enthalpy change approaching zero

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 isentropic exit state landing on the saturation line

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M15Reversible Steady-Flow Work

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.

(Ẇ_cv/ṁ)_(int rev)=-∫_1² v dp, -∫_1² v dp=-v(p_2-p_1) (v constant), -∫_1² v dp=n(p_2v_2-p_1v_1)/(1-n) (polytropic)

What it rests on

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.

How the working relation follows

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.

(Ẇ_cv/ṁ)_(int rev)=-∫_1² v dp
-∫₁² v dp=-v(p₂-p₁) (v constant), -∫₁² v dp=n(p₂v₂-p₁v₁)/(1-n)
-∫₁² v dp=-p₁v₁ ln p₂/p₁ (n=1)

Assumptions

Inputs

SymbolMeaningUnitValid range
v_liquidGiven constant specific volume for the independent incompressible shortcut.m^3/kgpositive finite
Given constant specific volume for the independent incompressible shortcut.
p_liquid_inIncompressible shortcut inlet pressure.MPa
Incompressible shortcut inlet pressure.
p_liquid_outIncompressible shortcut outlet pressure.MPa
Incompressible shortcut outlet pressure.
v_gas_inGiven 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_inGas-shortcut inlet pressure.MPa
Gas-shortcut inlet pressure.
p_gas_outGas-shortcut outlet pressure.MPa
Gas-shortcut outlet pressure.
nPolytropic 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.
p1Pressure: 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.
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Water IF97 isentrope inlet temperature.
p2Pressure: 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.
samplesRequested logarithmic-pressure quadrature nodes.-integer 2 to 401
Base logarithmic-pressure quadrature nodes. Resolved saturation intersections are inserted in addition, so actual node count may be greater.

Outputs

SymbolMeaningUnitRelation
w_revReversible work per unit mass for a steady-flow device.kJ/kgw=-∫₁² v dp
w_incompressibleThe same work computed with the specific volume held constant, which is the shortcut used for pumps.kJ/kgw=-v₁(p₂-p₁)
w_isothermalReversible ideal-gas isothermal shortcut using the independent gas input group.kJ/kgw=-p₁v₁ ln (p₂/p₁)
Reversible ideal-gas isothermal shortcut using the independent gas input group.
w_polytropicThe same work computed along a polytropic path.kJ/kgw=n(p₂v₂-p₁v₁)/(1-n)
w_isentropicReversible adiabatic work per mass from the inlet and outlet enthalpy difference.kJ/kgw=h₁-h₂
Isentropic endpoint identity; compared with the sampled integral.
w_quadrature_deltaSampled reversible work minus the isentropic endpoint enthalpy difference.kJ/kgw_{sampled}-(h_1-h_2)
Observed numerical discrepancy, not an uncertainty bound.
integration_nodesPressure nodes actually used in the quadrature, including resolved saturation intersections.-
Actual node count after inserting saturation intersections.
saturation_crossingsResolved liquid/vapour saturation intersections inserted into a property path.-
Number of explicitly inserted resolved saturation intersections.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Polytropic exponent approaching 1

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.

An integration path crossing the saturation line

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M16Closed-System Exergy

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.

E=(U-U_0)+p_0(V-V_0)-T_0(S-S_0)+KE+PE, E_d=T_0σ

What it rests on

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.

How the working relation follows

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.

E=(U-U₀)+p₀(V-V₀)-T₀(S-S₀)+KE+PE
Δ E=E_q-E_w-E_d, E_w=W-p_0Δ V
σ=Δ S-∫δ Q/T_b, E_d=T_0σ
R_U=Q-W-Δ U-Δ KE-Δ PE

Assumptions

Inputs

SymbolMeaningUnitValid range
modelWhich equation of state the screen is evaluating.—water IF97; ideal gas; given constant c and v
The same model and substance resolve initial, final and environment states.
substanceWhich working fluid the screen is operating on.—declared gas species and mixtures
Water is fixed in IF97 mode; no named-material database is assumed for given c and v.
mMass of the system or of the sample being considered.kgfinite and positive
The same mass for both states and all totals.
T0Dead-state temperature: the temperature of the environment the system is eventually going to equilibrate with. Exergy is meaningless without it.Kfinite and positive; inside the selected property domain
Editable environment temperature.
p0Dead-state pressure: the pressure of that same environment.MPafinite and positive; inside the selected property domain
Editable environment pressure.
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.Kselected property domain
Water uses an explicit p,T or p,x pair; gas and given c/v use p,T.
p1Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPaselected property domain
Water uses an explicit p,T or p,x pair; gas and given c/v use p,T.
x1Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines.—selected property domain
Water uses an explicit p,T or p,x pair; gas and given c/v use p,T.
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.Kselected property domain
Water uses an explicit p,T or p,x pair; gas and given c/v use p,T.
p2Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPaselected property domain
Water uses an explicit p,T or p,x pair; gas and given c/v use p,T.
x2Quality: the fraction of a liquid-vapour mixture that is vapour, by mass. Meaningful only between the two saturation lines.—selected property domain
Water uses an explicit p,T or p,x pair; gas and given c/v use p,T.
QHeat transferred across the boundary, taken as positive when it goes into the system.kJfinite, signed
Total heat into contents.
TbTemperature of the boundary where the heat crosses. Not the temperature of the system, and using the system's temperature instead is the standard error.Kfinite and positive
Constant boundary temperature or initial endpoint of a linear-in-heat law.
Tb_endThe final absolute boundary temperature in a declared linear-in-transferred-heat path.Kfinite and positive
Active only for the linear-in-heat boundary temperature law.
WWork transferred across the boundary, taken as positive when it comes out of the system.kJfinite, signed
Total work out; derive from first law or check the entered value.
velocity_inThe speed of the initial contents relative to the environment at rest.m/sfinite and nonnegative
Initial speed; environment at rest.
velocity_outThe final speed relative to the same environment.m/sfinite and nonnegative
Final speed.
elevation_inInitial height relative to the common environmental zero-height datum.mfinite, signed
Initial elevation relative to one common environmental datum.
elevation_outFinal height relative to the same datum.mfinite, signed
Final elevation relative to the same datum.
cThe user-supplied constant specific heat capacity of the incompressible idealisation.kJ/(kg K)finite and positive
Given heat capacity, only for the incompressible idealisation.
vSpecific 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/kgfinite and positive
Given fixed specific volume, only for the incompressible idealisation.

Outputs

SymbolMeaningUnitRelation
E1Exergy 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.
E2Exergy 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.
e1Exergy per unit mass of a closed system.kJ/kg
Specific initial stored exergy.
e2Exergy per unit mass of a closed system.kJ/kg
Specific final stored exergy.
DeltaEChange in exergy between the two states.kJΔ E=E_q-E_w-E_d
Evaluated from endpoint potentials; closure checked independently.
EqExergy that came along with a heat transfer, which is less than the heat itself by the reversible factor.kJE_q=∫(1-T_0/T_b)δ Q
Signed heat exergy; may be negative.
EwExergy that came along with a work transfer, less whatever was spent pushing the atmosphere aside.kJE_w=W-p_0Δ V
Signed work exergy out; volume is derived from the two states and mass.
EdExergy destroyed: work potential that was permanently lost, equal to the dead-state temperature times the entropy produced.kJE_d=T_0σ
A negative value is retained as an impossible-process diagnostic, never interpreted as physical destruction.
sigmaEntropy 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.
DeltaVTotal final volume minus total initial volume for the same mass.m^3
Derived total volume change.
DeltaSChange in total entropy between the two states.kJ/K
Total entropy change.
energy_residualHeat in minus work out minus the total energy change; a closed process requires zero within numerical resolution.kJR_U=Q-W-Δ U-Δ KE-Δ PE
Independent first-law residual.
exergy_residualHeat exergy minus work exergy minus entropy-derived destruction minus stored-exergy change.kJR_E=E_q-E_w-E_d-Δ E
Exergy closure; not used to define destruction.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The system state approaching the dead state

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.

Boundary temperature below the environment temperature

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M17Flow Exergy and Exergetic Efficiency

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.

e_f=(h-h_0)-T_0(s-s_0)+V²/2000+g(z-z_0)/1000, 0=Σ_j(1-T_0/T_j)Q̇_j-Ẇ_cv+Σ_iṁ_ie_fi-Σ_eṁ_ee_fe-Ė_d, ε=product exergy/(supplied exergy)

What it rests on

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.

How the working relation follows

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.

e_f=(h-h_0)-T_0(s-s_0)+V²/2+gz
0=Σ_j(1-T_0/T_j)Q̇_j-Ẇ_cv+Σ_iṁ_ie_(f,i)-Σ_eṁ_ee_(f,e)-Ė_d
ε=exergy recovered/(exergy supplied), Ė_d=T_0σ̇ ≥ 0

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.——
T0Dead-state temperature: the temperature of the environment the system is eventually going to equilibrate with. Exergy is meaningless without it.K—
p0Dead-state pressure: the pressure of that same environment.Pa—
mdotMass flow rate.kg/s—
componentWhich component of the plant is being examined.——
p1Pressure: 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—
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p2Pressure: 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—
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
QdotRate of heat transfer.kWfinite signed; zero is adiabatic
First five devices: total external heat rate, positive in. For combustion, environmental heat is solved as an output instead.
TbTemperature of the boundary where the heat crosses. Not the temperature of the system, and using the system's temperature instead is the standard error.Kfinite positive when Qdot is nonzero
First five devices: lumped boundary temperature; combustion fixes heat exchange at its chemical reference temperature.
WdotRate of work transfer, that is, power.kW
Calculated signed shaft power output; turbine positive, compressor/pump negative, heat exchangers/mixing/throttle/combustor zero.
V1Hot or single-stream inlet speed in the fixed laboratory frame.m/sfinite; speeds nonnegative; g positive
Hot or single-stream inlet speed in the fixed laboratory frame.
V2Hot/single outlet; common mixed outlet for direct mixing.m/sfinite; speeds nonnegative; g positive
Hot/single outlet; common mixed outlet for direct mixing.
Vc1Cold inlet speed for a two-stream exchanger.m/sfinite; speeds nonnegative; g positive
Cold inlet speed for a two-stream exchanger.
Vc2Cold outlet speed for non-mixing exchange.m/sfinite; speeds nonnegative; g positive
Cold outlet speed for non-mixing exchange.
z1Hot/single-stream inlet elevation.mfinite; speeds nonnegative; g positive
Hot/single-stream inlet elevation.
z2Hot/single/common-mixed outlet elevation.mfinite; speeds nonnegative; g positive
Hot/single/common-mixed outlet elevation.
zc1Cold inlet elevation.mfinite; speeds nonnegative; g positive
Cold inlet elevation.
zc2Non-mixing cold outlet elevation.mfinite; speeds nonnegative; g positive
Non-mixing cold outlet elevation.
z0Environmental elevation datum; environment at rest.mfinite; speeds nonnegative; g positive
Environmental elevation datum; environment at rest.
gPositive local gravitational acceleration.m/s²finite; speeds nonnegative; g positive
Positive local gravitational acceleration.

Outputs

SymbolMeaningUnitRelation
efFlow 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/kge_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.
EfdotRate at which exergy is carried by a stream.kWĖ_f=ṁe_f
EqdotRate at which exergy accompanies a heat transfer.kWĖ_q=(1-T_0/T_j)Q̇_j
EddotRate of exergy destruction.kWĖ_d=T_0σ̇
epsilonExergetic 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.-—
WdotRate 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.

Choices made explicit

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

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

A boundary temperature approaching the dead-state temperature

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

A component whose exergy input approaches zero

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.

PH target in a NASA coefficient-seam gap or overlapping caloric branches

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.

Shaft work, useful product, nonzero boundary heat or supplied exergy small relative to underlying energy/entropy terms

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M21Vapour Plant Exergy Audit

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.

Ė_(d,k)=T_0σ̇_k, Σ_k Ė_(d,k)+Ė_loss=Ė_(f,in)-Ẇ_net

What it rests on

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.

How the working relation follows

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.

Ė_(d,k)=T_0σ̇_k
Σ_k Ė_(d,k)+Ė_loss+Ẇ_net=Ė_supplied
ε_plant=Ẇ_net/Ė_supplied

Assumptions

Inputs

SymbolMeaningUnitValid range
T0Dead-state temperature: the temperature of the environment the system is eventually going to equilibrate with. Exergy is meaningless without it.K—
p0Dead-state pressure: the pressure of that same environment.MPa—
cycle_refWhich cycle, defined on another screen, this audit is being run against.—basic Rankine, single reheat, double reheat, regenerative
Use the existing M18–M20 topology, including explicit heater pressures and heater arrangement.
TsourceThe 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.
mdotMass flow rate.kg/sfinite, >= 0
Boiler inlet mass flow; all extracted branch flows scale from this basis. Zero retains the per-kg design with zero rates.

Outputs

SymbolMeaningUnitRelation
EddotRate of exergy destruction.kW
kW at the stated boiler inlet flow; per-boiler-kg values are also displayed.
epsilonExergetic 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.-—
ElossExergy 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.
rankThe ordering of components by how much exergy each destroys, largest first.—
Components ordered by destruction, largest first.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

A component whose destruction is comparable to the rounding of its terms

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

Power cycles

M18Rankine Cycle

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.

η=((h_1-h_2)-(h_4-h_3))/(h_1-h_4), bwr=(h_4-h_3)/(h_1-h_2), Ẇ_net=ṁ[(h_1-h_2)-(h_4-h_3)], r_m=q_(out,t)/(q_(in,b)), η_binary=(w_t+r_m w_b)/(q_(in,t)), Q̇_in=Ẇ_net+Q̇_process+Q̇_out, h_mix=(1-y)h_3+yh_6

What it rests on

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.

How the working relation follows

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.

η=((h₁-h₂)-(h₄-h₃))/(h₁-h₄), bwr=(h₄-h₃)/(h₁-h₂)
h₂=h₁-ηₜ(h₁-h₂ₛ), h₄=h₃+(h₄ₛ-h₃)/ηₚ
Ẇₙₑₜ=ṁ[(h₁-h₂)-(h₄-h₃)]

Assumptions

Inputs

SymbolMeaningUnitValid range
fluidThe chosen working substance and its property model.-water, R134a, NH3, propane, R22
One 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.
p1Pressure: 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.
T1Temperature: 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.
p2Pressure: 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.
mdotMass flow rate.kg/smdot > 0, finite
Active in mass-flow rating mode. Net-power rating instead solves for mass flow.
eta_tIsentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced.-0 < eta_t <= 1
Isentropic 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_pIsentropic pump efficiency, defined the same way round as the compressor value.-0 < eta_p <= 1
Isentropic 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_netNet power: what the turbines produce less what the pumps and compressors take.kWpositive finite
Active only when net power is the selected rating.
scan_lowerThe first pressure sampled in a finite pressure scan.MPapositive finite, below upper bound
Lower sampled boiler or condenser pressure.
scan_upperThe final pressure sampled in a finite pressure scan.MPafinite, above lower bound
Upper sampled boiler or condenser pressure; other inputs stay fixed.
p_b_hiBottoming boiler pressure in binary mode.MPapositive finite
Bottoming boiler pressure in binary mode.
p_b_loBottoming condenser pressure.MPa0 < p_b_lo < p_b_hi
Bottoming condenser pressure.
T_b1Optional bottoming turbine inlet temperature; omit for saturated vapour.Kwithin selected EOS range
Optional bottoming turbine inlet temperature; omit for saturated vapour.
eta_tbBottoming turbine isentropic efficiency.-0 < eta_tb <= 1
Bottoming turbine isentropic efficiency.
eta_pbBottoming pump isentropic efficiency.-0 < eta_pb <= 1
Bottoming pump isentropic efficiency.
p_returnSplit cogeneration common pressure of exchanger condensate and process return.MPa0 < p_return <= p_exhaust < p_boiler
Split cogeneration common pressure of exchanger condensate and process return.
p_exhaustSteam exhaust pressure before the process/exchanger split.MPap_return <= p_exhaust < p_boiler
Steam exhaust pressure before the process/exchanger split.
y_processFraction of full steam flow sent to process heating; the rest feeds the exchanger.-0 <= y_process < 1
Fraction of full steam flow sent to process heating; the rest feeds the exchanger.
T_returnProcess return temperature; inactive when process fraction is zero.Kresolved liquid at return pressure
Process return temperature; inactive when process fraction is zero.

Outputs

SymbolMeaningUnitRelation
etaThermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work.-η=(wₜ-wₚ)/qᵢₙ
bwrBack 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_netNet power: what the turbines produce less what the pumps and compressors take.kW—
Qdot_inRate of heat supplied to the cycle.kW—
Qdot_outRate of heat rejected by the cycle.kW—
x2Quality: 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.
mdotMass flow rate.kg/s—
w_turbineWork delivered by the turbine per kilogram of working fluid.kJ/kg
turbine work
w_pumpWork supplied to the pump per kilogram of working fluid.kJ/kg
pump work
sigma_tEntropy produced in the adiabatic turbine per kilogram of working fluid.kJ/(kg K)
turbine specific entropy generation
sigma_pEntropy produced in the adiabatic pump per kilogram of working fluid.kJ/(kg K)
pump specific entropy generation
mass_ratioBottoming mass flow divided by steam mass flow.-
Bottoming mass flow divided by steam mass flow.
mdot_hotSteam mass flow.kg/s
Steam mass flow.
mdot_coldBottoming mass flow.kg/s
Bottoming mass flow.
Qdot_exchangeInternal 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_exchangeSum of both streams entropy-flow changes.kW/K
Sum of both streams entropy-flow changes.
approach_boundLower 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_approachMinimum computed temperature difference at sampled heat fractions.K
Minimum computed temperature difference at sampled heat fractions.
energy_closureExternal heat input minus external rejection and combined power.kW
External heat input minus external rejection and combined power.
Wdot_turbineTurbine work rate; separate rows distinguish steam and bottoming machines.kW
Turbine work rate; separate rows distinguish steam and bottoming machines.
Wdot_pumpPump 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_processIndustrial process heat delivered by the split steam flow.kW
Industrial process heat delivered by the split steam flow.
utilizationNet 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_mixAdiabatic mixer entropy-flow increase at the common return pressure.kW/K
Adiabatic mixer entropy-flow increase at the common return pressure.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Boiler pressure approaching the critical pressure

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.

Turbine exit quality below the erosion limit

arithmetically valid, mechanically unacceptable

How the app handles it: Water-only V-TURBINE-EROSION warning; other fluids report quality without borrowing the steam threshold.

Boiler and condenser pressures nearly equal

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.

Crossed or unresolved exchanger temperature approach

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 split or vanishing nonzero mixing entropy production

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.

Steam exchanger pressure drop

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M19Rankine with Reheat

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.

η=((h₁-h₂)+(h₃-h₄)-(h₆-h₅))/((h₁-h₆)+(h₃-h₂))

What it rests on

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.

How the working relation follows

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.

η=((h₁-h₂)+(h₃-h₄)-(h₆-h₅))/((h₁-h₆)+(h₃-h₂))
x_4|_reheat>x_2|_(no reheat) at the same boiler and condenser pressures

Assumptions

Inputs

SymbolMeaningUnitValid range
p1Pressure: 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—
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p2Pressure: 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.
T3Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Reheat outlet temperature.
p4Pressure: 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_targetA 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.
mdotMass flow rate.kg/s—
eta_tIsentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced.-0 < eta_t <= 1
Isentropic 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_pIsentropic pump efficiency, defined the same way round as the compressor value.-0 < eta_p <= 1
Isentropic 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_secondSecond reheater pressure, strictly between first reheater and condenser.MPa
Second reheater pressure, strictly between first reheater and condenser.
T_reheat_secondSecond reheater outlet temperature.K
Second reheater outlet temperature.

Outputs

SymbolMeaningUnitRelation
etaThermal 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.
bwrBack 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.
p2Pressure: 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.
x4Quality: 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_netNet 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Reheat pressure approaching either the boiler or the condenser pressure

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 efficiency maximum in reheat pressure

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M20Regenerative Rankine

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.

Σ ṁᵢₙ=Σ ṁₒᵤₜ Σ ṁᵢₙ hᵢₙ=Σ ṁₒᵤₜ hₒᵤₜ η=wₙₑₜ/qᵢₙ

What it rests on

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.

How the working relation follows

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.

y=(h₆-h₅)/(h₂-h₅)
Ẇₜ/ṁ₁=(h₁-h₂)+(1-y)(h₂-h₃)
0<y<1

Assumptions

Inputs

SymbolMeaningUnitValid range
p1Pressure: 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—
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p2Pressure: 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.
p3Pressure: 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.
nheaterHow many feedwater heaters are in the arrangement.-1 <= nheater <= 8
Integer number of explicit heaters.
mdotMass flow rate.kg/smdot >= 0
Boiler flow; zero reports zero rates while retaining per-unit-mass design results.
eta_tIsentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced.-0 < eta_t <= 1
Isentropic 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_pIsentropic pump efficiency, defined the same way round as the compressor value.-0 < eta_p <= 1
Isentropic 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.

Outputs

SymbolMeaningUnitRelation
yExtraction 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.
etaThermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work.-—
Wdot_netNet power: what the turbines produce less what the pumps and compressors take.kW—
Qdot_inRate of heat supplied to the cycle.kW—
xQuality: 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Extraction pressure approaching the boiler or condenser pressure

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

Several heaters at closely spaced extraction pressures

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M22Otto Cycle

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.

η=1-(u_4-u_1)/(u_3-u_2), η=1-1/(r^(k-1)) (constant k), mep=W_cycle/(V_1-V_2)

What it rests on

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.

How the working relation follows

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.

η=1-(u₄-u₁)/(u₃-u₂)
η=1-1/(r^(k-1)) (constant k)
mep=W_cycle/(V_1-V_2)

Assumptions

Inputs

SymbolMeaningUnitValid range
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p1Pressure: 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—
rCompression ratio: the volume before compression divided by the volume after it.-r > 1
Compression ratio.
T3Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Peak temperature.
QinTotal 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.
kSpecific 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.

Outputs

SymbolMeaningUnitRelation
etaThermal 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₂)
mepMean 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.Pamep=W_cycle/(V_1-V_2)
WcycleNet work produced or consumed over one complete circuit of a cycle.kJ/kg—
T3Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p3Pressure: 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—

Choices made explicit

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

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Compression ratio approaching 1

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

Very high compression ratio

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M23Diesel Cycle

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.

η=1-(u_4-u_1)/(h_3-h_2), η=1-(1/(r^(k-1)))[(r_c^k-1)/(k(r_c-1))]

What it rests on

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.

How the working relation follows

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.

η=1-(u₄-u₁)/(h₃-h₂)
η=1-(1/(r^(k-1)))[(r_c^k-1)/(k(r_c-1))] (constant k)
lim_(r_c → 1)(r_c^k-1)/(k(r_c-1))=1

Assumptions

Inputs

SymbolMeaningUnitValid range
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p1Pressure: 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—
rCompression ratio: the volume before compression divided by the volume after it.-r > 1
rcCutoff ratio: how far the piston has travelled by the time heat addition stops, as a volume ratio.-rc > 1
Cutoff ratio.
T3Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
kSpecific heat ratio: cp divided by cv. It governs how steeply temperature changes when a gas is compressed without heat transfer.-—

Outputs

SymbolMeaningUnitRelation
etaThermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work.-—
mepMean 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—
WcycleNet work produced or consumed over one complete circuit of a cycle.kJ/kg—
rcCutoff ratio: how far the piston has travelled by the time heat addition stops, as a volume ratio.-r_c=V_3/V_2

Choices made explicit

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

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Cutoff ratio approaching 1

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M24Dual Cycle

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.

η=1-(u₅-u₁)/((u₃-u₂)+(h₄-h₃))

What it rests on

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.

How the working relation follows

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.

η=1-(u₅-u₁)/((u₃-u₂)+(h₄-h₃))
r_p=p_3/p_2, r_c=V_4/V_3
η_Otto ≥ η_Dual ≥ η_Diesel at equal r

Assumptions

Inputs

SymbolMeaningUnitValid range
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p1Pressure: 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—
rCompression ratio: the volume before compression divided by the volume after it.-r > 1
rpPressure ratio across the compressor, or in the dual cycle the pressure rise during the constant-volume part of heat addition.-rp >= 1
Constant-volume pressure ratio.
rcCutoff ratio: how far the piston has travelled by the time heat addition stops, as a volume ratio.-rc >= 1
kSpecific heat ratio: cp divided by cv. It governs how steeply temperature changes when a gas is compressed without heat transfer.-—

Outputs

SymbolMeaningUnitRelation
etaThermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work.-—
mepMean 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—
WcycleNet work produced or consumed over one complete circuit of a cycle.kJ/kg—

Choices made explicit

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

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Both ratios approaching 1

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M25Brayton Cycle

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.

η=((h_3-h_4)-(h_2-h_1))/(h_3-h_2), bwr=(h_2-h_1)/(h_3-h_4), η=1-1/((p_2/p_1)^((k-1)/k)), p_3=p_2(1-δ_h), p_1=p_4(1-δ_c)

What it rests on

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.

How the working relation follows

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.

η=((h₃-h₄)-(h₂-h₁))/(h₃-h₂), bwr=(h₂-h₁)/(h₃-h₄)
η=1-1/((p₂/p₁)^((k-1)/k)) (ideal, constant k)
r_(p, max w)=(T_3/T_1)^(k/2(k-1)) (ideal, constant k)

Assumptions

Inputs

SymbolMeaningUnitValid range
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p1Pressure: 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—
rpPressure ratio across the compressor, or in the dual cycle the pressure rise during the constant-volume part of heat addition.-rp > 1
Compressor pressure ratio.
T3Temperature: 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_cIsentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken.-0 < eta_c <= 1
Isentropic 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_tIsentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced.-0 < eta_t <= 1
Isentropic 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.
mdotMass flow rate.kg/sfinite mdot >= 0 with resolvable rates in selected units
Air mass flow for plant rating. Zero flow gives zero rates; specific cycle properties and optimum ratios do not depend on flow.
hot_pressure_lossFraction of combustor inlet pressure lost before turbine admission.-0 <= hot_pressure_loss < 1
Fraction of combustor inlet pressure lost before turbine admission.
cold_pressure_lossFraction of heat-rejection inlet pressure lost before compressor admission.-0 <= cold_pressure_loss < 1
Fraction of heat-rejection inlet pressure lost before compressor admission.
caloric_modelNASA polynomial, evaluated constant cp, or air-only cold-air standard.-NASA variable heat capacity or cold-air standard
Cold-air standard fixes its air heat capacities; k is not a separate editable field.

Outputs

SymbolMeaningUnitRelation
etaThermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work.-—
bwrBack 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_netNet power: what the turbines produce less what the pumps and compressors take.kW
Mass flow times specific net work; tuple element 0, kW.
w_netNet work per unit mass of working fluid.kJ/kg—
rp_opt_workThe 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_etaThe 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_inRate of heat supplied to the cycle.kW
Heat supply rate; tuple element 1, mass flow times the corresponding specific transfer.
Qdot_outRate of heat rejected by the cycle.kW
Heat rejection rate; tuple element 2, mass flow times the corresponding specific transfer.
Wdot_compressorRate of shaft work supplied to the compressor.kW
Compressor shaft input; tuple element 3, mass flow times the corresponding specific transfer.
Wdot_turbineTurbine work rate; separate rows distinguish steam and bottoming machines.kW
Turbine shaft output; tuple element 4, mass flow times the corresponding specific transfer.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Pressure ratio approaching 1

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

Pressure ratio at which compressor exit temperature reaches turbine inlet temperature

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.

Back work ratio approaching 1

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M26Brayton with Regeneration, Reheat and Intercooling

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.

η_reg=(h_x-h_2)/(h_4-h_2), p_i=√(p_1p_2), η → 1-T_1/T_3 (stages → ∞)

What it rests on

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.

How the working relation follows

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.

η_reg=(h_x-h_2)/(h_4-h_2), 0≤η_reg≤1
pᵢ=√(p₁p₂), pⱼ₊₁/pⱼ=(pₒᵤₜ/pᵢₙ)^(1/N)
η → 1-T_1/T_3 (stages → ∞, η_reg → 1)

Assumptions

Inputs

SymbolMeaningUnitValid range
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p1Pressure: 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—
rpPressure ratio across the compressor, or in the dual cycle the pressure rise during the constant-volume part of heat addition.-—
T3Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
eta_regRegenerator effectiveness: how much of the available temperature rise the regenerator actually delivers.-0 <= eta_reg <= 1
nstage_cHow many compression stages, when compression and expansion are staged independently.-nstage_c >= 1
nstage_tHow many expansion stages.-nstage_t >= 1
eta_cIsentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken.-0 < eta_c <= 1
Isentropic 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_tIsentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced.-0 < eta_t <= 1
Isentropic 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.

Outputs

SymbolMeaningUnitRelation
etaThermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work.-—
bwrBack 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_netNet work per unit mass of working fluid.kJ/kg—
eta_regRegenerator effectiveness: how much of the available temperature rise the regenerator actually delivers.-η_reg=(h_x-h_2)/(h_4-h_2)
pi_optThe intermediate pressure that minimises total work, which for two ideal stages is the geometric mean of the end pressures.Pa—

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The pressure ratio at which compressor exit temperature equals turbine exit temperature

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M27Combined Gas and Steam Cycle

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.

η=(Ẇ_gas+Ẇ_vap)/Q̇_in, ṁ_v(h_7-h_6)=ṁ_g(h_4-h_5)

What it rests on

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.

How the working relation follows

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.

ṁ_g(h_(g,in)-h_(g,out))=ṁ_s(h_(s,out)-h_(s,in))
w_net=w_g+(ṁ_s/ṁ_g)w_s

Assumptions

Inputs

SymbolMeaningUnitValid range
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
rpPressure ratio across the compressor, or in the dual cycle the pressure rise during the constant-volume part of heat addition.-—
T3Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p6Pressure: 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.
T7Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Steam-side turbine inlet temperature.
p8Pressure: 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.
mdot1Mass flow rate.kg/s
Gas-side flow.
DeltaT_pinchPinch-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—

Outputs

SymbolMeaningUnitRelation
etaThermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work.-—
mdot6Mass 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_netNet 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_pinchPinch-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—

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The pinch-point difference approaching zero

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

An internal temperature crossing that satisfies both end balances

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M28Turbojet Cycle

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.

hₒ=h+V²/2, F=ṁ(Vₑₓᵢₜ-Vᵢₙₗₑₜ)

What it rests on

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.

How the working relation follows

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.

h₀=h+V²/2
Vₑ²/2=ηₙ(h₀,ₙ-hₑ,ₛ)
F=ṁ(Vₑ-V₀)

Assumptions

Inputs

SymbolMeaningUnitValid range
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Ambient.
p1Pressure: 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—
vel1Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy.m/s
Flight velocity.
rpPressure ratio across the compressor, or in the dual cycle the pressure rise during the constant-volume part of heat addition.-
Compressor pressure ratio.
T4Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Turbine inlet temperature.
mdotMass flow rate.kg/s—
eta_cIsentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken.-—
eta_tIsentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced.-—
eta_nIsentropic nozzle efficiency: actual kinetic energy at the exit divided by what an ideal expansion would have produced.-—

Outputs

SymbolMeaningUnitRelation
vel6Velocity of the stream, which matters only when it is fast enough for its kinetic energy to compete with its enthalpy.m/s—
F_thrustThrust produced by the engine.NF=ṁ(V₆-V₁)
F_specificThrust per unit mass flow, which is what decides how big the engine has to be.N s/kg—
h0Stagnation enthalpy: the enthalpy a stream would have if it were brought to rest without loss. Conserved through an adiabatic duct with no work.kJ/kghₒ=h+V²/2
Stagnation enthalpy at the nozzle inlet. The displayed nozzle exit temperature is the actual static temperature, including nozzle efficiency.

Choices made explicit

Afterburner?

no, yes, to a stated temperature

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

A nozzle pressure ratio above the critical value

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

Refrigeration & heat pumps

M29Vapour-Compression Refrigeration

Four-station vapour compression with explicit evaporator and heat-rejection pressure losses, local outlet superheat/subcooling, and a separate transcritical discharge-pressure search.

β=(h_1-h_4)/(h_2-h_1), h_4=h_3, p_1=(1-δ_e)p_4, p_3=(1-δ_c)p_2

What it rests on

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.

How the working relation 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.

β=(h₁-h₄)/(h₂-h₁), h₄=h₃
Q̇_L=ṁ(h_1-h_4), Q̇_H=Q̇_L+Ẇ
β_max=T_L/(T_H-T_L)

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.—
Four published Helmholtz fluids or approximate CO2 Peng–Robinson.
Te_refSaturation temperature used to set the evaporator inlet pressure.K
Saturation reference at evaporator inlet: sets p4, not p1.
Tr_refCondenser 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.
p2Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPap > 0
Explicit compressor discharge pressure in transcritical mode; outlet p3 must remain above critical.
eta_cIsentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken.-0 < eta_c <= 1
Adiabatic compressor isentropic efficiency.
superheatTemperature above local saturated vapour at the same pressure.Ksuperheat >= 0
Temperature increment above saturation at suction p1.
subcoolTemperature below local saturated liquid at the same pressure.Ksubcool >= 0
Temperature decrement below saturation at condenser outlet p3; exactly zero in transcritical mode.
evaporator_lossFraction of evaporator inlet pressure lost through that exchanger.-0 <= evaporator_loss < 1
Fraction (p4-p1)/p4, based on its own exchanger inlet.
rejection_lossFraction of heat-rejection inlet pressure lost through that exchanger.-0 <= rejection_loss < 1
Fraction (p2-p3)/p2, based on its own exchanger inlet.
Qdot_LRate of heat removed from the cold side, which is the useful output of a refrigerator.kWQdot_L >= 0
Refrigerating capacity; zero retains the specific-state design.

Outputs

SymbolMeaningUnitRelation
betaCoefficient 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_LRate of heat removed from the cold side, which is the useful output of a refrigerator.kWQ̇_L=ṁ(h_1-h_4)
WdotRate of work transfer, that is, power.kW—
Qdot_HRate of heat delivered to the warm side, which is the useful output of a heat pump.kW—
mdotMass flow rate.kg/s
Converts the cycle kmol/s flow to kg/s with the selected fluid molar mass.
tonsRefrigeration capacity expressed in the unit the industry actually uses, rather than in kilowatts.ton
Refrigeration tons, because the industry states capacity that way.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The two pressures approaching each other

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

Condenser temperature approaching the critical temperature of the refrigerant

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M30Cascade and Multistage Refrigeration

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.

β=Q̇_in/(Ẇ_(c,1)+Ẇ_(c,2)), ṁ_A(h_a-h_d)=ṁ_B(h_b-h_c)

What it rests on

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.

How the working relation follows

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.

Q̇_high=Q̇_cold+Ẇ_low
COP=Q̇_cold/(Ẇ_low+Ẇ_high)
x_flash=(h_in-h_f)/(h_g-h_f)

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.——
p1Pressure: 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—
p2Pressure: 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—
piIntermediate pressure between two stages.MPa
Intermediate pressure.
DeltaT_cascadeThe temperature overlap in the exchanger that couples two refrigeration loops.K
Temperature overlap in the cascade exchanger.
eta_cIsentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken.-—
Qdot_LRate of heat removed from the cold side, which is the useful output of a refrigerator.kW—

Outputs

SymbolMeaningUnitRelation
betaCoefficient 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.-—
WdotRate of work transfer, that is, power.kW—
pi_optThe 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.
mdotMass 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The cascade temperature overlap approaching zero

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.

Intermediate pressure approaching either bound

one stage vanishes

How the app handles it: collapse to the single-stage cycle explicitly

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M31Heat Pump

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.

γ=(h₂-h₃)/(h₂-h₁), Q̇ₒᵤₜ=Q̇ᵢₙ+Ẇₙₑₜ, γ=β+1

What it rests on

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.

How the working relation follows

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.

γ=(h₂-h₃)/(h₂-h₁), γ=β+1
Q̇_load=UA (T_indoor-T_outdoor)
ṅ=V_swept η_vol/v_suction

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.——
p1Pressure: 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—
p2Pressure: 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—
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Evaporator, tracking outdoor temperature.
eta_cIsentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken.-0 < eta_c <= 1
Isentropic 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_HRate of heat delivered to the warm side, which is the useful output of a heat pump.kW
Building heat demand.
UA_buildingHow readily the building loses heat: its conductance to outdoors.kW/K—
T_indoorThe indoor temperature the building is being held at.K—

Outputs

SymbolMeaningUnitRelation
gammaCoefficient 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_HRate of heat delivered to the warm side, which is the useful output of a heat pump.kW—
WdotRate of work transfer, that is, power.kW—
T_balanceThe 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Evaporator temperature below the freezing point of water

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

A load line that never intersects the capacity curve

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M32Gas Refrigeration

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.

β_air=(h_6-h_5)/((h_2-h_1)-(h_4-h_5)), β_CO2=(h_6-h_5)/(h_2-h_1) h_1-h_6=h_3-h_4, h_(5,CO2)=h_(4,CO2) q_(IHX,CO2)=a[h(p_L,T_3)-h_6]

What it rests on

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.

How the working relation follows

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.

COP_R=q_cold/(w_compressor-w_expander)
hᵥₐₗᵥₑ,ₒᵤₜ=hᵥₐₗᵥₑ,ᵢₙ
q_IHX=h_(suction,out)-h_(suction,in)

Assumptions

Inputs

SymbolMeaningUnitValid range
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p1Pressure: 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—
rpPressure ratio across the compressor, or in the dual cycle the pressure rise during the constant-volume part of heat addition.-—
T3Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Temperature after heat rejection.
eta_cIsentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken.-—
eta_tIsentropic 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_regRegenerator 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.
mdotMass flow rate.kg/s—
T_evap_CO2CO2 saturated-vapor evaporator exit temperature; property solver enforces its model range.Kco2_triple_temperature < T_evap_CO2 < Tcrit_CO2
CO2 saturated-vapor evaporator exit temperature; property solver enforces its model range.
T_cooler_CO2CO2 gas-cooler exit temperature.KT_cooler_CO2 > Tcrit_CO2
CO2 gas-cooler exit temperature.
p_high_CO2Explicit discharge pressure for the CO2 automotive arrangement.MPap_high_CO2 > pcrit_CO2
Explicit discharge pressure for the CO2 automotive arrangement.

Outputs

SymbolMeaningUnitRelation
betaCoefficient 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_LRate 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.
WdotRate 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.
T5Temperature: 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_CO2CO2 internal heat transferred per unit mass.kJ/kg
CO2 internal heat transferred per unit mass.
sigma_IHX_CO2CO2 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_CO2Minimum sampled CO2 counterflow temperature difference over65 equal-duty points.ΔK
Minimum sampled CO2 counterflow temperature difference over65 equal-duty points.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Pressure ratio approaching 1

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M33Liquefaction

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.

y=(h_r-h_H+α w_e)/(h_r-h_f), w_liquid=(w_c-α w_e)/y

What it rests on

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.

How the working relation follows

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.

w_liquid=(w_compressor-w_expander)/y
FOM=w_minimum/w_liquid
hᵥₐₗᵥₑ,ₒᵤₜ=hᵥₐₗᵥₑ,ᵢₙ

Assumptions

Inputs

SymbolMeaningUnitValid range
substanceWhich working fluid the screen is operating on.—CO2, N2, CH4
CO2 uses the cubic/NASA model; N2 and CH4 use their cryogenic Helmholtz models.
T1Temperature: 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.
p1Pressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPa0 < p_low < p_high
Common low pressure of feed, separator and return.
pPressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPa0 < p_low < p_high
Compressor discharge and high-pressure heat-exchanger pressure; not station 2 pressure.
eta_regRegenerator effectiveness: how much of the available temperature rise the regenerator actually delivers.-0 < eta_reg <= 1
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.
eta_cIsentropic compressor efficiency: the work an ideal compression would have taken divided by the work actually taken.-0 < eta_c <= 1
Adiabatic isentropic efficiency from the actual mixed suction state; not the legacy ideal isothermal work estimate.
alpha_splitFraction of compressed feed sent through the work-producing expander.-0 < alpha_split < 1 for Claude; zero for Linde
Fraction of feed through the expander.
T_splitTemperature where the high-pressure flow divides between the expander and cold recuperator.KT_sat_low < T_split < T_supply
High-pressure split-point temperature for Claude.
eta_tIsentropic turbine efficiency: actual work out divided by the work an ideal expansion to the same pressure would have produced.-0 < eta_t <= 1
Dry-expander isentropic efficiency.

Outputs

SymbolMeaningUnitRelation
y_liquidLiquid 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_specificWork 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_liquidReversible 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.
betaCoefficient 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_feedNet 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_compressorCompressor 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_expanderRecovered 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_aftercoolerAftercooler 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_feedWhole-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_closureCold-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_feedWhole-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_feedReturn-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_inversionThe 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_fractionEach 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_approachMinimum computed temperature difference at sampled heat fractions.K
Minimum of 65 recuperator heat-load samples; temperature difference, not absolute temperature or a continuous certificate.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Local single-phase inversion locus

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.

Alpha_split + y_liquid approaches one

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top

Moist air & conditioning

M38Psychrometric State

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.

ω=0.622 p_v/(p-p_v), φ=.(p_v/p_g)|_(T,p), H/m_a=h_a+ω h_v

What it rests on

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.

How the working relation follows

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.

p_w=φ p_sat(T_db)
ω=(M_w/M_a)p_w/(p-p_w)
T_dp≤ T_wb≤ T_db

Assumptions

Inputs

SymbolMeaningUnitValid range
pPressure: 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.
TdbDry-bulb temperature: what an ordinary thermometer in the air stream reads.K—
TwbWet-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—
TdpDew point: the temperature at which the air being cooled would start to condense.K—
omegaHumidity ratio: kilograms of water vapour carried per kilogram of dry air. The quantity that stays fixed when moist air is merely heated or cooled.-—
phiRelative humidity: how much water vapour the air holds as a fraction of the most it could hold at that temperature.-0 <= phi <= 1
h_daEnthalpy 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.
altitudeHeight above sea level, used to correct the barometric pressure, which shifts the whole chart.m-500 <= altitude <= 11000

Outputs

SymbolMeaningUnitRelation
omegaHumidity 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ᵥ)
phiRelative humidity: how much water vapour the air holds as a fraction of the most it could hold at that temperature.-—
TdpDew point: the temperature at which the air being cooled would start to condense.K—
TwbWet-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_daEnthalpy 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/kgh=h_a+ω h_g(T)
v_daVolume occupied per kilogram of dry air.m^3/kg—
mu_satDegree of saturation: the humidity ratio as a fraction of the saturated value at the same temperature and pressure.-—
p_partialPartial pressure: the pressure one component of a mixture would exert if it alone occupied the whole volume.MPa—

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The vapour partial pressure approaching the barometric pressure

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

Humidity ratio approaching zero

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 wet-bulb residual at low humidity

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M39Air-Conditioning Processes

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.

ṁ_w=ṁ_a(ω_2-ω_1), 0=Q̇_cv+ṁ_a[(h_a1-h_a2)+ω_1h_g1+(ω_2-ω_1)h_w-ω_2h_g2]

What it rests on

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.

How the working relation follows

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.

ṁ_daΔω=ṁ_(water,in)-ṁ_(water,out)
Q̇+Σᵢₙṁ h=Σₒᵤₜṁ h

Assumptions

Inputs

SymbolMeaningUnitValid range
processWhich of the available process paths the screen is applying.——
pPressure: 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—
mdot1Mass flow rate.kg/s
Dry air flow.
Tdb1Dry-bulb temperature: what an ordinary thermometer in the air stream reads.K—
phi1Relative humidity: how much water vapour the air holds as a fraction of the most it could hold at that temperature.-—
Tdb2Dry-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.
phi2Relative 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_waterRate 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_coilCoil dew-point temperature in dehumidifying branches.Kbranch-dependent
Coil dew-point temperature in dehumidifying branches.
T_supplySpecified final supply temperature for sensible heating/cooling or reheat.Kbranch-dependent
Specified final supply temperature for sensible heating/cooling or reheat.
bypassOptional coil bypass factor; zero when omitted.-branch-dependent
Optional coil bypass factor; zero when omitted.
T_waterInjected steam or spray-water temperature; interpretation follows process.Kbranch-dependent
Injected steam or spray-water temperature; interpretation follows process.
epsilon_evapEvaporative-cooling effectiveness.-branch-dependent
Evaporative-cooling effectiveness.
mdot2Mass flow rate.kg/sfinite positive
Second inlet dry-air mass flow for adiabatic mixing.

Outputs

SymbolMeaningUnitRelation
QdotRate of heat transfer.kW—
mdot_waterRate at which liquid water is added to or removed from a moist air stream.kg/sṁ_w=ṁ_a(ω_2-ω_1)
omega2Humidity ratio: kilograms of water vapour carried per kilogram of dry air. The quantity that stays fixed when moist air is merely heated or cooled.-—
Tdb2Dry-bulb temperature: what an ordinary thermometer in the air stream reads.K—
SHRSensible 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

A process ending on the saturation line

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

A cooling process whose exit dew point is above the coil temperature

the requested state is unreachable by that coil

How the app handles it: refuse with an explanation of which constraint failed

How it is solved

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.

Limitations

Reading the 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.

Back to top

M40Cooling Tower

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.

ṁ_makeup=ṁ_a(ω_2-ω_1), range=T_(w,in)-T_(w,out), approach=T_(w,out)-T_(wb,in)

What it rests on

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.

How the working relation follows

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.

ṁ_evap=ṁ_da(ω_2-ω_1)
range=T_(w,in)-T_(w,out), approach=T_(w,out)-T_(wb,in)

Assumptions

Inputs

SymbolMeaningUnitValid range
pPressure: 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—
mdot1Mass flow rate.kg/s
Water flow.
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Warm water in.
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Cooled water out.
Tdb3Dry-bulb temperature: what an ordinary thermometer in the air stream reads.K
Air in.
phi3Relative humidity: how much water vapour the air holds as a fraction of the most it could hold at that temperature.-—
Tdb4Dry-bulb temperature: what an ordinary thermometer in the air stream reads.K
Air out.
phi4Relative humidity: how much water vapour the air holds as a fraction of the most it could hold at that temperature.-—

Outputs

SymbolMeaningUnitRelation
mdot_airDry air mass flow rate.kg/s—
mdot_makeupRate at which water must be replaced to make up for what evaporated.kg/s—
rangeCooling tower range: how far the water temperature falls across the tower.ΔK—
approachCooling 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—
sigmadotRate of entropy production.kW/K—

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The approach tending to zero

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

Entering air already saturated

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

Reaction & equilibrium

M41Combustion Stoichiometry

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.

C_aH_bO_cN_dS_e+α (O_2+3.76 N_2) ⟶ products, AF=AF̄ M_air/M_fuel, φ=(F/A)_actual/(F/A)_stoich

What it rests on

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.

How the working relation follows

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.

a_O_2=C+H/4+S-O/2
φ=a_stoich/a_actual, p_w=y_w p

Assumptions

Inputs

SymbolMeaningUnitValid range
fuelWhich fuel is being burned.——
a_CNumber of carbon atoms in one molecule of the fuel.-—
b_HNumber of hydrogen atoms in one molecule of the fuel.-—
c_ONumber of oxygen atoms already in one molecule of the fuel.-—
d_NNumber of nitrogen atoms in one molecule of the fuel.-—
e_SNumber of sulphur atoms in one molecule of the fuel.-—
pct_theo_airHow much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough.-—
phi_eqEquivalence ratio: how much fuel is present relative to exactly enough. One means exactly enough, above one means rich.-0 < phi_eq <= 1
AFAir-fuel ratio on a mass basis: kilograms of air supplied per kilogram of fuel.-—
omegaHumidity 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.
pPressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPapositive product pressure
Pressure for the product-water dew-point calculation; does not change stoichiometric coefficients.

Outputs

SymbolMeaningUnitRelation
alpha_stoichMoles of oxygen needed to burn one mole of the fuel completely with none left over.-—
AFAir-fuel ratio on a mass basis: kilograms of air supplied per kilogram of fuel.-AF=AF̄ M_air/M_fuel
AF_molarThe same ratio counted in moles instead of kilograms.-—
phi_eqEquivalence ratio: how much fuel is present relative to exactly enough. One means exactly enough, above one means rich.-—
pct_theo_airHow much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough.-—
productsThe species and amounts the reaction produces.——
TdpDew 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Equivalence ratio above 1

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

A fuel with no hydrogen

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M42Products Analysis

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.

given {y_CO_2,y_CO,y_O_2,y_N_2}_dry ⟹ fuel composition and AF

What it rests on

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.

How the working relation follows

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.

n_H_2O=2(n_(O_2,in)-n_CO_2-n_CO/2-n_(O_2,out))
C=n_CO_2+n_CO, H=2n_H_2O

Assumptions

Inputs

SymbolMeaningUnitValid range
y_CO2Mole fraction of carbon dioxide in the dry product gas.-0 <= y_CO2 <= 1
Mole-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_COMole fraction of carbon monoxide in the dry product gas, which is what incomplete combustion leaves behind.-0 <= y_CO <= 1
Mole-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_O2Mole fraction of oxygen in the dry product gas, which is what excess air leaves behind.-0 <= y_O2 <= 1
Mole-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_N2Mole fraction of nitrogen in the dry product gas.-0 <= y_N2 <= 1
Mole-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.
fuelWhich fuel is being burned.——
AFAir-fuel ratio on a mass basis: kilograms of air supplied per kilogram of fuel.-AF > 0
Known mode: molar dry-air amount per mole of fuel, not a mass ratio.
a_CNumber of carbon atoms in one molecule of the fuel.-a_C > 0
Known-fuel carbon count.
b_HNumber of hydrogen atoms in one molecule of the fuel.-b_H >= 0
Known-fuel hydrogen count.

Outputs

SymbolMeaningUnitRelation
AFAir-fuel ratio on a mass basis: kilograms of air supplied per kilogram of fuel.-—
phi_eqEquivalence ratio: how much fuel is present relative to exactly enough. One means exactly enough, above one means rich.-—
a_CNumber of carbon atoms in one molecule of the fuel.-—
b_HNumber of hydrogen atoms in one molecule of the fuel.-—
pct_theo_airHow much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough.-—

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

An analysis that determines the unknowns only weakly

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.

An analysis reporting no carbon oxides

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M43Reacting Energy Balance

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.

h̄(T,p)=h̄°_f+[h̄(T,p)-h̄(T_ref,p_ref)], Q̇_cv/ṅ_F-Ẇ_cv/ṅ_F=Σ_P n_e(h̄°_f+Δh̄)_e-Σ_R n_i(h̄°_f+Δh̄)_i

What it rests on

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.

How the working relation follows

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.

Δ H=Σₚ nᵢ hᵢ-Σᵣ nᵢ hᵢ, Q=Δ H+W
Δ U=Δ H-Δ(pV)
HHV-LHV=n_H_2Oh_(fg,ref)/M_fuel

Assumptions

Inputs

SymbolMeaningUnitValid range
fuelWhich fuel is being burned.——
pct_theo_airHow much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough.-—
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Reactant temperature.
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Product temperature.
pPressure: 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—
WWork 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_liquidTemperature of the specified separate liquid-water phase.K273.15 <= T_liquid <= 623.15
Liquid product-water model envelope. Also requires p >= psat(T), p <= 100 MPa. Gas properties remain ideal-gas NASA data.

Outputs

SymbolMeaningUnitRelation
Qdot_per_fuelHeat transferred per kilomole of fuel burned.kJ/kmol—
hRPEnthalpy of combustion: the difference between product and reactant enthalpies at the same temperature and pressure.kJ/kmolh̄_RP=Σ_P n_eh̄_e-Σ_R n_ih̄_i
Standard gas-phase reference, including water as vapor, independent of the selected product phase.
HHVHigher heating value: energy released per kilogram of fuel with the product water counted as liquid.kJ/kg
Water in the products taken as liquid.
LHVLower 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.
hf0Enthalpy 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Product temperature crossing the product dew point

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

Reactants and products at nearly the same temperature

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M44Adiabatic Flame Temperature

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.

Σ_P n_e(h̄°_f+Δh̄)_e=Σ_R n_i(h̄°_f+Δh̄)_i

What it rests on

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.

How the working relation follows

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.

Σ_p n_i h_i(T_ad)=Σ_r n_i h_i(T_r)

Assumptions

Inputs

SymbolMeaningUnitValid range
fuelWhich fuel is being burned.——
pct_theo_airHow 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.
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K
Reactant temperature, including any preheat.
pPressure: 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—
omegaHumidity 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.

Outputs

SymbolMeaningUnitRelation
T_adAdiabatic flame temperature: how hot the products get when none of the released energy is allowed to leave.K—
productsThe species and amounts the reaction produces.——
residualHow 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Very lean mixtures

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.

A flame temperature above the fitted polynomial range

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

Rich mixtures

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M45Constant-Volume Combustion

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.

Σ_P n(h̄°_f+Δh̄-R̄T_P)-Σ_R n(h̄°_f+Δh̄-R̄T_R)=Q-W

What it rests on

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.

How the working relation follows

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.

Q=U₂-U₁, V₂=V₁
p₂/p₁=(n₂/n₁)T₂/T₁

Assumptions

Inputs

SymbolMeaningUnitValid range
fuelWhich fuel is being burned.——
pct_theo_airHow much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough.-—
VVolume: the space the whole system occupies, as opposed to the space one kilogram of it occupies.m^3—
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p1Pressure: 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—
QHeat 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.
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.Kwithin selected product property range
Final temperature when the specified-final-state mode is selected; otherwise recovered from full-charge heat.

Outputs

SymbolMeaningUnitRelation
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
p2Pressure: 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—
QvHeat released by a reaction carried out at constant volume rather than constant pressure.kJ/kmol—
uRPThe same quantity on an internal energy basis, which is what a constant-volume reaction needs.kJ/kmol—

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Peak temperatures where dissociation is significant

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M46Reacting Entropy and Chemical Exergy

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.

ē^ch_i=ḡ_i(T_0,p_0)-Σ_E a_iEλ_E, B=H-T_0S-Σ_E N_Eλ_E, E_d=T_0σ=B_in-B_out

What it rests on

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.

How the working relation follows

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.

E_d=T_0 S_gen
B_in+B_Q-W-B_out-E_d=0
b_f=(h-h_0)-T_0(s-s_0)+b_chemical+KE+PE

Assumptions

Inputs

SymbolMeaningUnitValid range
fuelWhich fuel is being burned.——
pct_theo_airHow much air was supplied as a percentage of exactly enough. A hundred per cent means exactly enough.-—
T0Dead-state temperature: the temperature of the environment the system is eventually going to equilibrate with. Exergy is meaningless without it.K200 <= T0 <= 6000 in custom gas mode; standard models fix 298.15 K
Custom liquid-water route additionally requires an IF97 R1 liquid state and non-condensing reference vapor.
p0Dead-state pressure: the pressure of that same environment.MPap0 > 0 for custom gas mode
Standard Model I fixes 0.103250175 MPa; Model II fixes 0.101325 MPa. Fixed reference values are displayed, not silently overridden.
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
T2Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
environment_modelWhich 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.
pPressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPap > 0
Common fuel, air and product process pressure; independent of reference pressure.
ndotMolar flow: amount of substance passing a section per unit time.kmol/sndot > 0
Molar fuel flow; multiplies per-kmol entropy generation to obtain kW/K.

Outputs

SymbolMeaningUnitRelation
sigmadotRate of entropy production.kW/K—
sbar0Absolute 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.
echChemical 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_totalTotal exergy of a substance, thermomechanical plus chemical.kJ/kge=(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_totalTotal flow exergy, thermomechanical plus chemical.kJ/kg
Pure incoming fuel at actual inlet T,p, per fuel mass, with zero kinetic and potential terms.
epsilonExergetic 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.
EdExergy destroyed: work potential that was permanently lost, equal to the dead-state temperature times the entropy produced.kJ/kmol—

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

An environmental mole fraction that is very small

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 difference between a one-atmosphere and a one-bar reference pressure

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M47Fuel Cell

Liquid-water hydrogen or gas-product net-reaction fuel-cell bounds, actual electrical output from voltage/current, and a complete directed exergy-resource audit.

E=-Δḡ/(nF), ṅ_F=I/(1000nF), P=VI/1000, Q̄=Δh̄+nFV

What it rests on

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.

How the working relation follows

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.

Wᵣₑᵥ=-Δ G, Eᵣₑᵥ=-Δ G/(nₑ F)
ṅ_f=I/(n_e F), Ẇ=IV

Assumptions

Inputs

SymbolMeaningUnitValid range
fuelWhich 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.
TTemperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K200 <= T <= 6000 for gas products; liquid-water model requires IF97 R1
Mathematical property range, not an electrode or membrane operating specification.
pPressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPap > 0
Common pure fuel / pure oxygen / mixed-product stream pressure; liquid product feasibility checked with T.
n_electronsHow 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_operatingThe voltage the cell is actually running at, which is always below the reversible value.V0 <= V_operating <= Ecell
Four ULPs only accommodate representational roundoff at the reversible boundary.
currentCurrent drawn from the cell.Acurrent >= 0
Total cell current. Unity fuel utilization and Faradaic efficiency; zero current returns zero power and consumed flow.

Outputs

SymbolMeaningUnitRelation
EcellReversible cell voltage: the most a fuel cell can produce before any losses, set by the Gibbs function change and the charge moved.VE=-Δḡ/(nF)
WmaxThe most work obtainable from a reaction, which is set by the Gibbs function change rather than by the energy released.kJ/kmolWₘₐₓ=-Δḡ
etaThermal efficiency: net work out divided by heat in. The fraction of what was paid for that came back as work.-—
epsilonExergetic 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.
QdotRate of heat transfer.kW
Positive heat rejection; negative when heat is absorbed. Current converts per-fuel heat to a rate.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

A reaction whose Gibbs change approaches zero

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M48Chemical Equilibrium

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.

ln K(T)=-Δ G°(T)/(R̄T), K=Π_i(y_ip/p_ref)^ν_i, d ln K/(dT)=Δ H°/(R̄T²), K_j=(n_(j+)n_e/(n_j n_gas))p/p_ref, n_e=Σ_j n_(j+), L n=L n_0, μ_i/(R̄T)=g_i/(R̄T)+ ln (y_i p/p_ref), a_pure=1

What it rests on

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.

How the working relation follows

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.

n=n₀+νξ, Lν=0, Ln=Ln₀
μᵢ/(RT)=gᵢ°/(RT)+ ln (yᵢp/p°)
ln Kⱼ=-Δᵣ Gⱼ°/(RT), Σᵢ zᵢ nᵢ=0

Assumptions

Inputs

SymbolMeaningUnitValid range
reactionWhich 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.
TTemperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.KT>0 in given-lnK mode; thermochemical mode uses the valid ranges of participating records, including the pure-water IF97 pressure restriction.
pPressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPap > 0; declared pure liquid water with nonzero inventory or participation also requires IF97 region 1 at T,p
User-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_initialHow much of each species is present before the reaction proceeds.kmolnon-negative finite amounts with nonzero total
CO2, 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.
inertSpecies 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_givenUser-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 reaction
Given at the entered temperature and 1 atm standard state; does not specify reaction enthalpy or temperature dependence.
nu_matrixExact signed reaction coefficients; zero entries exclude a species from a reaction.—explicit user-defined system
Exact signed reaction coefficients; zero entries exclude a species from a reaction.
species_atomsPositive integer count of each declared element in one species.—explicit user-defined system
Positive integer count of each declared element in one species.
species_chargeSigned integer electric charge of one species.—explicit user-defined system
Signed integer electric charge of one species.
species_phaseIdeal gas or a separate pure condensed phase with unit activity.—explicit user-defined system
Ideal gas or a separate pure condensed phase with unit activity.

Outputs

SymbolMeaningUnitRelation
lnKThe 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_eqEquilibrium 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_extExtent 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.
compositionThe make-up of the mixture, as fractions of its components.——
dH_reactionEnergy 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_eAmount 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_ionFraction of a conserved atom inventory present as singly charged ions.—
Ionized fraction for each conserved atom inventory.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Reactions that go essentially to completion or essentially not at all

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

Simultaneous reactions sharing a species

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

Tiny charged or neutral trace, or initial inventory already at equilibrium

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M49Equilibrium Flame Temperature

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.

Σ_P n_e(h̄°_f+Δh̄)_e=Σ_R n_i(h̄°_f+Δh̄)_i with n_e=n_e(T_P, ln K(T_P))

What it rests on

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.

How the working relation follows

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.

Σᵢ nᵢ,ₚ(T)hᵢ(T)=Σᵢ nᵢ,ᵣhᵢ(Tᵣ)
Δᵣ Gⱼ°(T)+RT ln Qⱼ(T)=0

Assumptions

Inputs

SymbolMeaningUnitValid range
fuelWhich fuel is being burned.——
pct_theo_airHow 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 library
Native air input. Equivalence ratio is its reciprocal convention, 100 divided by this percentage; it is not a separate editable input.
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.K—
pPressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPap > 0
species_setWhich 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.
omegaHumidity 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 >= 0
Water mass per dry-air mass carried with the reactants; used by selected and comparison flame calculations.

Outputs

SymbolMeaningUnitRelation
T_adAdiabatic flame temperature: how hot the products get when none of the released energy is allowed to leave.K—
compositionThe make-up of the mixture, as fractions of its components.——
T_gapHow 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.
residualHow far from zero the energy balance still is at the returned root. Reported rather than assumed, so convergence is visible.kJ/kmol—

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The coupling between the two solvers

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.

Conditions where no species dissociates appreciably

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M50Phase Equilibrium

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.

μᵢ^α=μᵢ^β ∀ i, F=2+N-P, pᵢ=yᵢ^liq pₛₐₜ,ᵢ(T) π=-RT/v̄ ln xₛₒₗᵥₑₙₜ

What it rests on

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.

How the working relation follows

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.

yᵢ p=xᵢ pᵢ^sat(T)
Σᵢ xᵢ pᵢ^sat(T)=p, Σᵢyᵢ p/(pᵢ^sat(T))=1
Π=-RT/v̄_s ln x_s, Π_dilute≃ cRT

Assumptions

Inputs

SymbolMeaningUnitValid range
componentsWhich species are present.——
TTemperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.KT > 0 within the selected property model
Binary saturation uses mechanical PR roots, independent of caloric polynomial bounds. Pure water uses IF97; four refrigerants use Helmholtz; CO2 uses PR.
pPressure: the normal force a fluid exerts per unit of the area it pushes on. Always absolute inside the app; gauge is a display mode.MPap > 0
Pressure is input for binary bubble/dew modes; pure coexistence computes pressure from temperature.
compositionThe make-up of the mixture, as fractions of its components.—0 <= composition <= 1
First-component liquid mole fraction, or vapor fraction in dew mode. Pure endpoints ignore the absent component.
nphaseHow many phases coexist.-nphase = 2
Two coexisting bulk phases in pure and binary modes; the membrane constraint is not counted by the free bulk phase rule.
solvent_fractionMole fraction of solvent in the ideal solution.—0 < solvent_fraction <= 1
Solvent mole fraction in the ideal solution.
solvent_molar_volumeConstant partial molar volume of solvent used to convert a chemical-potential difference to osmotic pressure.m³/kmolsolvent_molar_volume > 0
Constant solvent partial molar volume in the membrane model.

Outputs

SymbolMeaningUnitRelation
F_dofDegrees 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.
compositionThe make-up of the mixture, as fractions of its components.——
T_bubbleThe temperature at which the first bubble of vapour appears in a liquid mixture being heated.K—
T_dewThe temperature at which the first drop of liquid appears in a vapour mixture being cooled.K—
pi_osmoticOsmotic pressure: the pressure that has to be applied to a solution to stop pure solvent flowing into it through a membrane.MPa—

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Equal pure-component volatility in the ideal model

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

A mole fraction approaching zero or one

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

Thermodynamic design

M51Entropy Generation Minimisation

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.

Ṡ_gen=Ṡ_thermal+Ṡ_friction, N_s=Ṡ_gen/C_ref, min_(x ∈ [x_min,x_max])Ṡ_gen

What it rests on

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.

How the working relation follows

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.

Ṡ_gen=Ṡ_thermal+Ṡ_friction
ε=NTU/(1+NTU)
dṠ_gen/(da)=0 for an interior optimum

Assumptions

Inputs

SymbolMeaningUnitValid range
geometryArrangement: heated duct, balanced counterflow exchanger, or fixed-length pin fin in crossflow.—one of three declared arrangements
Arrangement: heated duct, balanced counterflow exchanger, or fixed-length pin fin in crossflow.
temperatureFluid temperature for duct and pin fin.Kfinite positive; active only in named arrangement
Fluid temperature for duct and pin fin.
densityConstant fluid density for duct and pin fin.kg/m^3finite positive; active only in named arrangement
Constant fluid density for duct and pin fin.
viscosityConstant dynamic viscosity for duct and pin fin.Pa sfinite positive; active only in named arrangement
Constant dynamic viscosity for duct and pin fin.
conductivityConstant fluid thermal conductivity for duct and pin fin.W/(m K)finite positive; active only in named arrangement
Constant fluid thermal conductivity for duct and pin fin.
mass_flowDuct fluid mass flow.kg/sfinite positive; active only in named arrangement
Duct fluid mass flow.
heat_per_lengthHeat transferred to the duct fluid per unit length.W/mfinite positive; active only in named arrangement
Heat transferred to the duct fluid per unit length.
duct_lengthDuct segment length over which heat and pressure losses are evaluated.mfinite positive; active only in named arrangement
Duct segment length over which heat and pressure losses are evaluated.
cpSpecific 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 arrangement
Duct mass-specific heat; the display adapter alone converts to J/(kg K) for the composition calculation.
prandtlDuct heat-transfer correlation Prandtl number. Pin-fin Prandtl number is fixed at 0.71, not this input.-0.7 < prandtl < 160
Duct heat-transfer correlation Prandtl number. Pin-fin Prandtl number is fixed at 0.71, not this input.
hotBalanced exchanger hot-side inlet temperature.Khot > cold > 0
Balanced exchanger hot-side inlet temperature.
coldBalanced exchanger cold-side inlet temperature.Khot > cold > 0
Balanced exchanger cold-side inlet temperature.
capacityEqual heat-capacity rate of either single side of the balanced exchanger; not the sum.kW/Kfinite positive
Equal heat-capacity rate of either single side of the balanced exchanger; not the sum.
hot_dropHot fractional inlet-pressure loss per unit NTU.-non-negative; at least one loss slope positive
Hot fractional inlet-pressure loss per unit NTU.
cold_dropCold fractional inlet-pressure loss per unit NTU.-non-negative; at least one loss slope positive
Cold fractional inlet-pressure loss per unit NTU.
hot_ratioHot-side gas constant divided by specific heat.-0 < hot_ratio < 1
Hot-side gas constant divided by specific heat.
cold_ratioCold-side gas constant divided by specific heat.-0 < cold_ratio < 1
Cold-side gas constant divided by specific heat.
minimum_effectivenessMinimum fraction of the balanced exchanger maximum heat duty required by the design task.-0 < minimum_effectiveness < 1
Useful-duty lower bound on balanced-exchanger effectiveness.
maximum_dropUpper bound on either side fractional pressure drop.-0 < maximum_drop < 1
Upper bound on either side fractional pressure drop.
heatFixed pin-fin heat duty.Wfinite positive; pin-fin arrangement
Fixed pin-fin heat duty.
speedFluid speed across the pin fin.m/sfinite positive; pin-fin arrangement
Fluid speed across the pin fin.
fin_lengthFixed pin-fin length; only diameter is optimized.mfinite positive; pin-fin arrangement
Fixed pin-fin length; only diameter is optimized.
fin_conductivitySolid pin-fin thermal conductivity.W/(m K)finite positive; pin-fin arrangement
Solid pin-fin thermal conductivity.
reference_capacityFixed pin-fin reference capacity used solely to normalize the entropy-generation number.kW/Kfinite positive; pin-fin arrangement
Fixed pin-fin reference capacity used solely to normalize the entropy-generation number.

Outputs

SymbolMeaningUnitRelation
NsEntropy 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_dTThe share of entropy production caused by heat crossing a finite temperature difference.kW/K
Thermal part at the selected constrained design.
sigmadot_dpThe share caused by fluid friction.kW/K
Fluid-friction part at the selected constrained design.
D_optDuct 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_optBalanced-exchanger NTU at the constrained minimum; only this arrangement.-
Balanced-exchanger NTU at the constrained minimum; only this arrangement.
design_boundaryWhether 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.
ReReynolds 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.
NuNusselt number.-
duct arrangement: metric named Nusselt number. Derived at the selected design, not a direct input.
f_fanningFanning friction factor.-
duct arrangement: metric named Fanning friction factor. Derived at the selected design, not a direct input.
wall_bulk_differenceWall minus bulk temperature.ΔK
duct arrangement: metric named Wall minus bulk temperature. Derived at the selected design, not a direct input.
segment_pressure_dropSegment pressure drop.MPa
duct arrangement: metric named Segment pressure drop. Derived at the selected design, not a direct input.
bulk_rise_fractionBulk temperature rise fraction.-
duct arrangement: metric named Bulk temperature rise fraction. Derived at the selected design, not a direct input.
property_prandtlProperty-derived Prandtl number.-
duct arrangement: metric named Property-derived Prandtl number. Derived at the selected design, not a direct input.
epsilonExergetic 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.
QdotRate of heat transfer.kW
balanced arrangement: metric named Heat transferred. Derived at the selected design, not a direct input.
hot_outlet_temperatureHot outlet temperature.K
balanced arrangement: metric named Hot outlet temperature. Derived at the selected design, not a direct input.
cold_outlet_temperatureCold outlet temperature.K
balanced arrangement: metric named Cold outlet temperature. Derived at the selected design, not a direct input.
hot_drop_fractionHot pressure drop / inlet pressure.-
balanced arrangement: metric named Hot pressure drop / inlet pressure. Derived at the selected design, not a direct input.
cold_drop_fractionCold pressure drop / inlet pressure.-
balanced arrangement: metric named Cold pressure drop / inlet pressure. Derived at the selected design, not a direct input.
NTU_asymptoticAsymptotic unconstrained NTU.-
balanced arrangement: metric named Asymptotic unconstrained NTU. Derived at the selected design, not a direct input.
thermal_asymptoticAsymptotic 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_asymptoticAsymptotic 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.
ReReynolds 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.
NuNusselt number.-
pin fin arrangement: metric named Nusselt number. Derived at the selected design, not a direct input.
C_dragDrag coefficient.-
pin fin arrangement: metric named Drag coefficient. Derived at the selected design, not a direct input.
fin_base_temperatureFin base temperature.K
pin fin arrangement: metric named Fin base temperature. Derived at the selected design, not a direct input.
base_ambient_differenceBase minus ambient temperature.ΔK
pin fin arrangement: metric named Base minus ambient temperature. Derived at the selected design, not a direct input.
Bi_transverseTransverse Biot number.-
pin fin arrangement: metric named Transverse Biot number. Derived at the selected design, not a direct input.
aspectThe geometric design variable being optimised over.-
pin fin arrangement: metric named Length / diameter. Derived at the selected design, not a direct input.
drag_forceDrag force.N
pin fin arrangement: metric named Drag force. Derived at the selected design, not a direct input.
fin_conductanceFin thermal conductance.kW/K
pin fin arrangement: metric named Fin thermal conductance. Derived at the selected design, not a direct input.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Correlation and useful-duty constraint endpoints

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M52Endoreversible Power

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.

K_s=K_hK_c/(K_h+K_c), W_max=K_s(√(T_H)-√(T_C))², η=1-√(T_C/T_H) u+N(1-e^(-u/2))= ln (T_H/T_C), N=UA/(ṁ c_p) T_out=T_C e^u, μ=e^(-u/2), E_in=W+E_out+T_C S_gen

What it rests on

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.

How the working relation follows

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.

η_MP=1-√(T_C/T_H)
Q̇_H=K_H(T_H-T_h), Q̇_H/T_h=Q̇_C/T_c
Ẇ=Q̇_H-Q̇_C

Assumptions

Inputs

SymbolMeaningUnitValid range
THTemperature of the hot reservoir.K(0, infinity)
Hot reservoir or hot-stream inlet, greater than TC.
TCTemperature of the cold reservoir.K(0, infinity)
Cold reservoir, also the exergy reference temperature.
UA_hotConductance between the hot reservoir and the engine.kW/K(0, infinity)
Hot-side conductance; derived from total and fraction in fixed-reservoir mode.
UA_coldConductance 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.
mdotMass flow rate.kg/s(0, infinity)
Hot-stream mass flow.
cpSpecific 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_totalThe fixed sum of hot and cold exchanger conductances.kW/K(0, infinity)
Fixed-reservoir total conductance budget.
hot_conductance_fractionThe 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.

Outputs

SymbolMeaningUnitRelation
eta_maxpowerThe 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_maxThe 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_maxThe 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_internalThe 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.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

The reservoir temperatures approaching each other

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M53Thermal Radiation Exergy

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.

d=(T-T_0)/T, ψ=d²(2-4d/3+d²/3) G=C I, q=G-σ T_c⁴, w=q(1-T_0/T_c) G≤σ T⁴, W=A w

What it rests on

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.

How the working relation follows

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.

ψ=1-(4/3)T₀/Tₛ+(1/3)(T₀/Tₛ)⁴
Ė_ref=Aσ T_s⁴
Ẇ=Q̇ₙₑₜ(1-T₀/Tᵣ)

Assumptions

Inputs

SymbolMeaningUnitValid range
TTemperature: 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.
T0Dead-state temperature: the temperature of the environment the system is eventually going to equilibrate with. Exergy is meaningless without it.K0 < T0 <= T
Environment temperature bounded by the entered source; zero is an excluded endpoint.
ACross-sectional area the stream passes through.m^2(0, infinity)
Emitting area in reference models, receiver area in collector model.
fluxRadiant energy arriving per unit area per unit time.kW/m^2(0, infinity)
Incident irradiance before concentration; collector only.
concentrationHow 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.

Outputs

SymbolMeaningUnitRelation
psi_radiationThe 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_radiationRate 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_maxThe largest thermal efficiency any device can have between the two given reservoir temperatures.-
Shown beside it, since the two are routinely confused.
T_optThe collector temperature that maximises work output, balancing conversion quality against loss.K—

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Source temperature approaching ambient

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

How it is solved

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.

Limitations

Reading the result

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.

Back to top

M54Storage System Irreversibility

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.

C=ṁc_p, N=UA/C, y_plug=1-e^(-N), y_mixed=N/(1+N) T_s=T_0+(T-T_0)(1-e^(-Cy_plugt/M_s)) B_s=M_s[T_s-T_0-T_0 ln T_s/T_0] Q=C y_flow(T-T_m)t, B_s=Q(1-T_0/T_m) B_in=B_s+B_out+T_0 S_HX, η=B_s/B_in

What it rests on

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.

How the working relation follows

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.

Eₛₜₒᵣₑ=Cₛ[T-T₀-T₀ ln (T/T₀)]
ε_plug=1-e^(-NTU), ε_mixed=NTU/(1+NTU)
E_in=E_store+E_out+T_0S_gen

Assumptions

Inputs

SymbolMeaningUnitValid range
T1Temperature: the property two bodies share when nothing flows between them on contact. Always absolute inside the app.KT > T0 > 0
Source stream inlet.
T0Dead-state temperature: the temperature of the environment the system is eventually going to equilibrate with. Exergy is meaningless without it.K0 < T0 < T
mdotMass flow rate.kg/smdot > 0
Mass flow of charging stream.
cpSpecific heat at constant pressure: how much energy raises one kilogram by one degree while the pressure is held fixed.kJ/(kg K)cp > 0
Constant specific heat of charging stream.
UA_storeConductance between the charging stream and the store.kW/KUA_store > 0
t_chargeHow long the store is charged for.st_charge > 0
Finite entered charging duration; latent charge must fit the available latent heat.
T_storeTemperature the store is held at.KT0 < T_store < T
Latent melting temperature. Sensible store begins at ambient and its temperature evolves.
storage_kindWhether the store works by rising in temperature or by melting at a fixed one.—sensible or latent
M_storeSensible store total heat capacity.kJ/KM_store > 0
Sensible store total heat capacity.
Q_latentAvailable latent heat; no warming outside the phase-change plateau is modeled.kJQ_latent > 0
Available latent heat; no warming outside the phase-change plateau is modeled.
storage_flowLatent stream transfer factor: 1-exp(-N) or N/(1+N). Sensible model uses plug flow.—plug flow or mixed flow
Latent stream transfer factor: 1-exp(-N) or N/(1+N). Sensible model uses plug flow.

Outputs

SymbolMeaningUnitRelation
sigmaEntropy 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.
EdExergy 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_optThe 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_storageHow much of the exergy put into a store is still there to take out.-
Stored / incoming exergy over the full duration.
t_charge_optSensible charging duration maximizing stored / incoming exergy.s
Sensible charging duration maximizing stored / incoming exergy.
Q_storedIntegrated stored heat.kJ
Integrated stored heat.
B_storedIntegrated captured exergy.kJ
Integrated captured exergy.
B_inIncoming stream exergy over the entered time.kJ
Incoming stream exergy over the entered time.
B_outUnused outgoing stream exergy over the entered time.kJ
Unused outgoing stream exergy over the entered time.
S_dumpAdditional entropy if the outlet is discarded to ambient.kJ/K
Additional entropy if the outlet is discarded to ambient.
S_totalHeat-exchanger plus outlet-disposal entropy.kJ/K
Heat-exchanger plus outlet-disposal entropy.
T_final_storeStore temperature at the end of the charge.K
Store temperature at the end of the charge.
T_final_outFinal outlet temperature.K
Final outlet temperature.

Choices made explicit

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.

What always holds

Exact relations:

Monotonic trends:

Where it gets delicate

Storage temperature approaching ambient or the source temperature

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.

How it is solved

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.

Limitations

Reading the result

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.

Back to top