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

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

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.


Contributed by: Michael Dewus (October 2013)
Open content licensed under CC BY-NC-SA



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.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.