MA 625: Assignment 1

One of you will get the opportunity to explain to the class what your results are for Part I in class on Thursday, February 5. A random drawing will occur. The actual assignment is due Thursday, February 12 in class.

Please e-mail your Matlab script(s) to

before class. Please bring to class the pencil and paper part and the code part.

Part I

Consider the heat equation:

The solution is smooth at the corners, hence the convergence analysis in the lectures and the text applies to this problem.

Code the Forward Euler scheme in Matlab. Let the number of points in the x direction equal 101 and 4001 (thus mesh spacings in x of 1/100 and 1/4000). Choose a ratio of the spacing in t to the square of the spacing in x to be .25, .5, and .5001. Run the procedure for 50 time steps. Report the error, the operation count (Matlab's flop variable will do), and make some conclusions (this is a graduate level course after all).

If you are the victum, er, lucky person, chosen for a presentation, you may do so orally, on the white boards, or using the overhead projector. Questions from your audience will be entertained. BYOT.

Part II

(a) Modify the initial condition to be u0(x)=1. The solution is discontinuous at the corners, hence the convergence analysis in the lectures and the text does not apply to this problem. Redo Part I. Report the error, the operation count (Matlab's flop variable will do), and make some conclusions. You can be assured that one of you will make another report. As before, BYOT.

(b) Solve the problem in Part I using Backward Euler, Crank-Nicolson, and the special theta case. Make certain that you use the sparse declaration for your matrix in Matlab. Report the error, the operation count (Matlab's flop variable will do), and make some conclusions.

Part I's victim will not be elgible for the second presentation.

Part III

From the text, do problems 2.11 and 2.12.

Cheers,
Craig C. Douglas