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 receiving SURF, it deposits a heat flux (radiative + convective) onto the wall cell based on ember temperature and contact area. This feeds into Q_NET_F in SOLID_HEAT_TRANSFER, so the existing 1D heat conduction solver and TMP_IGN ignition check handle the rest. Multiple embers on the same cell accumulate.
- Logistic ignition model:
EMBER_IGNITION_TYPE=1 replaces 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 at EMBER_IGNITION_TYPE=0 (default).
- Heat-transfer-based ignition:
EMBER_IGNITION_TYPE=2 skips 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.
Discussed in #16071
Originally posted by ghaffari-eng March 18, 2026
Summary
Extended the existing
EMBER_IGNITION_MODELto 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_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.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).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
SURFparametersParameter | 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_EMBERtoQDXKFin the implicit solver is the right integration point, and whether this aligns with the intended direction for ember physics.