A Fire Spread Model: The Contagion Effect

This Demonstration shows the contagion effect inherent in a spreading fire. The focus is not so much on the complex movement of the fire as on its spread, given an individual tree's wetness percentage. The power of rule-based recursion and injected randomness are used to achieve the contagion effect. Red cells are burning and tan cells are completely burned (with the rainbow color scheme); the total burn area is the sum of the red and tan cells. The network view, accessed by checking "quantify spread", shows a causal relationship in time and 2D space of the burning trees; it is further utilized to quantify the matrix plot simulation of the fire's spread.


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


The computation is performed by a search-update-feedback cellular automaton (SCA). The rule implemented simply requires that a tree be set ablaze if a single neighboring tree is burning; the burn neighborhood consists of nine trees, including the current tree location.
The control "trigger | pause" triggers the SCA and maintains an expanding fire. Toggle the "reset" control to restart at a new initial burn location (pause and toggle to "walk" to a new initial burn location) or check this control to change the tree grid size; uncheck to restart the burn with the new grid size setting. Slide the "wet %" control at any time to simulate tree wetness.
Pause and check the "quantify spread" control to switch between the matrix plot simulation of the fire spread and a network quantification of this simulation. Color information is synchronized between these two views; pause to change the color setting.
With "quantify spread" checked, check the "directed edges" control to follow the information flow throughout the tree grid as the fire spreads (use "directed edges" with any of the network embedding methods; with both "quantify spread" and "directed edges" checked, choose a convenient arrowhead size via the "arrowhead" control (notice that the linear embedding of snapshot three has "directed edges" unchecked; linear embedding is revealing with both settings of the "directed edges" control). Edge colors are determined by the burn datum of the vertex a given arrow points to; vertex formats are shown below.
Use the control "edges and vertices" or "vertices only" to get vertex information (please note that "vertices only" has precedence)—pause and mouseover a vertex of interest to locate it in the tree grid. Vertices have this format: {{vertex address}, burn data}, where a given burn datum relates the state of an associated tree as follows:
0—entirely unburned tree (rainbow "color" green),
2—completely burned tree (rainbow "color" tan),
3–burning tree ((rb "color" red).
Please see section 3 of the code for more details concerning the controls.
In abbreviated fashion the comment associated with the function "causalnet" in section 1B of the code endeavors to explain some of the network coding.
[1] Wikipedia, "Negative Feedback." (Mar 8, 2013) en.wikipedia.org/wiki/Negative_feedback.
[2] Wikipedia, "Positive Feedback." (Mar 8, 2013)en.wikipedia.org/wiki/Positive_feedback.
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.

Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-Step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2018 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+