2D Heat Diffusion Using a Search-Update-Feedback Cellular Automaton (SCA) Approach

This Demonstration shows heat diffusing in the plane starting from an initially heated cell cluster centered in an otherwise cool 2D slice of material. The code restarts using the same initial conditions when the diffusion of heat is such that the temperature across the plane is largely uniform (the initially cool cells rise on average to some value and the initially heated cells fall on average to the same value ).
The diffusion grid's cooler cells are assigned a startup temperature value of (arbitrary units); shown against this background of cool cells is a cluster of cells assigned a startup temperature value of . The plot label numerically monitors the redistribution of heat with time as relative averages of the initially heated and cool cells, while the plot shows this redistribution unfolding by way of color change (all temperatures reflect normalization of the startup background and heated areas). Also shown at the far right is the temperature of a single test cell located exactly in the middle of the heated cell cluster.
The purpose of the Demonstration is to assess the possible utility of information feedback in the general diffusion problem setting. To make this assessment, material properties and problem geometry were kept simple with a view to studying just the basic feedback mechanics and how or if they lend themselves to solving this sort of problem. Problem geometry and material properties can readily be made much more complex by conditioning the startup grid—the predictive element of the feedback approach would be realized through such conditioning experiments.
This Demonstration is a modification of "A Fire Spread Model: The Contagion Effect" Demonstration, with focus here on the behavior of 2D diffusion in the information feedback setting. A continuous rather than a strictly discrete cellular automaton (CA) is employed—specifically, the CA is an SCA (search-update-feedback cellular automaton) as before, but modified to accommodate diffusion. Time is tangibly qualified by the recursion inherent in the 2D spatial information feedback (shown in the simulation mode [matrix plot] only). In terms of conventional partial differential equation thinking, this component of the problem (time) is thus naturally "built into" the SCA solution to the problem.


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


The control "trigger | pause" triggers the SCA; toggle the "reset" control to restart with a new heat source, or check this control to change the diffusion grid size; uncheck "reset" to restart the diffusion.
Check the "quantify diffusion" control at any time to switch between the matrix plot simulation of the diffusion and a network quantification of this simulation; the quantification is exhaustive on a per cell basis. Color information is synchronized between these two views; change the color setting at any time.
With "quantify diffusion" checked, check the "directed edges" control to follow the information flow throughout the diffusion grid as the heat dissipates (use the "directed edges" control with any of the network embedding methods; linear embedding is informative with both settings of this control). Edge colors are determined by the 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 diffusion grid. Vertices have this format: {{cell row, cell column}, cell temperature}, where temperature is the vehicle that carries along dissipative heat information.
You can find in section 3 of the code more details concerning the controls.
[1] G. Strang, Computational Science and Engineering, Wellesley, MA: Wellesley-Cambridge Press, 2007.
[2] Wikipedia. "Heat Equation." (Sep 4, 2013) en.wikipedia.org/wiki/Heat_equation.
[3] Wikipedia. "Negative Feedback." (Mar 8, 2013) en.wikipedia.org/wiki/Negative_feedback.
[4] 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+