Now, compute the solution to the 2D heat equation on a circular disk in Matlab. Recall that the heat equation is given by:
ut = α^2*∇^2*u.
For this problem, we will solve the heat equation using a finite difference scheme on a Cartesian grid, as in class. We will use a grid of 300×300 with the circular disk in the center. The radius of the circle is r = 1, α = 1, and the domain is [−1.5, 1.5] in x and [−1.5, 1.5] in y.
You can impose the boundary conditions by enforcing the temperature at points that are outside of the disk at the beginning of each new time-step. It should be easy to find points that are outside the disk, because they satisfy x 2 + y 2 > 1.
Simulate the unsteady heat equation for the following boundary conditions:
• The left half of the boundary of the disk is fixed at a temperature of u = 1 and the right half of the boundary is fixed at u = 2. Try simulating this with zero initial conditions first. Next, try initial conditions inside the disk where the top half is u = −1 and the bottom half is u = 1.
• The temperature at the boundary of the disk is fixed at u(θ) = cos(θ).
Include your Matlab code and show some plots of your solutions to the heat equation. Plot the temperature distribution for each case 1) early on in the diffusion process, 2) near steady state, and 3) somewhere in the middle.
Leave a comment