Theory manual

For every screen: the relation it evaluates, what that relation rests on, how it is derived, what it assumes, where it stops applying, and how the answer should be read.

Contents

Scope, and how to read this manual

Anyone can get a formula evaluated. The question that matters is whether the number coming out is the one you think it is — and that depends on assumptions the formula does not state, on which root of a multi-valued relation was taken, on a convention chosen three steps upstream, and on where the model stops being true at all. This manual answers those questions for each of the nineteen screens, so that a result can be checked rather than trusted.

It is not a textbook. It does not teach combustion from first principles, it works no exercises, and it assumes a reader who has met the subject and wants to know precisely what this particular program does. Where a derivation is given it is given to fix the assumptions, not to instruct: the steps that matter are the ones where something was assumed, dropped, or chosen, and those are the steps written out in full. The algebra between them is compressed or omitted.

The audience it is actually written for is the reader who has a number from this application and a number from somewhere else, and they disagree. Almost every such disagreement has one of four causes: a different convention, a different branch, a different set of product species, or a model boundary that one of the two calculations crossed. This manual is organised so that each of those four can be checked in turn.

The shape of an entry

Every entry has the same ten parts, in the same order, and each is there because leaving it out has a specific cost.

Basis names the conservation law, equilibrium condition or balance the relation rests on. It is first because it is the part that survives: a correlation can be superseded and a coefficient can be revised, but the statement that this screen is an enthalpy balance is what tells you whether the screen is the right one for your problem before any number is entered.

Derivation shows how the working relation follows from the basis. Its purpose is to expose the steps at which something was assumed away, since an assumption made inside a derivation is invisible in the result. Where the derivation drops a term, the term is named and the condition under which dropping it is safe is stated.

Assumptions lists what must be true for the result to mean anything. Each is phrased so that its failure is recognisable in a real problem rather than as a formality. “Ideal gas” is a formality; “the gas is ideal, which fails in the compressed charge of an engine near top dead centre” is something a reader can check against the case in front of them.

What must always be true lists the invariants: relations that hold for every admissible input, not just for the tested ones. They are stated here because they are what the property tests assert, and because they are what a reader can use to check a result without recomputing it. A mole fraction set that does not sum to one, a detonation whose overdrive is below one, a mixture fraction outside the unit interval — each of these is a result you can reject without knowing anything else about the problem.

Choices you have to make appears on the eight screens where a relation has more than one branch and the application puts a visible control on the screen rather than picking for you. Settled without asking appears on every screen and says which cases are decided by numbers already entered, or by showing both sides at once, and why that decision is not a hidden assumption. The two together are the complete account of where discretion lives on that screen; there is no third category.

Where it stops gives the boundaries: the conditions under which the relation stops being an approximation and starts being wrong, and the points at which it is singular. How it is solved says how the number is actually computed, in enough detail to say whether the answer carries the precision of the arithmetic or of a tolerance. Not covered says what the answer does not include, which is a different thing from what the model assumes: a frozen flame temperature assumes no dissociation, and separately does not cover heat loss, which nothing in the assumption list mentions.

Reading the result is about interpretation, and it is last because it is where the common mistakes are. A flame temperature that is four hundred kelvin above any measurement is not a defect; a laminar flame speed that came out of a correlation fitted to a different fuel is not a prediction. Entries say which of these a number is.

What generating this manual guarantees, and what it does not

The relations, symbols, units, assumptions and invariants printed here are generated directly from the same module catalogue the application itself reads. A relation printed here is therefore the relation the application evaluates, and the theory text shown inside the application on each screen, under Relation and assumptions, is this same material rather than a second copy of it. One source, delivered twice. A hand-written manual drifts from the program it describes, and the drifted version reads exactly as well as the accurate one — it is self-consistent, well set, and describes something that does not exist. That failure is not available here.

What generation does not guarantee is that the catalogue is right. If an assumption is stated wrongly in the catalogue it is stated wrongly in the manual, in the application, and in the tests that read it, all consistently. Generation removes the class of defect where two descriptions disagree; it does nothing about the class where one description is wrong. The chapter on verification below is about the second class, and it is the longer of the two concerns.

The application embeds no web browser and makes no network request of any kind, so the in-application copy of this text is drawn with the platform's own text views rather than by loading these pages. Nothing here is fetched at run time, and nothing about your use of the application is reported anywhere.

Notation, symbols and conventions

Conventions are not facts. Most disagreements between two calculations that are both correct are disagreements about convention, and they are hard to find precisely because neither side is wrong. This chapter fixes the conventions used here. Where a convention differs from another in common use, the difference is stated and its consequence given, rather than assumed away.

Units

SI throughout, internally and without exception. Temperatures are in kelvin, pressures in pascals, energies in joules, lengths in metres. Conversion happens only at the two boundaries — where you type and where a result is displayed — so a pressure entered in atmospheres becomes pascals before it reaches any relation, and a temperature entered in Celsius becomes kelvin at the same point. No relation anywhere in the application has a unit system that switches, because a unit system that switches is a class of defect that testing finds late and users find first.

Two quantities arrive from the bundled transport data in non-SI units: viscosity in micropoise and thermal conductivity in microwatts per centimetre-kelvin. Both are converted at the point of reading rather than carried through in their source units, and a dedicated test asserts the conversion factors against independently known values for a common species, because a factor of ten in a transport property produces a Reynolds number that still looks entirely plausible.

Equivalence ratio

Defined as the stoichiometric air-to-fuel ratio divided by the actual one, so that it exceeds one when there is surplus fuel. The reciprocal convention exists and is in use; under it every statement in this manual about lean and rich reverses, and every monotonicity claim reverses with them. Where a normalised form is needed it is φ/(1+φ), which is one half exactly at stoichiometric and maps the whole range onto the unit interval.

Lewis number

Defined as thermal diffusivity divided by mass diffusivity, so that a value below one means the deficient reactant diffuses faster than heat. The reciprocal convention is in use in part of the literature. Under it a diffusively unstable mixture reads as a stable one and vice versa, which is a sign error in the conclusion rather than in the arithmetic, so nothing about the number itself looks wrong. This is stated on the screen beside the input as well as here, and a guard test asserts that the implementation has not been inverted.

Markstein length and stretch

The stretch-rate convention is used, with a plus sign, so that a negative Markstein length means stretch slows the flame. Sources that work in the curvature convention carry the opposite sign for the same physical situation. When the sign is positive, stretch cannot extinguish the flame at any rate, and the screen says so in words rather than reporting a negative or infinite extinction stretch.

Droplet rate constant

Defined on the radius squared, consistently with the derivation given on that screen. Most published rate constants are defined on the diameter squared and are therefore four times larger for the same droplet. Both forms are reported side by side so that a comparison against a published value cannot go wrong silently; a factor of four in a lifetime is large enough to notice and small enough to be attributed to the fuel.

Air

Two compositions are offered, and neither is privileged as a default. Textbook air is 0.21 O₂ + 0.79 N₂ by mole and reproduces the figures printed in teaching material. CEA standard dry air additionally contains argon and carbon dioxide and reproduces the reference tool's output. Their molar masses differ by about 0.4%, which propagates into every air-to-fuel ratio and every quantity derived from one. That difference is small enough to be mistaken for rounding and large enough to matter when checking a result to four significant figures, which is why the composition is a control rather than a constant.

Composition variables

Mole fractions are used for equilibrium composition and for flammability limits; mass fractions for anything entering an enthalpy balance. Where both appear on one screen they are labelled distinctly rather than distinguished by subscript alone. Mixture fraction is the conserved scalar normalised so that it is one in the pure fuel stream and zero in the pure oxidiser stream; the stoichiometric value of that scalar depends on the fuel and is reported rather than assumed.

States across a wave

Subscript 1 is the state ahead of a wave and subscript 2 the state behind it, in the wave-fixed frame, for every screen in the wave family. Velocities in that frame are relative to the wave; the laboratory-frame velocity is reported separately where it is meaningful, and never silently substituted. Specific heat ratios carry the same subscripts, so that the general case of two different ratios can be written without ambiguity.

Digits

Screens show four significant figures, which is what remains readable and what the printed tables this application replaces carry. Counts — a solver's iteration count, for instance — are shown as integers, since two decimal places on an iteration count would assert a precision that does not exist. Exported values carry seventeen significant figures, the shortest count that reproduces a double-precision number exactly, so that a value taken out as CSV and read back is the value that was on the screen rather than a rounded copy of it.

Solution methods used throughout

Most of this application is closed form: a relation with a known solution, evaluated directly. Nothing in those screens iterates, and the result carries the precision of double-precision arithmetic rather than of a convergence tolerance. Where closed form is not available, one of three methods is used. They are described once here rather than repeated in every entry that depends on them.

Bracketed root finding

Used for both flame temperature screens. The unknown is the temperature at which the product enthalpy equals the reactant enthalpy, and the function whose root is wanted is monotone in temperature over any physically admissible range, because the product heat capacity is positive. A bracket is therefore established from the physics — two temperatures known to straddle the root — and then narrowed.

Bracketing from the physics rather than searching from a guess is what makes the result deterministic. A method that starts from a guess can converge to a different root, or to no root, depending on where it started; a method that starts from a bracket containing exactly one root cannot, because there is nowhere else for it to go. The cost is that the bracket has to be justified, and the justification is part of each entry rather than a property of the solver.

Gibbs minimisation by element potentials

Used for equilibrium composition, and nested inside the equilibrium flame temperature, where each trial temperature requires a full composition solve. The Gibbs energy of the mixture is minimised subject to conservation of each element. Introducing one Lagrange multiplier per element and eliminating the species mole numbers analytically leaves one unknown per element rather than one per species — five unknowns rather than twenty in the reference case — and the reduced system is far better conditioned than the direct one.

Newton iteration acts on corrections to the element potentials rather than on the potentials themselves, which keeps the step size meaningful when the potentials differ by orders of magnitude between elements. The convergence test is applied inside the loop, to the iterate about to be accepted, rather than to the result after the loop has finished. That distinction is not cosmetic: testing afterwards accepts an iterate that was itself never tested, and reports a tolerance it did not verify.

Two failure modes are reported rather than absorbed. If the species set cannot represent an element present in the input, the solver raises rather than dropping those atoms; a silently dropped element produces a composition that sums to one and conserves nothing. If the iteration does not converge within its limit, the screen says so rather than returning the last iterate.

Scanning for a turning point

Used for the stirred reactor, where the quantity of interest — the residence time at ignition and at extinction — lies at a point where the response curve has a vertical tangent in its natural direction. A solver working in that direction steps past such a point without registering it, or fails to converge near it.

The relation is therefore re-posed with reaction progress as the independent variable, which makes it single-valued and smooth across the whole range. The ignition and extinction points are then an interior maximum and an interior minimum of an ordinary function, found by scanning and refining. Changing which variable is independent turns a numerically awkward problem into a routine one without changing the physics.

Numerical conditioning

Two places in the application would lose significant figures if written in their textbook form, and both are written differently. The Chapman–Jouguet quadratic is solved in the numerically stable form rather than by the standard formula, because near tangency the discriminant approaches zero and the weak root is computed as the difference of two nearly equal numbers. A guard test computes both roots near tangency and asserts that each still satisfies the original relation to a relative residual, which is the only test that distinguishes a root from a plausible number.

Where an exponential or a logarithm is taken of a small quantity, the library forms that preserve precision near zero are used instead of the naive difference. These rewrites are covered by tests against values computed from the unrewritten relation at arguments where the unrewritten form is still accurate, which is the only way to show that the rewrite computes the same quantity.

Guard values

A relation asked for something outside its domain reports no value rather than returning one. Where the boundary is a genuine physical limit rather than an invalid input — a flame whose positive Markstein length means stretch cannot extinguish it, a Gibson scale that has no meaning above unit Karlovitz number, a pressure ratio below which no detonation solution exists — the screen states the limit in words. The distinction is worth keeping: an invalid input is a mistake the reader made, and a limit is an answer the physics gave.

What is not used

There is no time integration anywhere in this application, no chemical mechanism beyond the single-step forms stated in the entries that use them, and no transport solution in space. Screens that report a flame speed report it from a correlation or from a two-parameter thermal theory, both stated as such; none of them solves a flame structure. Screens that report an ignition or extinction condition report it from a well-stirred balance, not from an integrated history. Knowing what is absent is part of knowing what a number means.

Choices, and where each one lives

A relation with more than one solution is the single most effective way to hand a reader a wrong answer while showing them a correct calculation. The result is right for the branch that was taken; nothing on the screen is false; and the reader has no way to discover that a different branch was theirs. The rule in this application is therefore that a branch is never resolved silently. There are exactly three ways a branch is handled, and every branch in the application uses one of them.

Both sides shown

Where the two solutions are equally legitimate and which one applies is a property of the reader's problem, both are computed and displayed together. The strong and weak branches of a detonation or deflagration, the two intersections of a Rayleigh line with a Hugoniot, the ignition and extinction turning points of a stirred reactor, and the frozen and equilibrium flame temperatures are all presented this way. No control is offered because there is no question to ask: the answer is the pair.

Settled by numbers already entered

Where the branch follows from values the reader has already supplied, it is resolved from them and the resolution is stated. A mixture below the stoichiometric ratio has no surplus fuel to distribute, so the rich-product rule does not arise and its control does not appear. A Rayleigh line that does not reach the Hugoniot has no intersections, and the screen says that rather than reporting the complex pair. Each entry's Settled without asking section lists what was decided this way on that screen, which is what keeps this category from becoming a place to hide defaults.

Asked, with the consequence stated

Eight screens carry a visible control because no value the reader has entered determines the answer, and no option is more correct than another. In every case the screen prints what the options differ by, not merely what they are called. A control offering two names and no reason is a control the reader takes the first item from.

ControlWhereWhat it changes
Air compositionStoichiometry, and both flame temperature screens Molar mass of the oxidiser by about 0.4%, hence every air-to-fuel ratio and everything derived from one
Rich product ruleFrozen flame temperature, above stoichiometric only How surplus carbon and hydrogen are assigned among the products; within the frozen assumption no assignment is more correct, so the honest options are a stated convention or a refusal, and both are offered
Frozen or equilibriumShared by both flame temperature screens Whether dissociation is allowed; typically several hundred kelvin at stoichiometric hydrocarbon conditions
One or two specific heat ratiosHugoniot explorer Whether burned and unburned gas are given the same ratio; the single-ratio case exists so that a reader checking against a simplified treatment can reproduce it
Flame speed routeLaminar flame speed Which two of the inputs are required: a kinetic route from first principles, or a correlation route that extrapolates a measurement to new conditions. These are different questions, not two ways of answering one
Vessel geometryThermal explosion The critical parameter, which differs by nearly a factor of four across slab, cylinder and sphere, and what the characteristic length refers to in each
Evaporation or combustionDroplet combustion Which transfer number is formed; the same droplet has a lifetime differing by an order of magnitude between the two
Inner layer fractionTurbulent regimes The broken-reaction-zone boundary, by the inverse square. It defaults to a methane–air estimate and is editable because the boundary is mixture-specific

One further choice is stated but not offered: the product species set used by the equilibrium screens. It is printed on the screen and listed in that entry, and it is not a control because changing it asks a different question rather than answering the same one more accurately. Adding a species to the set can only lower the computed flame temperature, since it gives the system another way to absorb energy; a reader comparing against a source that used a different set should expect a difference in that direction.

How the results were verified

Verification here means something narrower than “the tests pass”. A test suite written against the same understanding that produced the code confirms that understanding rather than checking it. What follows is organised by what each kind of check is independent of, because that is the only property that determines what a check can catch.

Independent of the arithmetic: published reference output

The equilibrium solver is checked against NASA's own published output for a documented example case — a temperature-and-pressure problem with twenty gas-phase product species, at 1 atm and at both 2000 K and 3000 K, with thirteen species printed to five decimal places. The element abundances are taken directly from the published case rather than computed from a fuel and an air composition, which deliberately removes this application's own definition of air from the comparison. What is being checked is the solver, the thermodynamic data parser, and the standard-state handling — all three of which must be right simultaneously for the comparison to close.

The residual disagreement is largest in the hydroxyl mole fraction, at both temperatures. It is not absorbed into a tolerance. The formation enthalpy of OH was revised downward between the data set the published output used and the one bundled here, and a species whose formation enthalpy is lower by an amount is more stable, so its equilibrium mole fraction should be higher by a factor of the exponential of that amount over the gas constant times temperature. A test asserts that the observed ratio matches that prediction in both direction and magnitude, at both temperatures, within six percent — and a second test asserts that OH remains the dominant contributor, because if the other species drifted to match it, the data-revision explanation would be wrong and the fault would be in the solver. A deviation with a mechanism is a different object from a deviation within a bound.

Independent of the code: the data file checked against itself

The thermodynamic evaluator reproduces each species' own tabulated formation enthalpy at 298.15 K, checked across 245 gas-phase species. The expected value is the one printed in the species record itself, so this particular claim needs no second source: the polynomial coefficients and the tabulated enthalpy are independent fields of the same record, and agreement between them exercises the parser's column alignment, the interval selection, and the enthalpy evaluation at once. Column misalignment in a fixed-format record is the characteristic failure here, and it produces coefficients that are individually plausible.

The differential relations are checked separately and by a different route: the temperature derivative of the enthalpy polynomial must reproduce the heat capacity polynomial, and the derivative of entropy must reproduce heat capacity divided by temperature, both by central difference. These catch an error in one polynomial that the formation-enthalpy check would not, because they compare two of the three fitted quantities against each other. Interval boundaries are checked for continuity, and evaluation outside the fitted range returns nothing rather than extrapolating.

Independent of specific numbers: invariants

Each entry's What must always be true section is asserted rather than merely stated. Mole fractions sum to one; element abundances are conserved through an equilibrium solve; the overdrive factor is exactly one at the Chapman–Jouguet point; zero reaction progress reduces the detonation Hugoniot to the shock Hugoniot; both roots near tangency still satisfy the original relation to a relative residual. Invariants catch structural errors at parameter combinations nobody thought to tabulate, which is precisely where single-point comparison is blind.

Independent of my expectations: guard tests

Eleven tests exist because a specific defect occurred, or because a specific plausible defect would be invisible. Each names the thing it prevents rather than the thing it confirms. They cover an inverted Zeldovich number and an inverted Lewis number, a rate constant defined on diameter where the derivation used radius, a spurious specific-heat-ratio factor in a shock temperature relation, the two transport unit conversions, a file with CRLF line endings parsed as a single line, a binary interaction pair returned as if it were a pure species, an equilibrium input containing an element the species set cannot represent, and the quadratic root loss near tangency described above.

Two of the eleven are worth stating in full, because they concern sources rather than code. One published lean-limit constant does not follow from the two numbers printed alongside it — the stated limit times the stated heat of combustion gives a different value than the stated constant, by about four percent. That is not a transcription error on this side; it is what is printed. The relation is usable and is used; the constant is not admissible as a reference value, and a test pins the discrepancy so that it cannot quietly become agreement after a future edit.

The other concerns a two-column data set for quenching distance, where one column was extrapolated from ignition energy through the same relation that a naive check would then “verify”. Using it would be circular. The two columns are separated by type so that a caller cannot mix them. Writing that guard also corrected a wrong expectation: the derived column was assumed to be tighter, and measurement showed it was three times more scattered than the independent one. The consequence of non-independence is that the inference is void, not that the scatter is small — a correlation computed from derived data proves nothing however clean it looks.

Independent of the calculation entirely: the interface

Unit contracts are asserted at the boundary: round trips preserve the SI value, known anchors convert correctly, and non-physical inputs are rejected rather than clamped into range. Export is checked to carry seventeen significant figures and to reproduce the values shown. The manual generator is checked to emit every declared field for every module, with a deliberately incomplete sample proving the check can fail, and the module catalogue is checked against the list of screens the application actually dispatches, so that neither a screen without an entry nor an entry without a screen can survive.

Two hundred and sixteen tests run in total. That number is reported for scale and should not be read as a measure of confidence: a count of tests says nothing about what they are independent of, which is the only question this chapter has been about.

The bundled data, and two defects in it

Thermodynamic and transport coefficients are read from NASA's CEA data files, bundled with the application unmodified: 5,425 species records, and fitted viscosity and thermal conductivity curves covering 66 pure species. Both files are released under the Apache License 2.0, and the licence and NOTICE are readable inside the application under About & Licences. Nothing is downloaded, at first run or ever.

The polynomials are the nine-coefficient NASA form, fitted piecewise in temperature with the intervals given per species. Evaluation selects the interval containing the requested temperature and returns nothing outside the fitted range, since a polynomial fitted between 200 K and 1000 K says nothing whatever about 1500 K and will return a confident number if asked.

Eleven records with reversed interval bounds

Eleven records in the thermodynamic file have their temperature interval bounds the wrong way round, the lower above the upper. All eleven are condensed phases. The parser does not silently swap them: an interval that is reversed never matches any temperature, so those species return no value rather than a plausible wrong one, and a test asserts that the set of affected species is exactly these eleven — so that a data file update which fixes them, or which breaks more of them, is noticed rather than absorbed.

Repairing data that arrives wrong is a decision, and decisions of that kind should be visible in the result. It is not made here. None of the eleven is reachable from any screen in this application, since every screen works with gas-phase species.

Two kinds of record in one transport file

The transport file contains 107 records of two different kinds: 66 pure species and 41 binary interaction pairs. Reading a pair as though it were the pure property of its first named member returns a number of the right shape and the right order of magnitude that is simply a different quantity — the kind of wrong answer that survives review.

The two kinds are indexed separately, so a pure-species lookup cannot return a pair. That separation was added after the fact. Before it existed the code returned correct answers, but only because the pure records happen to precede their pairs in the file, so a first-match lookup happened to land correctly. That was luck. A guard test now asserts the separation directly, on a species that has both a pure record and pairs, and the distinction between a program that is correct and one that is currently getting away with something is exactly the distinction this manual exists to record.

Thermochemistry

Everything in this family rests on the same thermodynamic data and the same idea: that a chemical state can be described by enthalpies and entropies which are functions of temperature alone, tabulated once and reused. The screens differ in what they hold fixed. Stoichiometry holds the chemistry fixed and asks what the proportions are; heating value holds the temperature fixed and asks what the energy difference is; the flame temperature screens hold the energy fixed and solve for temperature; equilibrium holds temperature and pressure fixed and solves for composition. A reader who follows that thread will find the four screens are one calculation entered from four sides.

Stoichiometry

MOD-01

Equivalence ratio, air–fuel ratio and the soot threshold for a C–H–O–N fuel.

a = x + y/4 - z/2, φ = (A/F)ₛₜ / (A/F)

Basis

Conservation of atoms. A combustion reaction rearranges atoms; it neither creates nor destroys them. Everything on this screen follows from writing that statement for a fuel of known atomic composition burning in air of known composition, and from one further definition: that the stoichiometric proportion is the one which takes every carbon atom to carbon dioxide and every hydrogen atom to water, with no oxygen left over and none missing.

Derivation

Write the reaction for one mole of a fuel CxHyOzNw. Carbon needs one O₂ per atom, because each carbon leaves as CO₂. Hydrogen needs a quarter of an O₂ per atom, because each pair of hydrogen atoms leaves as one H₂O and that water carries one oxygen atom, half an O₂. Oxygen already in the fuel molecule is oxygen that does not have to be supplied, and since it arrives as atoms rather than as O₂ it offsets half its count. Adding the three gives the stoichiometric oxygen requirement a = x + y/4 − z/2, which is the single relation the rest of the screen is built on.

Air is then whatever the chosen model says accompanies that oxygen. For every mole of O₂ the textbook model brings 79/21 moles of nitrogen and nothing else; the CEA model brings nitrogen, argon and carbon dioxide in their measured proportions. Multiplying a by the moles of air per mole of O₂ gives the stoichiometric air on a molar basis, and multiplying through by the two molar masses converts it to the mass basis engineers actually quote.

The equivalence ratio is defined as the stoichiometric air–fuel ratio divided by the actual one, so that it exceeds one when there is a surplus of fuel. That direction is a convention and the opposite one exists; this app states it here and uses it everywhere. The normalised form Φ̃ = φ/(1+φ) compresses the whole range onto the interval from zero to one and puts stoichiometric at exactly one half, which is what makes it useful as a plotting coordinate: a sweep from very lean to very rich becomes a finite line rather than one that runs off to infinity on the rich side.

The soot threshold is the equivalence ratio at which the available oxygen is exactly enough to take all the carbon to carbon monoxide and all the hydrogen to water, with none left to go further. Beyond it there is not enough oxygen even for that, and carbon must begin to appear as a condensed phase.

Assumptions

Takes

SymbolMeaningUnit
xCarbon atoms in the fuel molecule—
yHydrogen atoms in the fuel molecule—
zOxygen atoms in the fuel molecule—
wNitrogen atoms in the fuel molecule—
—Air modeltextbook 21/79, or CEA standard dry
A/FAir–fuel ratio of the mixture you are asking aboutkg/kg

Gives

SymbolMeaningUnit
φEquivalence ratio—
Φ̃Normalised equivalence ratio—
aStoichiometric oxygen requirementmol O₂/mol fuel
(A/F)stStoichiometric air–fuel ratiokg/kg
—Stoichiometric air per fuelmol/mol
MFuel molar massg/mol
φSoot threshold equivalence ratio—

What must always be true

Choices you have to make

Settled without asking

Where it stops

How it is solved

Closed form throughout. Nothing iterates, and the result carries the precision of the arithmetic rather than of a tolerance.

Not covered

Reading the result

The soot threshold is the quantity most often misread here. It is a purely stoichiometric estimate — the equivalence ratio at which oxygen runs out for the carbon-to-CO route — and it is not a measured sooting limit. Real flames begin to soot well before it, because soot forms in locally rich regions long before the mixture as a whole is that rich, and because the kinetics of soot inception have nothing to do with this calculation. Treat it as an upper bound on where sooting could conceivably be avoided, not as a prediction of where it starts.

The second common misreading is comparing an equivalence ratio computed here against one from another source without checking which air model each used. A 0.4% difference in the molar mass of air moves the stoichiometric air–fuel ratio by the same fraction, which is small enough to look like rounding and large enough to matter when you are checking a number to four figures.

Heating Value

MOD-02

Heat of reaction, and the lower and higher heating values of a fuel.

Δ H(T) = Σ_prod νⱼ hⱼ(T) - Σ_reac νⱼ hⱼ(T)

Basis

Hess's law: the enthalpy change of a reaction depends only on the initial and final states, not on the path between them. That is what allows a heat of reaction to be assembled from tabulated formation enthalpies instead of being measured for every reaction separately, and it is the entire content of this screen.

Derivation

The enthalpy of a species at temperature T is written as its enthalpy of formation at the reference temperature plus the sensible enthalpy accumulated from the reference temperature to T. Both parts come from the same fitted polynomial in the bundled data: the coefficients give the heat capacity as a function of temperature, and the integration constants are chosen so that the polynomial reproduces the formation enthalpy at the reference point. Nothing here integrates numerically — the integration was done once, analytically, when the fit was constructed.

The heat of reaction at T is then the sum of product enthalpies minus the sum of reactant enthalpies, each weighted by its stoichiometric coefficient. Those coefficients come from the same atom balance the stoichiometry screen uses. The heating value is the negative of that quantity, so that a fuel which releases energy has a positive heating value; the sign flip is a convention and is the only place a sign could be lost.

The lower and higher values differ in exactly one respect: whether the product water is counted as vapour or as liquid. Counting it as liquid credits the reaction with the latent heat of condensation, which is why the higher value exceeds the lower one by an amount proportional to the hydrogen content. For a fuel with no hydrogen the two are equal, which is a useful check.

Assumptions

Takes

SymbolMeaningUnit
—Species namemust match the data file exactly
xCarbon atoms—
yHydrogen atoms—
TTemperature at which the reaction is evaluatedK

Gives

SymbolMeaningUnit
LHVLower heating valuekJ/mol
HHVHigher heating valuekJ/mol
LHVLower heating value on a mass basisMJ/kg
ΔHfFormation enthalpy at 298.15 KkJ/mol
cpMolar heat capacity at the stated temperatureJ/(mol·K)

What must always be true

Settled without asking

Where it stops

How it is solved

Closed form. Enthalpies are evaluated from the NASA nine-coefficient polynomial for whichever fitted interval contains the requested temperature; the heat of reaction is a weighted difference of those values.

Not covered

Reading the result

Which of the two values to use is decided by the application, not by the fuel. If the exhaust leaves above the dew point — almost every engine, furnace and turbine — the water leaves as vapour and its latent heat is never recovered, so the lower value is the one that describes what you got. A condensing boiler recovers part of it and sits between the two. Quoting an efficiency against the lower value and comparing it against someone else's efficiency quoted against the higher one produces a difference of ten per cent that is entirely an artefact of the convention.

The mass-basis value is the one to compare across fuels of different molar mass; the molar value is the one to use in an energy balance where you are tracking moles. Hydrogen and methane rank in opposite orders on the two bases, which is the clearest illustration that the choice of basis is not cosmetic.

Flame Temperature — Frozen

MOD-04

Adiabatic flame temperature with a fixed product composition.

Σ_prod nⱼ hⱼ(T_ad) = Σ_reac nⱼ hⱼ(T₁)

Basis

Conservation of energy for a control volume with no heat transfer and no work: the enthalpy of the products at the flame temperature equals the enthalpy of the reactants at their initial temperature. Everything the reaction released as chemical energy has gone into raising the temperature of the products, because by assumption there is nowhere else for it to go.

Derivation

Fix the product composition first. Below stoichiometric this is unambiguous: all carbon to CO₂, all hydrogen to H₂O, the surplus oxygen and all the nitrogen carried through unchanged. That gives a definite list of product species and definite mole numbers, both determined by the atom balance and the equivalence ratio alone.

Now write the enthalpy balance with that composition fixed and the flame temperature unknown. The left side is a sum of product enthalpies, each a polynomial in the unknown temperature; the right side is a number, computed from the reactant enthalpies at the known initial temperature. The equation is therefore a single scalar equation in a single unknown, and because every product's enthalpy increases with temperature the left side is strictly increasing — there is exactly one root, and no possibility of converging to the wrong one.

Above stoichiometric the first step breaks down. There is not enough oxygen to take all the carbon to CO₂, and nothing in a frozen model says how the shortfall should be distributed between CO₂, CO, H₂O and H₂. That is not a numerical difficulty but a modelling one: the question has no answer within the frozen assumption, which is precisely the question an equilibrium calculation exists to answer. The screen therefore exposes the assignment rule as a control rather than choosing quietly.

Assumptions

Takes

SymbolMeaningUnit
—Fuel species—
xCarbon atoms—
yHydrogen atoms—
φEquivalence ratio—
T₁Initial temperature of the reactantsK
—Air model—
—Rich product ruleonly when φ > 1

Gives

SymbolMeaningUnit
TadFrozen adiabatic flame temperatureK
TadEquilibrium value, computed alongsideK
ΔTDissociation penaltyK
nProduct moles per mole of fuelmol

What must always be true

Choices you have to make

Settled without asking

Where it stops

How it is solved

The composition is determined in closed form; the temperature is then found by bracketed root finding on the product enthalpy, with the bracket established from the physics rather than from a guess, so the method cannot wander to another root.

Not covered

Reading the result

This number is an upper bound and should be read as one. It is the temperature a flame would reach if nothing dissociated, nothing leaked heat, and the reaction went to completion; a measured flame temperature below it is not evidence of an error. The quantity worth looking at is not the frozen value alone but the gap between it and the equilibrium value shown beside it, which is labelled the dissociation penalty. For a hydrocarbon in air near stoichiometric that gap is of order a hundred kelvin and grows quickly with temperature, because dissociation is itself strongly temperature dependent.

The frozen value peaks exactly at stoichiometric. The equilibrium value does not — it peaks slightly rich — and the difference between those two statements is visible on the sweep chart. If you are using the peak location to infer anything about a real burner, the equilibrium curve is the one to read.

Stated on the screen

Product composition does not dissociate; the temperature is therefore an upper bound.

Equilibrium Composition

MOD-05

Equilibrium mole fractions at a given temperature and pressure.

min G = Σⱼ nⱼ μⱼ subject to Σⱼ aᵢⱼ nⱼ = bᵢ°

Basis

At fixed temperature and pressure a closed system reaches the composition that minimises its Gibbs free energy, subject to the constraint that atoms are conserved. This is the second law expressed as a constrained optimisation, and it is a stronger statement than a set of equilibrium constants: it does not require choosing a set of independent reactions, and it cannot be made inconsistent by choosing them badly.

Derivation

Form the Lagrangian: the Gibbs energy of the mixture plus a multiplier for each element times that element's conservation constraint. Differentiating with respect to each species mole number gives the stationarity condition — the chemical potential of every species equals a linear combination of the element multipliers, weighted by how many atoms of each element that species contains. Those multipliers are the element potentials, and they are the reason this method scales well: there is one unknown per element rather than one per species, and a combustion problem has four elements and ten species.

The chemical potential of an ideal-gas species is its standard-state value at the temperature, plus a logarithmic term in its mole fraction and in the pressure. Substituting that in turns the stationarity condition into an explicit expression for each mole number in terms of the element potentials. Substituting those back into the conservation constraints leaves a small system in the element potentials alone, which is solved by Newton iteration on corrections rather than on the variables themselves — the corrections are small quantities near the solution, which is numerically better behaved than iterating on mole numbers that span many orders of magnitude.

One detail decides whether the answer is trustworthy. The convergence test is applied **inside** the iteration loop, before accepting a step, not as a check on the result afterwards. Applying it afterwards accepts an iterate that was never itself tested, which is a different and weaker claim than the one the test appears to make.

Assumptions

Takes

SymbolMeaningUnit
CCarbon atoms availablemol
HHydrogen atoms availablemol
OOxygen atoms availablemol
NNitrogen atoms availablemol
TTemperatureK
pPressureatm

Gives

SymbolMeaningUnit
XjMole fraction of each of the ten product species—
—Iterations taken—
—Largest element residualmol

What must always be true

Settled without asking

Where it stops

How it is solved

Gibbs minimisation by element potentials, Newton iteration on the corrections. Convergence is tested inside the loop. Element conservation is required to (b°)max × 1e-6, which is the reference criterion rather than a stricter per-element one.

Not covered

Reading the result

The two numbers under the solver heading are not decoration. The iteration count tells you whether the problem was easy or marginal; the largest element residual tells you how exactly atoms were conserved in the answer you are looking at. A residual many orders of magnitude below the element inventory means the composition is trustworthy to well beyond the four figures shown. If it is not, that is visible rather than assumed — which is the point of putting it on the screen.

Equilibrium is a limit, not a prediction. It says where the mixture would end up given unlimited time at that temperature and pressure. A flame with a millisecond of residence time may be nowhere near it, particularly for nitric oxide, whose formation is slow enough that measured concentrations in real devices are routinely far below the equilibrium value shown here. Reading the NO mole fraction as an emissions prediction is the single most common way to misuse this screen.

Stated on the screen

Gas phase only. Condensed species are not considered, so soot-forming rich mixtures are incomplete.

Flame Temperature — Equilibrium

MOD-06

Adiabatic flame temperature with a dissociating product composition.

h_prod(T_ad, equilibrium) = h_reac(T₁)

Basis

The same energy conservation as the frozen screen, with the composition no longer held fixed but required to be the equilibrium composition at whatever temperature the balance produces. The two conditions are coupled: the composition depends on the temperature, and the temperature depends on the composition through the product enthalpy.

Derivation

The coupling is handled by nesting. An outer iteration proposes a temperature; at that temperature a full Gibbs minimisation returns the equilibrium composition; the enthalpy of that composition is compared against the reactant enthalpy; the mismatch drives the outer iteration. Each outer step therefore costs a complete inner equilibrium solution, which is why this screen is perceptibly slower than the frozen one and why the sweep chart takes a moment to redraw.

The outer problem remains well behaved for the same reason the frozen one does: the equilibrium product enthalpy increases monotonically with temperature. Dissociation makes it increase faster than the frozen enthalpy would — energy goes into breaking bonds as well as into raising temperature — which is precisely why the equilibrium flame temperature is lower, and why the gap widens as the temperature rises.

Pressure now matters, and enters only through the inner problem. Raising it suppresses dissociation, leaves less energy tied up in broken bonds, and raises the flame temperature. That chain of reasoning is visible on the sweep chart: raising the pressure lifts the equilibrium curve and pulls its peak back toward stoichiometric, because the peak is offset rich only to the extent that dissociation is active.

Assumptions

Takes

SymbolMeaningUnit
—Fuel species—
xCarbon atoms—
yHydrogen atoms—
φEquivalence ratio—
T₁Initial temperatureK
pPressureatm
—Air model—
—Product species considered—

Gives

SymbolMeaningUnit
TadEquilibrium adiabatic flame temperatureK
XjProduct composition at that temperature—
nProduct moles per mole of fuelmol

What must always be true

Choices you have to make

Settled without asking

Where it stops

How it is solved

An outer bracketed root find on temperature, with a complete inner Gibbs minimisation at every trial temperature.

Not covered

Reading the result

This value and the frozen value bracket the real adiabatic flame temperature from below and above. That bracket is the reading, more than either endpoint is: a measurement inside it is consistent with both models, and a measurement outside it means something in the problem statement is wrong — usually heat loss, which pushes the real value below the equilibrium bound.

The verification worth knowing about: this screen's results were checked case by case against NASA's own published CEA output. The largest deviation appears in the hydroxyl mole fraction and is explained quantitatively by a known revision to OH's formation enthalpy between the data sets — that is, it is accounted for rather than absorbed into a tolerance wide enough to hide it. A deviation with a name is a different thing from a deviation within a bound.

Stated on the screen

Gas phase only.

The set of product species is a choice: different sets give different answers.

Combustion Waves

These three screens describe the same object — a thin, steady, one-dimensional wave with heat release — from three directions. The Hugoniot screen draws the locus of all end states reachable from a given initial state and asks which of them a given wave speed selects. The Chapman–Jouguet screen asks which wave speed makes that selection degenerate, which is what picks out the self-sustaining detonation. The von Neumann screen looks inside the wave at the shocked state before the heat has been released. The conservation laws are identical in all three; only the unknown moves.

Hugoniot Explorer

MOD-07

Rayleigh line, Hugoniot curve, and which of the seven regions a wave falls in.

y_R = 1 + γ₁ Ma₁² (1-x), y_H = (2λ q' - x + a)/(bx - 1)

Basis

The three conservation laws written across a thin, steady, one-dimensional wave: mass, momentum, and energy with a heat addition term. Nothing about the internal structure of the wave enters. That is the power of the formulation and also its limit — it tells you what end states are reachable without telling you whether any mechanism exists to reach them.

Derivation

Take the conservation equations across the wave and eliminate the velocities. Two independent relations survive between the pressure ratio and the specific volume ratio across the wave, and they are of completely different character.

The first comes from mass and momentum alone. Eliminating velocity between them gives a straight line in the pressure-ratio against volume-ratio plane, passing through the initial state, with a slope fixed entirely by the mass flux through the wave. This is the Rayleigh line. Its slope is negative — which is not a choice but a consequence, since the slope equals minus the square of the mass flux and that square cannot be negative. Everything above and to the right of the initial state along the positive-slope direction is therefore unreachable, and that fact alone eliminates one of the regions.

The second comes from energy. Eliminating velocity there instead gives a hyperbola through the same plane, displaced from the shock Hugoniot by the heat release. This is the Hugoniot curve, and it is the locus of all end states that satisfy energy conservation for that heat release, regardless of wave speed. The reaction progress scales the displacement, so a partially reacted wave has its own Hugoniot lying between the frozen one and the fully reacted one.

The end state of an actual wave must satisfy both, so it lies where the line crosses the curve. Substituting the line into the curve gives a quadratic in the volume ratio, and the discriminant of that quadratic decides everything: two real roots means two possible end states, a zero discriminant means the line is tangent, and a negative discriminant means the line never reaches the curve. That last case is a physical statement — no wave of that speed can exist with that heat release — and not an error.

The seven regions are then a classification of where a solution sits relative to the initial state and the two tangency points. They are named on the screen beside each solution because the mathematics produces solutions in all of them, including one region that no physical wave occupies.

Assumptions

Takes

SymbolMeaningUnit
P₁Unburned pressureatm
T₁Unburned temperatureK
RSpecific gas constantJ/(kg·K)
qHeat release per unit mass of mixtureMJ/kg
γ₁Specific heat ratio, unburned—
γ₂Specific heat ratio, burned—
Ma₁Upstream Mach number—
λReaction progress0 to 1

Gives

SymbolMeaningUnit
xSpecific volume ratio, strong and weak solutions—
yPressure ratio, strong and weak solutions—
Ma₂Downstream Mach number—
P₂Downstream pressurekPa
T₂Downstream temperatureK
—Which of the seven regions each solution falls in—

What must always be true

Choices you have to make

Settled without asking

Where it stops

How it is solved

Closed form. The intersection reduces to a quadratic in the volume ratio, solved directly; the discriminant selects between two solutions, tangency, and none.

Not covered

Reading the result

Both solutions are shown because both satisfy the conservation laws, and deciding between them is not something the arithmetic can do. The strong solution has a higher pressure ratio and a subsonic downstream Mach number; the weak solution has a lower pressure ratio and a supersonic one. Which occurs in a real device depends on the downstream boundary condition — what the flow runs into — and that is information this screen does not have. A calculation that silently returned one of them would be answering a question you had not asked.

The region labels are worth reading before the numbers. A solution sitting in the region marked impossible is telling you that the combination of inputs does not describe a wave, even though the algebra produced values for it. And when the screen reports no intersection, that is the honest answer: at that Mach number, with that heat release, no steady wave exists. Reading it as a failure of the calculation rather than a statement about the physics is the most common misreading here.

Chapman–Jouguet

MOD-08

The tangency solution: detonation and deflagration wave speeds and end states.

(b-1)² g² + [2(b+1)² - 4bK]g + (b+1)² = 0, g = γ₁ Ma₁²

Basis

The Chapman–Jouguet condition: the wave speed at which the Rayleigh line is tangent to the Hugoniot curve rather than crossing it. At tangency the two solutions of the previous screen merge into one, and the downstream flow is exactly sonic relative to the wave. That last statement is what gives the condition its physical meaning — a sonic downstream state cannot be influenced by anything behind it, so the wave becomes self-sustaining and independent of the boundary conditions that determine which branch an overdriven wave takes.

Derivation

Take the same intersection as the Hugoniot screen and impose that the discriminant of the quadratic vanishes. That is the algebraic statement of tangency. The discriminant is itself a quadratic in the group γ₁Ma₁², and setting it to zero gives the equation shown above, whose two roots are the two tangency points: the upper one on the detonation branch and the lower one on the deflagration branch.

Solving for γ₁Ma₁² rather than for Ma₁ directly is not cosmetic. That group is what appears in the Rayleigh slope, so the equation in it has constant coefficients built from the heat release and the two specific heat ratios; solving for Ma₁ instead would carry γ₁ through every term for no benefit. The Mach number follows by dividing and taking a root, and the wave speed follows by multiplying by the upstream sound speed, which is built from the gas constant and the upstream temperature.

The end state at each tangency point comes from substituting that Mach number back into the Rayleigh line, where the now-repeated root gives the volume and pressure ratios directly.

Assumptions

Takes

SymbolMeaningUnit
P₁Unburned pressureatm
T₁Unburned temperatureK
RSpecific gas constantJ/(kg·K)
qHeat release per unit massMJ/kg
γ₁Specific heat ratio, unburned—
γ₂Specific heat ratio, burned—
λReaction progress—

Gives

SymbolMeaningUnit
Ma₁CJ detonation Mach number—
DCJ detonation wave speedm/s
yCJ detonation pressure ratio—
Ma₁CJ deflagration Mach number—
—CJ deflagration wave speedm/s
—CJ deflagration pressure ratio—

What must always be true

Settled without asking

Where it stops

How it is solved

Closed form. The tangency condition reduces to a quadratic in γ₁Ma₁², solved directly; each root gives one branch.

Not covered

Reading the result

The CJ detonation speed is the quantity most often compared against measurement, and it usually agrees well — often within a few per cent — which is remarkable for a model containing no chemistry at all. That agreement rests entirely on the heat release you supplied being the right one. Supplying a heating value instead of the heat release per unit mass of mixture is the commonest error, and it inflates the answer substantially: the heating value is per unit mass of fuel, and a stoichiometric hydrocarbon-air mixture is mostly air.

The deflagration branch is a mathematical companion rather than a description of an ordinary flame. Real laminar flames propagate at a metre or two per second, far below even the CJ deflagration speed, and are governed by diffusion and chemistry rather than by this tangency condition. The CJ deflagration is an upper limit on a subsonic combustion wave, not a prediction of one.

Stated on the screen

Frozen composition: the heat release is an input, not derived from equilibrium.

von Neumann State

MOD-09

The state behind the leading shock, overdrive factor and induction length.

(p_N)/(p₁) = (2γ₁ Ma₁² - (γ₁ - 1))/(γ₁ + 1)

Basis

A detonation is not a single discontinuity. It is a leading shock followed by a reaction zone, and the gas reaches its peak pressure not at the end state but immediately behind that shock, before any heat has been released. That peak is the von Neumann state, and computing it requires nothing but the ordinary normal-shock relations applied to the unreacted gas.

Derivation

Apply mass, momentum and energy across a discontinuity with no heat addition — which is what the leading shock is, because the gas has not had time to react while crossing it. Eliminating velocity gives the standard normal-shock pressure ratio shown above, and the temperature ratio and downstream Mach number follow from the same three equations. The specific heat ratio used throughout is the unburned one, because the gas crossing the shock is still unburned; using the burned value here is a straightforward error that produces a plausible number.

The reason this state matters is what happens after it. The gas is now hot and compressed, the reaction begins, and as heat is released the state moves along the Rayleigh line — downward in pressure — from the von Neumann point to the Chapman–Jouguet point at the end of the reaction zone. So the pressure inside a detonation is highest at the front and falls through the reaction zone, which is the opposite of what a single-discontinuity picture suggests and is the reason structures exposed to detonations see a short pressure spike well above the CJ pressure.

Assumptions

Takes

SymbolMeaningUnit
P₁Unburned pressureatm
T₁Unburned temperatureK
γ₁Specific heat ratio, unburned—
Ma₁Upstream Mach number—

Gives

SymbolMeaningUnit
pN/p₁Pressure ratio across the leading shock—
TN/T₁Temperature ratio across the leading shock—
MaNMach number immediately behind the shock—
TNTemperature immediately behind the shockK

What must always be true

Settled without asking

Where it stops

How it is solved

Closed form normal-shock relations, evaluated with the unburned specific heat ratio.

Not covered

Reading the result

Read this as the peak, not the end state. The sequence is: the gas crosses the leading shock and reaches the von Neumann pressure; it then reacts, and the pressure falls along the Rayleigh line to the Chapman–Jouguet value. If you are sizing something for a detonation load, the von Neumann pressure is the transient peak and the CJ pressure is what follows it — and a design based on the CJ value alone has underestimated the peak by roughly a factor of two.

The temperature behind the shock is what actually initiates the reaction, which is why it is reported. An ignition delay evaluated at the initial temperature rather than at this one will be wrong by orders of magnitude, because the delay depends exponentially on temperature and this temperature is several times the initial one.

Stated on the screen

The ignition delay has no default value and must be supplied.

Laminar Flames & Limits

A laminar flame is a balance between diffusion carrying heat and radicals forward and chemistry consuming reactants. Every screen in this family is a consequence of that balance being tipped one way or another: by activation energy, by heat loss to a wall, by stretch, by residence time. They share a single structural feature — a large activation energy, which makes the reaction rate change by orders of magnitude over a temperature range in which everything else barely moves. That is what produces thresholds rather than gradual transitions, and it is why so many of these screens report a critical value rather than a curve.

Laminar Flame Speed

MOD-10

Asymptotic solution, and scaling a measured flame speed to other conditions.

S_L ∝ p^((n-2)/2) e^(-T_a/(2T_f))

Basis

A premixed flame propagates because heat conducted forward from the reaction zone raises the unburned gas to a temperature at which it reacts. The speed is therefore set by a balance between thermal diffusion and reaction rate, and the square-root form that comes out of that balance is the reason flame speed scales as the square root of a diffusivity times a reaction rate rather than linearly in either.

Derivation

The large activation energy is what makes the problem tractable. Because the reaction rate depends exponentially on temperature, reaction is confined to a thin layer near the hottest part of the flame while the rest is a purely diffusive preheat zone with negligible reaction. Matching a diffusive solution in the preheat zone to a reactive one in the thin layer gives the eigenvalue of the problem, which is the mass burning flux, and dividing by the unburned density gives the speed.

What emerges is a product of three factors: a diffusivity, a reaction rate evaluated at the flame temperature, and the inverse of the Zeldovich number. The third factor is easy to overlook and is where the asymptotics actually enter — it is the measure of how thin the reaction zone is. Both the exponential and the Zeldovich factor are evaluated at the flame temperature, not at some intermediate temperature; that detail was confirmed character by character against a high-resolution rendering of the source, because an earlier reading had taken a subscript from an integration limit and attached it to the exponent.

The scaling route abandons the asymptotics entirely and keeps only the proportionalities. If the overall reaction is of order n, the reaction rate scales as pressure to the n, the diffusivity as pressure to the minus one, and the square root of their product gives the speed scaling as p to the (n−2)/2. The temperature dependence comes from the exponential alone. Neither route needs the other, and they answer different questions: one computes a speed from kinetics, the other moves a measurement to new conditions.

Assumptions

Takes

SymbolMeaningUnit
Z′Pre-exponential factor, zero-order formkg/(m³·s)
EActivation energyJ/mol
a₀Initial reactant mass concentrationkg/m³
λThermal conductivityW/(m·K)
ρ₀Unburned densitykg/m³
cpSpecific heatJ/(kg·K)
TfFlame temperatureK
T₀Unburned temperatureK
LeLewis number—
S_LMeasured flame speed at the reference conditionm/s
nOverall reaction order—

Gives

SymbolMeaningUnit
S_LFlame speedm/s
f°Mass burning fluxkg/(m²·s)
—Mass flux corrected for the Lewis numberkg/(m²·s)
—Ratio of the scaled speed to the reference—
—Pressure exponent for the speed and for the mass flux—

What must always be true

Choices you have to make

Settled without asking

Where it stops

How it is solved

Closed form on both routes. The exponential and the Zeldovich factor are evaluated at the flame temperature.

Not covered

Reading the result

No default is offered for the pre-exponential factor or for the overall reaction order, and that is deliberate rather than an omission. Any number placed in either field would be read as a property of combustion rather than as a fit to a particular mixture, and the second one has a worse trap: an overall order of exactly two makes the pressure dependence vanish. Offering two as a convenient default would hand a reader a pressure-independent flame speed and no indication that they had been given one.

The mass burning flux, not the speed, is the intrinsic quantity. The speed depends on the unburned density and therefore on pressure and preheat temperature in ways that have nothing to do with the chemistry; the flux does not. When comparing two conditions, or applying the Lewis correction, work with the flux and convert at the end. This is also why the Lewis correction is applied to the flux here rather than to the speed, which is where some presentations put it.

Stated on the screen

The pre-exponential factor and the overall reaction order have no default values: both depend on the mixture.

Flame Scales

MOD-11

Zeldovich and Lewis numbers, preheat and reaction zone thickness, mass burning flux.

Ze = (Eₐ(T_b - Tᵤ))/(R° T_b²), Le = α/D

Basis

A flame has two length scales, not one, and almost every qualitative statement about flame behaviour is really a statement about their ratio. This screen computes both, together with the dimensionless groups that govern how the flame responds to being perturbed.

Derivation

The Zeldovich number measures how sharply the reaction rate responds to temperature near the flame temperature. Expand the exponential about the flame temperature: the leading coefficient of the expansion is the activation energy divided by the gas constant times the flame temperature squared, and multiplying by the temperature rise across the flame non-dimensionalises it. A value of order ten means the reaction rate falls by a factor of e for every tenth of the temperature rise you drop below the flame temperature, which is what confines the reaction to a thin layer.

The preheat thickness follows from the diffusive balance: a scale over which conduction can keep up with convection at the flame speed, which is the thermal diffusivity divided by the speed. The reaction zone is thinner than that by exactly the Zeldovich number, which is the same statement as before read as a length rather than as a sensitivity. For an ordinary hydrocarbon flame this puts the preheat zone at a fraction of a millimetre and the reaction zone at tens of microns.

The Lewis number is the ratio of the two diffusivities, and it decides whether a bulge in the flame front grows or decays: if heat diffuses away faster than reactant diffuses in, a bulge cools and flattens. The expansion ratio is the density ratio across the flame, which drives the hydrodynamic instability that acts in the opposite direction. Both are reported because the competition between them is what determines whether a flame is smooth or cellular.

Assumptions

Takes

SymbolMeaningUnit
EActivation energyJ/mol
T_bBurned gas temperatureK
T_uUnburned gas temperatureK
S_LLaminar flame speedm/s
ρ_uUnburned densitykg/m³
αThermal diffusivitym²/s
DMass diffusivitym²/s

Gives

SymbolMeaningUnit
ZeZeldovich number—
LeLewis number—
ArArrhenius number—
σExpansion ratio—
ℓ_DPreheat zone thicknessmm
ℓ_RReaction zone thicknessμm
f°Mass burning fluxkg/(m²·s)

What must always be true

Settled without asking

Where it stops

How it is solved

Closed form throughout.

Not covered

Reading the result

The Lewis number here is defined as thermal diffusivity over mass diffusivity. The reciprocal convention exists and is used in parts of the literature, and under it every statement about stability reverses: a value of 0.8 becomes 1.25 and a diffusively unstable mixture reads as a stable one. If you are comparing against a published value, check which way that source defines it before concluding anything. This is stated on the screen beside the input for the same reason.

The thicknesses are order-of-magnitude quantities. They are computed from constant properties in a flame where the density changes by a factor of six or seven, so a result of 0.05 mm means tens of microns to a hundred, not fifty microns to two significant figures. Their ratio is more reliable than either value, because the property errors largely cancel.

Flammability Limits

MOD-12

Le Chatelier mixing rule and the Burgess-Wheeler limit temperature law.

(LFL)ₘᵢₓ = [Σᵢ Xᵢ/(LFL)ᵢ]⁻¹

Basis

A flammability limit is the composition at which a flame can no longer propagate away from an ignition source. It is not a thermodynamic property. It is the outcome of a competition between heat release and heat loss in a particular apparatus, and that is why two careful measurements of the same fuel can disagree — they were not measuring quite the same thing.

Derivation

Le Chatelier's rule treats each fuel in a blend as contributing independently, each consuming a fraction of the available flammability in proportion to how close it is to its own limit. Writing that statement and requiring the fractions to sum to one at the mixture limit gives the reciprocal-average form above. The rule has no derivation from first principles — it is an empirical regularity that works well for fuels of similar character and poorly for blends of very different ones.

The Burgess–Wheeler observation is different in kind: across many hydrocarbons the product of the lean limit and the heat of combustion is roughly constant, which says that the limit corresponds to a roughly fixed adiabatic temperature rise. That constant is the second input, and it is where this module ran into trouble worth recording.

The source consulted prints a constant of 920 together with the inputs it was derived from. Those inputs multiply to 960, not 920. The discrepancy is in the source, not in the transcription: 5.0 × 192 = 960 exactly. The relation is used here and the printed constant is not; the field defaults to the value that follows from the printed inputs, and a reader who wants the printed constant can type it.

Assumptions

Takes

SymbolMeaningUnit
(LFL)ALean limit of fuel Avol %
(LFL)BLean limit of fuel Bvol %
XAMole fraction of A among the fuels—
ΔHcHeat of combustionkcal/mol
CBurgess–Wheeler constantkcal/mol

Gives

SymbolMeaningUnit
(LFL)mixLean limit of the mixturevol %
(LFL)Predicted lean limit from the heat of combustionvol %

What must always be true

Settled without asking

Where it stops

How it is solved

Closed form for both relations.

Not covered

Reading the result

These are measurements wearing the clothes of constants, and the screen carries a permanent, non-dismissible panel saying so. They depend on tube diameter, on ignition energy, on whether the flame propagates upward or downward, and on ambient temperature. A published limit without those conditions attached is incomplete, and comparing two such numbers is comparing two experiments.

Where two sources transcribing the same underlying report disagree — methane's rich limit is printed as 14.9 in one and 15.0 in the other — both are kept rather than averaged. Averaging two transcriptions of one measurement invents a third number that nobody measured, and buries the fact that the disagreement exists. If a decision turns on the difference between 14.9 and 15.0, that decision needs the original report, not this screen.

Stated on the screen

Published limits are measurements, not material constants: two sources disagree on methane by 0.7%.

Thermal Explosion

MOD-13

Semenov criterion, critical temperature rise, and Frank-Kamenetskii critical size.

Tᵢ - T₀ = R°T₀²/E, θ_ig = 1

Basis

Self-heating runs away when the heat a reacting body generates rises faster with temperature than the heat it can lose. Both sides of that comparison are curves, and ignition is the condition that they become tangent rather than crossing — beyond it there is no steady state left to sit in.

Derivation

Semenov's version assumes the interior is at a uniform temperature and loses heat through a surface coefficient. Generation is exponential in temperature; loss is linear. Requiring the two curves to be tangent gives two conditions — equal values and equal slopes — and eliminating between them gives the critical temperature rise above ambient, which turns out to depend only on the ambient temperature and the activation energy. Nothing about the size or the heat of reaction survives into that expression, which is what makes it so compact and so easy to misapply.

Frank-Kamenetskii's version drops the uniform-temperature assumption and solves the conduction equation inside the body with an exponential source. The exponential is approximated by expanding about the surface temperature — justified by the same large activation energy that appears everywhere in this family — which turns the problem into one with a known solution and a critical value of a single dimensionless group. That critical value depends on the shape: a slab, a cylinder and a sphere have values spanning nearly a factor of four, and the characteristic length means the half-thickness for a slab and the radius for the other two.

The two versions answer different questions and both are shown. Semenov says how much self-heating you can tolerate before runaway; Frank-Kamenetskii says how large a body of that material can be at that ambient temperature before it cannot lose heat fast enough.

Assumptions

Takes

SymbolMeaningUnit
T₀Ambient temperatureK
EActivation energyJ/mol
—Vessel geometrysphere, cylinder or slab
QHeat of reactionJ/kg
ρDensitykg/m³
APre-exponential factor1/s
λThermal conductivityW/(m·K)

Gives

SymbolMeaningUnit
ΔTcCritical temperature riseK
TcCritical temperatureK
—Reaction rate at criticality× the ambient rate
—Critical sizemm

What must always be true

Choices you have to make

Settled without asking

Where it stops

How it is solved

Closed form for both criteria.

Not covered

Reading the result

The critical temperature rise is small — of order twenty or thirty kelvin for a typical activation energy at a few hundred kelvin — and that smallness is the whole point. Ignition is not a slow climb to a high temperature: the steady state is lost within that narrow rise, and after it there is no steady state to return to. A body observed to be twenty kelvin above ambient is not comfortably warm; it may be at the edge.

The critical size is a stability boundary, not a safe size. It is computed for a perfectly uniform body at a fixed ambient temperature with no reactant consumption and no convection, and every one of those idealisations moves the real boundary. Use it to understand how the boundary scales — with the square root of conductivity, inversely with the square root of the rate — rather than as a number to design a store to.

Stirred Reactor

MOD-14

The S-curve: ignition and extinction turning points of a well-stirred reactor.

Da(θ) = (θ)/(1-θ) e^(T_a/T_f)

Basis

A perfectly stirred reactor has one temperature and one composition throughout, so its steady states are the roots of a single algebraic balance between heat released by reaction and heat carried away by the through-flow. With a large activation energy that balance has either one root or three, and the transition between those two cases is what produces ignition and extinction as discrete events rather than gradual changes.

Derivation

Write the steady balance in terms of the reaction progress — the fraction of the adiabatic temperature rise actually achieved. Convection removes heat in proportion to that progress; reaction supplies it in proportion to the remaining reactant times an exponential in the reactor temperature, and the reactor temperature is itself a linear function of the progress. Rearranging gives the Damköhler number explicitly as a function of the progress, which is the relation shown above.

That rearrangement is the whole trick, and it is worth being explicit about why. The physically natural question is "given a Damköhler number, what is the temperature" — but posed that way the answer is multi-valued and the turning points are exactly where the curve doubles back, with a vertical tangent. A solver marching in Damköhler number would step straight past them. Posed the other way round, with progress as the independent variable, the relation is single-valued and smooth, and the turning points become ordinary interior extrema of a scalar function — a maximum and a minimum — which are found by scanning.

The S-curve on the screen is that relation plotted with the axes swapped back to the physically natural orientation, which is why it folds.

Assumptions

Takes

SymbolMeaningUnit
T_inInlet temperatureK
T_adAdiabatic temperatureK
EActivation energyJ/mol

Gives

SymbolMeaningUnit
T_ignIgnition temperatureK
Da_ignDamköhler number at ignition—
T_extExtinction temperatureK
Da_extDamköhler number at extinction—

What must always be true

Settled without asking

Where it stops

How it is solved

The relation is evaluated with reaction progress as the independent variable and scanned for its interior maximum and minimum. The turning points are located by that scan rather than by root finding on the folded branch.

Not covered

Reading the result

The Damköhler numbers here span many decades and only their ratio carries meaning. The definition folds the pre-exponential factor into the group, so the absolute value depends on a kinetic constant that was never entered; comparing one of these numbers against a value from another source without checking that both used the same definition will produce nonsense.

With a one-step reaction and a cold inlet the ignition branch sits at an enormous Damköhler number, and that is not an artefact. Such a mixture really is essentially inert at the inlet temperature — a one-step Arrhenius rate at 300 K with a combustion activation energy is vanishingly small, so an absurdly long residence time would be needed to ignite it. Real mixtures ignite far earlier through chain branching, which builds radical pools at temperatures where the one-step rate is still negligible. The model is not wrong; it is answering a question about a mixture that does not chain-branch.

What the screen is genuinely good for is the hysteresis. Once burning, the reactor keeps burning over a range of residence times in which it could never have ignited, and that gap is why a combustor can be stable in operation yet hard to light.

Stated on the screen

Solved with temperature as the independent variable: the turning points have a vertical tangent in the other direction.

Flame Stretch

MOD-15

Markstein length, stretched flame speed, and the stretch rate at extinction.

sᵤ = sᵤ° + Lᵤ κ, (sᵤ/sᵤ°)ₑₓₜ = e^(-1/2)

Basis

A flame front that is curved or sitting in a straining flow has its area changing as it moves, and that changes the balance between the heat it loses sideways and the reactant it receives. Stretch is the rate of fractional area change, and to first order the flame speed responds to it linearly. The constant of proportionality is a length — the Markstein length — and its sign decides whether stretch helps or hinders.

Derivation

Expand the flame's response to a weak perturbation of the front. At leading order nothing changes; at first order in the stretch rate the speed shifts by an amount proportional to the stretch, with a coefficient that has units of length because stretch has units of inverse time. That coefficient combines the flame thickness with the Lewis number and the Zeldovich number, and for a mixture with a Lewis number below one it comes out negative — meaning positive stretch slows the flame.

The extinction condition comes from a different argument. Carrying the expansion further and asking where the response ceases to have a solution gives a critical stretch at which the flame can no longer be sustained, and at that point the speed ratio takes the value e to the minus one half. That number is a pure result of the asymptotics with no fitted content, which is why it is reported as its own row: it is a check on the model rather than an output of the inputs.

The Karlovitz number is the stretch rate non-dimensionalised by the flame's own timescale — thickness over speed. It is the natural measure of whether the perturbation is weak, and the linear response assumed above holds only while it is small.

Assumptions

Takes

SymbolMeaningUnit
s°Unstretched flame speedm/s
LMarkstein lengthm
κStretch rate1/s
δFlame thicknessm

Gives

SymbolMeaningUnit
sStretched flame speedm/s
KaKarlovitz number—
κ_extStretch rate at extinction1/s
—Speed ratio at extinction—

What must always be true

Settled without asking

Where it stops

How it is solved

Closed form.

Not covered

Reading the result

The sign convention is the thing to get right, and it is the easiest thing to get wrong. This app uses the stretch-rate convention with a plus sign, so a negative Markstein length means stretch slows the flame — which is the case for lean hydrogen and for mixtures with a Lewis number below one. Sources using the curvature convention carry the opposite sign for the same physical situation. A Markstein length copied from a paper without checking its convention will produce a flame that speeds up when it should slow down, and nothing in the numbers will look wrong.

The extinction stretch rate should be read as an order of magnitude. It comes from a linear response extrapolated to the point where the linearity has certainly failed, which is a standard and useful thing to do but not a precise one.

Quenching Distance

MOD-20

Quenching distance, minimum ignition energy, and their pressure scaling.

Eₘᵢₙ ∝ d³, U · d ≈ constant, d ∝ 1/p

Basis

A flame propagating down a narrow passage loses heat to the walls. Below a certain passage width the loss exceeds what the reaction can replace and the flame dies. That width is the quenching distance, and the same balance sets the minimum energy a spark must deposit to create a kernel large enough to survive.

Derivation

Compare the heat generated in a slab of burning gas of thickness d against the heat conducted to the two walls bounding it. Generation scales with the volume and with the burning rate; loss scales with the area and with the temperature gradient, which itself scales inversely with d. Setting them equal gives a condition in which the product of burning velocity and distance appears as a group, divided by the thermal diffusivity. That group is a Peclet number, and quenching occurs below a roughly universal critical value of it.

Two consequences follow immediately. First, the product of burning velocity and quenching distance is roughly constant within a family of fuels, because the diffusivity varies little among them — which is why that product is reported as its own row and is worth sanity-checking against the ten-to-twelve range typical of hydrocarbons in air. Second, the quenching distance scales inversely with pressure, because the burning velocity is roughly pressure independent while the diffusivity scales inversely with density.

The minimum ignition energy follows from requiring the spark kernel to be at least the quenching distance across: the energy needed to heat a sphere of that diameter to flame temperature scales as the cube of the diameter. That cube is what makes ignition energy vary over orders of magnitude across fuels whose quenching distances differ by only a factor of three.

Assumptions

Takes

SymbolMeaningUnit
UBurning velocitym/s
dQuenching distance at the reference pressuremm
αThermal diffusivitym²/s
pTarget pressureatm

Gives

SymbolMeaningUnit
U·dVelocity–distance productcm²/s
PeQuenching Peclet number—
dQuenching distance at the target pressuremm
—Equivalent parallel-plate spacingmm

What must always be true

Settled without asking

Where it stops

How it is solved

Closed form. The pressure scaling is applied relative to a reference pressure of one atmosphere.

Not covered

Reading the result

The reference table in this screen deserves a note. It holds independent measurements of quenching distance and minimum ignition energy. The same published report also carries an extrapolated column, and that column is deliberately not offered here as a check — its distances were read off a curve from the ignition energies, so the two columns are not independent of one another. Using one to verify the other would be circular, and the circularity would not be visible in the numbers.

That point generalises. When this screen's cube-law relationship between energy and distance is tested against the independent samples, the spread is real; tested against the extrapolated ones it would look tighter, and the tightness would be an artefact of how the data were produced rather than evidence about the physics. A correlation checked against data derived from the correlation always looks good.

Stated on the screen

Quenching distance depends on the apparatus geometry. It is not a material constant.

In the extrapolated data the distance was read off a curve from the ignition energy: the two columns are not independent.

Non-premixed & Turbulent

When fuel and oxidiser arrive separately, mixing becomes the rate-limiting step and the useful coordinate stops being distance and becomes a conserved scalar. Three of these four screens are consequences of that change of variable; the fourth supplies the transport properties the other three need. The unifying assumption is that all species diffuse at the same rate — which is what makes a single scalar sufficient, and which is also the assumption most likely to be the one that fails.

Mixture Fraction

MOD-16

Mixture fraction, its stoichiometric value, and the Burke-Schumann flame structure.

Zₛₜ = [1 + ν Y_F,1/Y_O_2,2]⁻¹

Basis

If every species diffuses at the same rate, then certain combinations of species mass fractions are neither created nor destroyed by reaction — they are conserved scalars. Normalising one of them so that it is one in the fuel stream and zero in the oxidiser stream gives the mixture fraction, and it turns a problem in many reacting species into a problem in one non-reacting variable.

Derivation

Take the fuel mass fraction and the oxygen mass fraction and form the combination that reaction leaves alone: fuel minus oxygen divided by the stoichiometric mass ratio. Reaction consumes the two in exactly that proportion, so the combination has no source term. Rescaling it to run from zero in the oxidiser stream to one in the fuel stream gives the mixture fraction.

The stoichiometric mixture fraction is then simply the value of that coordinate at which fuel and oxygen would be present in exactly the proportion reaction consumes them. Setting the conserved combination to the value it takes at stoichiometric and solving gives the expression above. For a hydrocarbon burning in air it comes out small — around 0.05 for methane — which is the quantitative statement that a diffusion flame sits close to the oxidiser side of the mixing layer.

The Burke–Schumann limit takes one further step: assume the chemistry is infinitely fast, so fuel and oxidiser cannot coexist anywhere. Reaction is then confined to the surface where the mixture fraction equals its stoichiometric value, and on either side of that surface one of the two reactants is exactly zero while the other varies linearly with the mixture fraction. That is why the two mass fractions this screen reports are piecewise linear, and why one of them is always exactly zero.

Assumptions

Takes

SymbolMeaningUnit
xCarbon atoms—
yHydrogen atoms—
zOxygen atoms—
Y_F,1Fuel mass fraction in the fuel stream—
Y_O,2Oxygen mass fraction in the oxidiser stream—
ZMixture fraction at the point of interest—

Gives

SymbolMeaningUnit
Z_stStoichiometric mixture fraction—
νStoichiometric mass ratiokg O₂/kg fuel
φEquivalence ratio at this mixture fraction—
Y_FFuel mass fraction—
Y_OOxygen mass fraction—

What must always be true

Settled without asking

Where it stops

How it is solved

Closed form.

Not covered

Reading the result

The stoichiometric mixture fraction being small — around 0.05 for a hydrocarbon in air — is the single most useful number here, and it has a physical reading: the flame sheet sits where the mixture is 95% oxidiser by mass. That is why a diffusion flame's luminous region hugs the air side of the mixing layer, and why fuel-side phenomena such as soot formation happen in a region that is nowhere near the flame sheet.

The exactly-zero mass fraction is a property of the limit, not a rounding. If you are comparing against a computation with finite-rate chemistry, both will be small but non-zero near the sheet, and the width of that overlap region is a measure of how far the real flame is from this limit.

Droplet Combustion

MOD-17

Transfer numbers, the square law rate constant, droplet lifetime and flame standoff.

r² = r₀² - K t, K = (2(λ/cₚ))/(ρ_ℓ)ln(1+B)

Basis

A droplet evaporating or burning in a quiescent atmosphere sets up a spherically symmetric field in which the outward flow of vapour and the inward conduction of heat balance at the surface. Solving that balance gives a surface regression rate that depends on the square of the radius, which is the d²-law: the square of the radius falls linearly with time.

Derivation

Write the steady conservation equations in spherical coordinates around the droplet. Mass flux is constant through every spherical shell, which means the velocity falls as the inverse square of radius. Substituting that into the energy equation and integrating from the surface out to infinity gives an expression in which the mass flow rate appears inside a logarithm.

The argument of that logarithm is one plus a dimensionless group — the transfer number — which collects everything about the driving potential for the process. In the evaporation case it is the sensible enthalpy available to heat the vapour, divided by the latent heat needed to make it: a measure of how much surplus heat there is beyond what vaporisation consumes. In the combustion case the numerator gains a term for the heat released by burning the oxidiser that diffuses in, which is much larger, so the transfer number is an order of magnitude greater and the droplet burns far faster than it would merely evaporate.

Differentiating the resulting surface regression rate gives the square law, with the rate constant shown above. The flame standoff ratio follows from asking where the oxidiser arriving from infinity meets the fuel leaving the surface in stoichiometric proportion; it depends on the transfer number and the ambient oxidiser fraction alone.

Assumptions

Takes

SymbolMeaningUnit
—Modeevaporation or combustion
T∞Ambient temperatureK
TsDroplet surface temperatureK
cpGas-phase specific heatJ/(kg·K)
qvLatent heat of vaporisationJ/kg
qcHeat of combustionJ/kg
Y_O∞Ambient oxidiser mass fraction—
νStoichiometric oxidiser requirementkg/kg
λGas-phase thermal conductivityW/(m·K)
ρℓLiquid densitykg/m³
r₀Initial droplet radiusμm

Gives

SymbolMeaningUnit
BTransfer number—
KRate constant on radius squaredcm²/s
KRate constant on diameter squaredcm²/s
τDroplet lifetimems
—Flame standoff ratio—

What must always be true

Choices you have to make

Settled without asking

Where it stops

How it is solved

Closed form d²-law with the heat-transfer form of the transfer number.

Not covered

Reading the result

Two numbers here are routinely misread. The first is the rate constant: this screen defines it on the radius squared, and most published constants are defined on the diameter squared and are therefore four times larger. Both are shown for exactly that reason. A lifetime computed with a diameter-based constant and a radius-based initial size is wrong by a factor of four and looks entirely plausible.

The second is the flame standoff ratio. The reaction-sheet prediction puts the flame at ten or more droplet radii; measurements put it far closer, typically a few radii. The discrepancy is not an error in the arithmetic — it is the reaction-sheet assumption failing, together with the constant-property assumption and, in most experiments, buoyant convection. Read the predicted standoff as an upper bound and an indication of which way the assumptions err, not as a measurement to be checked against.

The surface temperature being fixed at the boiling point is what makes the mass-transfer form of the transfer number diverge, which is why the heat-transfer form is the one reported. This is stated on the screen rather than left for a reader to discover by comparing against a source that uses the other form.

Stated on the screen

The surface temperature is taken as the boiling point. The mass-transfer form of B diverges under that simplification.

The rate constant here is defined on the radius squared: the diameter-based constant is four times larger.

Turbulent Regimes

MOD-18

Where a turbulent flame falls on the regime diagram, and the four boundaries.

Re = Da² Ka², Ka_δ = δ² Ka

Basis

Turbulence supplies a range of eddy sizes and turnover times; a flame supplies one thickness and one time. Which regime a turbulent flame is in is decided by how those two sets of scales overlap, and the regime diagram is a map of that comparison in two dimensionless coordinates.

Derivation

The turbulent Reynolds number compares the largest eddy to the flame's own diffusive scale. The Damköhler number compares the largest eddy's turnover time to the flame time. The Karlovitz number compares the flame time to the *smallest* eddy's turnover time — the Kolmogorov time — and it is the one that matters most, because the smallest eddies are the ones that can penetrate the flame structure.

The three are not independent: assuming a Kolmogorov cascade fixes the relation between the small scales and the large ones, and the identity Re = Da²Ka² follows. Only two of the three carry information, which is why the diagram is two-dimensional.

The boundaries are then statements about where these groups cross one. At unit Karlovitz number the Kolmogorov eddies are the size of the flame thickness, and below that no eddy can enter the flame — the flamelet regime, where the turbulent flame is a wrinkled laminar one. The second boundary uses the inner layer thickness rather than the whole flame thickness: eddies can stir the preheat zone long before they can disturb the much thinner reaction layer, so the reaction zone survives well past unit Karlovitz number. That second boundary is at a Karlovitz number of one over the square of the inner layer fraction, which puts it two orders of magnitude higher for a typical value.

The Gibson scale is the eddy size whose turnover velocity equals the flame speed — the smallest eddy that can still wrinkle the front rather than being outrun by it.

Assumptions

Takes

SymbolMeaningUnit
s_LLaminar flame speedm/s
DMass diffusivitym²/s
v′Turbulence intensitym/s
ℓIntegral length scalem
δInner layer fraction—

Gives

SymbolMeaningUnit
ReTurbulent Reynolds number—
DaDamköhler number—
KaKarlovitz number—
Ka_δInner layer Karlovitz number—
ℓ_FLaminar flame thicknessmm
ℓ_GGibson scalemm
—Karlovitz number at the broken-zone boundary—
—Regime—

What must always be true

Choices you have to make

Settled without asking

Where it stops

How it is solved

Closed form. The regime follows from comparing the computed groups against the boundaries.

Not covered

Reading the result

Read the position, not the label. The boundaries are order-of-magnitude divisions drawn on a log-log plot, and a point a factor of two from one of them is not reliably on either side. What the diagram is genuinely good for is showing how far a condition is from a boundary and which way it moves when you change something — raise the turbulence intensity and watch the point climb toward the broken zone; raise the pressure, which thins the flame, and watch it fall back.

The inner layer fraction deserves attention before you trust the broken-zone boundary. It enters as the inverse square, so a factor of two in it is a factor of four in the boundary. The default is a methane–air estimate and nothing more; for another fuel it is a guess.

Stated on the screen

The inner layer fraction defaults to a methane-air estimate. It is editable because it moves a regime boundary.

Transport Properties

MOD-19

Viscosity and thermal conductivity from the official fits, plus the kinetic-theory route.

ln X = A ln T + B/T + C/T² + D

Basis

Transport properties of a dilute gas follow from kinetic theory, but the collision integrals that theory requires are themselves fitted quantities. Rather than reconstruct them, this screen evaluates the fitted curves published alongside the thermodynamic data — the same source, the same provenance, and no additional assumptions beyond the fit itself.

Derivation

The fit is in the logarithm: the logarithm of the property is a linear combination of the logarithm of temperature, its reciprocal, its reciprocal squared, and a constant. Four coefficients per interval, several intervals per species, chosen so that the form is smooth and well behaved over a wide temperature range.

Evaluation is therefore a lookup of the interval containing the requested temperature followed by an arithmetic evaluation and an exponentiation. The only subtleties are at the boundaries: the file stores viscosity in micropoise and conductivity in microwatts per centimetre-kelvin, both of which are converted to SI here rather than passed through, and it writes exponents with a space where a sign would ordinarily be.

The derived quantities — Prandtl number, thermal diffusivity, kinematic viscosity — combine the fitted properties with the specific heat and density that you supply. That combination is the point worth being careful about: two of the four inputs to those results are not table values at all.

Assumptions

Takes

SymbolMeaningUnit
—Species name—
TTemperatureK
cpSpecific heatJ/(kg·K)
ρDensitykg/m³

Gives

SymbolMeaningUnit
ηDynamic viscosityPa·s
λThermal conductivityW/(m·K)
PrPrandtl number—
αThermal diffusivitym²/s
νKinematic viscositym²/s

What must always be true

Settled without asking

Where it stops

How it is solved

The fitted logarithmic form is evaluated in whichever interval contains the temperature, and the result is converted from the file's units to SI.

Not covered

Reading the result

The transport file mixes two kinds of record, and this is worth knowing even if you never hit it. Of its 107 records, 41 are binary interaction pairs rather than pure species. Treating a pair as the pure property of its first named member returns a number that is quietly wrong — the right shape, the right magnitude, the wrong quantity. The two kinds are indexed separately here so that a lookup can only ever return a pure species. Before that separation existed the code happened to give correct answers, but only because the pure species happen to precede their pairs in the file; that was luck, not design.

The Prandtl number, thermal diffusivity and kinematic viscosity are derived using the specific heat and density **you** supplied, not values from the file. They are therefore no better than those two inputs. If you have entered a specific heat for a different temperature than the one you asked for, the viscosity and conductivity will be right and the three derived quantities will not, and nothing on the screen can detect that.

Stated on the screen

The kinetic-theory route needs a collision integral, which has no default value in this app.