Homework assignments will involve computing. You can do all
assignments using MATLAB easily, but I encourage you to use a
compiled language (C++, Fortran) or Python also to prepare
yourself for the final project.
Submit assigments via email as a tar or zip archive (if there are multiple files) or simple attachment. Submit a PDF file with a brief writeup of your solution, including any figures with results. Do not cut and paste code in the PDF, attach the script or source code directly. Make sure to name your files sensibly so I can unpack all of your homeworks without overwriting previous files.
1. (Due Feb 10th) Advection-Diffusion Equations
2. (Due Feb 17th) Boundary Conditions
3. (Due March 3rd) Implicit Temporal Integrators
3+. (Due March 13th) Addendum to HW3
Redo problem 3 in the previous homework Implicit Temporal
Integrators but this time use
periodic boundaries and FFTs to solve the linear system. Use
the same type of discretization you used before, just change
the linear solver (you should get the same result as
4. (Due April 5th) Pseudospectral Solver for
Final ProjectsFor the final projects, you have some freedom in selecting what you want to do. This would preferably be related to the subject of your Ph.D. research and be something you are interested in. The goal is to do something more "real-world" than the homeworks. In particular, the hope is that you will develop a larger-scale (2D or even better 3D) code in a programming language other than MATLAB. It would be even better if you learn how to parallelize your code (I can help with this also), either using more traditional approaches like MPI or OpenMP, or emerging platforms such as GPUs. However, it is OK to use MATLAB if your focus is more on numerical analysis and less on computing.
Here are some possible projects that I am familiar with and could help you with. But please feel free to suggest your own: