Numerical Simulation of Diffusion

Work performed with Shankar Subramaniam. This work was made possible by support of the Air Force Office of Scientific Research.

This is a recent and ongoing investigation. The objective is to deal with computational points that are spread around in an irregular fashion.


Numerical computations of flows of fluids and gasses try to compute approximate values for the velocity of the fluid or gas at selected points. If these computational points are very closely spaced, the computed values will approximate the true values well. The difficulty is that often the computational points are spread around in a very complex way.

Computational fluid dynamics has developed many procedures to try to maintain some order in this chaos. But Shankar and I have taken another approach: if you cannot beat them, join them. We have developed a method that can actually produce accurate computations regardless how the points are spread about. The idea is to modify the computation of each point based on what other points are available nearby.

A simple computation that showed that our method really works had computational points as follows:

The four graphs represent different times: initially there are just two computational points, but our method is smart enough to figure out that it needs to add more points as time progresses. For this simple example flow, we knew what the solution had to be, so we could verify that our method gave the right results.

To make things really challenging, we swirled the computational points around the initial two points with a very high speed. This mixes up the points greatly:

Although there is no longer an exact solution to compare with, enough information is available to verify that our method was unaffected by the messy point distribution.

Now for a comparison with the competition! There was already another method that could handle arbitrary point distributions. It is called the `random walk method' and it was devised by Alexandre Joel Chorin of the University of California at Berkeley. The idea of the random walk method is to move the computational points around in a random way, in order to simulate the effects due to the random motion of the molecules. This method is simple to use and it works, but it is not very accurate. If we would have as many computational points as actual molecules there would not be any difficulty, but we will not be able to handle that many points for a very long time, if ever! For the usual amount of points, the new method is more accurate.

Here are some pictures of the flow about a wire that experiences a gust of wind coming from the left. Grey tones show how the fluid at that position is swirling about; medium grey is no swirl. These results were obtained using the random walk method:
Click on any picture for a larger version.

Now for the new method:
We put our results in color to make them look even better.

Note that at the final time, there are clear differences between the old and new results. We know, from the fact that the solution must be symmetric around the horizontal center line and from other experimental and numerical results that the new solution is accurate. For example, the accuracy is determined by the numerical time step dt used in the computation. Click here (56k) to see the effect of the time step on accuracy.

The new method seems to have great promise, and Shankar and I are busy applying it to more complicated flows.


Van Dommelen, L. L. & Shankar, S. (1995) Two Counter-Rotating Diffusing Vortices. Physics of Fluids 7 808-819.

Shankar, S. & Van Dommelen, L. L., (1996) A New Diffusion Procedure for Vortex Methods. Journal of Computational Physics


Return to my home page.
Comments: dommelen@eng.famu.fsu.edu