Chemistry · interface

IgnitionModel

Ignition is a criterion, not a flag — and extinction is four of them.

Explained in Chemistry.

interface IgnitionModel
import type { IgnitionModel } from '@driftengine/chemistry';

In depth

There is no ignite() that sets a boolean and starts a fire, and §11 is the argument. Ignition is what happens when the conditions for it are met, and there are five because there are five real ones. ignite supplies a pilot for one tick; holding a match to wet wood does exactly nothing, which is correct and is the API telling the truth about what a match is.

The mass flux is the real criterion and the temperature is the cheap proxy. Ignition happens when enough fuel is coming off the surface to make a flammable mixture above it; the surface temperature is a correlate of that rather than a cause. Both are kept, because the temperature is what a consumer reads in an interface — this is getting hot — and the flux is what decides.

Properties

NameTypeDescription
pilotedSurfaceKreadonlynumberK at which a surface will catch given a pilot. Wood: 623.
autoSurfaceKreadonlynumberK at which it catches with no pilot at all. Wood: 773, and the gap is why a spark matters.
criticalMassFluxreadonlynumberkg/(m²·s) of volatiles leaving the surface. Wood: about 0.0035, or 3.5 g/m²·s.
limitingOxygenreadonlyoptionalnumberVolume fraction below which a flame cannot be sustained. About 0.14 for most solids.
smoulderingOxygenreadonlyoptionalnumberAnd below which even a smoulder cannot. Far lower — about 0.05 — which is why smothering leaves embers.
lowerFlammablereadonlyoptionalnumberVolume fractions between which this material's volatiles carry a flame.
upperFlammablereadonlyoptionalnumber