-
Notifications
You must be signed in to change notification settings - Fork 670
Description
Discussed in #16071
Originally posted by ghaffari-eng March 18, 2026
Summary
Extended the existing EMBER_IGNITION_MODEL to support heat transfer from landed embers to solid surfaces and added an alternative logistic regression ignition model. All changes are backward compatible — defaults produce identical results to the current code.
Branch with changes: https://github.com/ghaffari-eng/fds/tree/ember-ignition
Diff: master...ghaffari-eng:fds:ember-ignition
What changed
5 source files modified: type.f90, read.f90, part.f90, wall.f90, func.f90
- Ember-to-surface heat transfer: When a landed ember has
EMBER_HEAT_TRANSFER=.TRUE.on the receivingSURF, it deposits a heat flux (radiative + convective) onto the wall cell based on ember temperature and contact area. This feeds intoQ_NET_FinSOLID_HEAT_TRANSFER, so the existing 1D heat conduction solver andTMP_IGNignition check handle the rest. Multiple embers on the same cell accumulate. - Logistic ignition model:
EMBER_IGNITION_TYPE=1replaces the power-based normal CDF with a logistic regression that accounts for fuel moisture content, wind speed, ember mass, and ember temperature. Coefficients are user-configurable. The original model is untouched atEMBER_IGNITION_TYPE=0 (default). - Heat-transfer-based ignition:
EMBER_IGNITION_TYPE=2skips the probabilistic check entirely — ignition is determined by the solid phase solver when surface temperature reaches TMP_IGN from the deposited ember heat flux.
New SURF parameters
Parameter | Default| Description
EMBER_HEAT_TRANSFER |.FALSE.| Enable ember heat flux to surface
EMBER_CONTACT_FRACTION | 0.5 | Fraction of ember area in contact
EMBER_CONTACT_HTC | 25.0 | Contact HTC (W/m2/K)
EMBER_EMISSIVITY | 0.9 | Ember emissivity
EMBER_IGNITION_TYPE | 0 | 0=current CDF, 1=logistic, 2=HT-based
EMBER_IGNITION_FMC | 10.0 | Fuel moisture content (%)
EMBER_IGNITION_COEFFS(5) | 9.98 | Logistic regression coefficients
Test results
Two verification cases in Verification/WUI/ — a 700°C ember dropped onto a wood surface:
Case EMBER_HEAT_TRANSFER Max floor temp (°C)
ember_ignition_ht .TRUE. 35.76
ember_ignition_ht_off .FALSE. (default) 31.47
Looking for feedback on the approach, particularly whether adding Q_EMBER to QDXKF in the implicit solver is the right integration point, and whether this aligns with the intended direction for ember physics.