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
Consider the heat equation:
| ut = uxx, | (x,t) in (0,1)x(0,tF), |
| u(0,t) = u(1,t) = 0, | |
| u0(x) = sin(x pi). |
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.
(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.
From the text, do problems 2.11 and 2.12.
Cheers,
Craig C. Douglas