Simulating Heat Flow in Parallel
CS 441 Lecture, Dr. Lawlor
Theoretically, we're solving Laplace's Equation (a special case of the Poisson Problem). In practice, we're just doing repeated neighborhood averaging:
new temperature (x,y) = 0.25 *
(temperature(x-1,y) + temperature(x+1,y) + temperature(x,y-1) +
temperature(x,y+1));
Typically boundary elements, which have no neighbor on one side, are computed in a totally different way, such as:
- Imposing a fixed value, like an inside or outside temperature
- Copying over a value from the interior, making an insulating boundary
This is a naturally parallel problem, but it requires communication along the boundaries between processors every step.