Chemistry · function

surfaceFuelFraction

The fuel fraction at the surface, which is not the fuel fraction in the room.

Explained in Chemistry.

function surfaceFuelFraction(fuelFlux: number, totalFlux: number, gasSpeed: number): number
import { surfaceFuelFraction } from '@driftengine/chemistry';

Parameters

ParameterTypeDescription
fuelFluxnumber
totalFluxnumber
gasSpeednumber

In depth

A flame sits in a boundary layer a few millimetres thick, and a cell in this model is a cubic metre. Reading a cell average and calling it the mixture over a surface is a resolution error, and it is one this phase made and measured: a log at 1,063 K pouring off nearly a kilogram per square metre per second registered 1.7% combustible gas in the cell around it and never caught, because the flame was being asked to burn the room rather than the boundary layer.

What is right is the fuel's share of everything leaving the surface plus everything sweeping past:

C ≈ ṁ_fuel / (ṁ_total + v·ρ)

so a strong flux is rich, a weak one is lean, and a wind thins it — the same mechanism that blows a flame off, arriving here too and for the same reason.

The two fluxes are separate, and that is what a green log turns on. §21: steam leaving a wet surface dilutes the gas above it, so even once volatiles appear the mixture is below its lower limit. With one flux standing in for both, water vapour counted as fuel and a log at 60% moisture caught in front of a campfire — which it does not, and which this test said before this line existed.