It will simulate the diffusion of heat through a square metal plate. The plate starts off at 0 deg., but the 4 ×4 pixel square in the center is kept at 100 deg. Now a cell in the interior has 4 neighbors: the upper, lower, left, and right neighbor. The update formula for an interior point (other than the center square) is therefore given by:
It will simulate the diffusion of heat
through a square metal plate. The plate starts off at 0 deg., but the 4 ×4 pixel square in the center
is kept at 100 deg.
Now a cell in the interior has 4 neighbors: the upper, lower, left, and right neighbor. The update
formula for an interior point (other than the center square) is therefore given by:
u′i,j = ui,j + k((ui,j+1 −ui,j ) + (ui,j−1 −ui,j ) + (ui−1,j −ui,j ) + (ui+1,j −ui,j ))
= ui,j + k(ui,j+1 + ui,j−1 + ui−1,j + ui+1,j −4ui,j )
The boundaries have to be updated separately using 8 different equations: 4 for each of the edges,
and 4 for each corner. Here is the update formula for a cell on the top edge that is not on a corner:
u′i,n−1 = ui,n−1 + k((ui,n−2 −ui,n−1) + (ui−1,n−1 −ui,n−1) + (ui+1,n−1 −ui,n−1))
= ui,n−1 + k(ui,n−2 + ui−1,n−1 + ui+1,n−1 −3ui,n−1)
Here is the update formula for a cell in the top left corner:
u′0,n−1 = u0,n−1 + k((u0,n−2 −u0,n−1) + (u1,n−1 −u0,n−1))
= u0,n−1 + k(u0,n−2 + u1,n−1 −2u0,n−1)
Program:
Step by step
Solved in 2 steps