your Math 615 project

Ed Bueler, Spring 2012

Overview:  My goal is for you to get practical experience in numerical analysis of continuum problems by working on a project of direct interest to you.  Both mathematical analysis and actual numerical computation will be required on your project.  See the subject suggestions below.  (For those of you who are graduate students, obvious advice is to pick a project in consultation with your advisor.)  You will submit a short Version 1.0 on Friday 4/6 at class time; and a final  Version 2.0 on Wednesday 5/9 at 5pm.

Suggestions on content and requirements on length and format follow.

Furthermore, a presentation of the project is required.  The presentation can be either oral (10 minutes) or on a poster.  These presentations are important to the class, as the class will act as consultants to the presenter.  We will construct a schedule for this, probably in the second-to-last regular week of class.

Subjects for your project:  You should pick a continuum mathematical model like

  1. a (single or small system of) partial differential equation(s), or
  2. a (single or small system of) delay (ordinary) differential equation(s), or
  3. a single stochastic (ordinary) differential equation.

These are the only allowed possibilities.  On the version 1.0 submission, identify which one of these [1,2,3] it is!

Most ordinary differential equation problems lead to numerical analysis rather unlike the content of the course, and thus are not allowed. 

You will do a numerical analysis of a particular problem for your model.  Your particular problem, namely the question you are trying to answer by numerical analysis, could be

  1. an initial (and usually also a boundary value problem), or
  2. a boundary value problem, or
  3. a stability or "eigen" analysis (i.e. finding the modes of a system), or
  4. an inverse problem.
Again, on the version 1.0 submission, you must identify which one of these [a,b,c,d] you are doing!  In rare cases your problem may be in a fifth category and you will want to clearly identify that, but talk to me in advance.

Subject suggestions:  These suggestions appear alphabetically, thus in no particular order.  They are all basically in categories 1a,1b,1c in the above taxonomy.  Other possibilities are allowed.  There is varying intrinsic difficulty to the standard instances of these suggested problems.  I know enough about each of these to be able to advise on how much to include to avoid becoming bogged down.  Also I know enough to be able to "weight for difficulty" at the time of grading.  For version 1.0 you must give several references.  Please google the suggestion below if you find it interesting!  Look for a wikipedia page for sure.  If "see me" appears then I have in mind at least one particular reference you could use; I may be able to deliver that by email.
Other links:

Content of your project:  For your chosen scheme or schemes applied to your chosen continuum mathematical model, you will do a numerical analysis, in addition to a computed example. In particular, three things are required:
  1. numerical analysis
  2. practical computation
  3. discussion of scientific/engineering meaning (including conclusions about the role/meaning of your particular computation)
Note the first part: You must make some attempt to understand and explain the efficiency, stability, and accuracy of your numerical scheme(s).  In particular, for each of these actions you must ask whether it is possible and meaningful to do so, and if so you should do it:
  1. compute truncation error
  2. do stability analysis
  3. prove convergence [rarely possible]
  4. assess the computational cost of the algorithm
  5. verify using an exact solution.
On the other hand, I do not expect you to derive the equations of the continuum model.  That is a subject for other courses.  Do briefly explain the physical/engineering/etc. context.  Instead, carefully state the equations of the model, giving precise references as to a source of the derivation.  Explain the symbols you use; you must explain symbols that are not already used in Morton&Mayers as you use them.

You should state the type of the problem (i.e. "... an initial/boundary problem for a nonlinear evolution equation of parabolic type..." or "... an inverse problem for a linear, elliptic boundary value problem..." or "... an initial value problem for a delay differential equation ...") as precisely as possible.

I strongly recommend that you do the practical computation in MOP.  I do not expect you to produce a production quality code.  Rather, your goal should be a functional and readable prototype.  (Build something you can build upon!)  Please use MOP's built-in numerical linear algebra, and don't write your own.  You don't need to use MOP tricks, but you may find that learning to vectorize and avoid loops will help you understand.

You may look for methods other than finite differences for your practical computation, for instance finite volume, finite element, or spectral methods.  But, because these methods differ both in implementation and analysis from what is addressed in class, working with them will be intrinsically harder because the required numerical analysis will be harder.

In what follows I state what you will turn in at various stages, but some of the work is mine, too.  I will be giving you feedback on version 1.0, but please come and talk talk to me about your project at any stage.

Length and format of project version 1.0 (due Friday 4/9):  The point here is to do a little bit of everything that will go into the final product.  Version 1.0 should be a useful skeleton on which to build Version 2.0.  It needs to be readable but it need not be polished.

The length should be between 5 and 10 pages total.  Please include the following 7 section headings:

  1. Introduction (including scientific/engineering context and sketch/gloss of the numerical analysis you do)
  2. Continuum Model and Problem (here should go the PDE itself, etc, and clear specification of the particular problem including boundary conditions and parameters; give meaning of symbols; include a not-completely-trivial exact solution if you can here or in an appendix)
  3. Numerical Scheme (state the method, discuss the reasons for this choice, discuss implementability and efficiency; small excerpts of the code may go here)
  4. Analysis (truncation error, stability, convergence, cost of algorithm, verification results)
  5. Results or Conclusion
  6. References  (at least three; quality matters)
  7. Appendix/Appendices (put the actual codes here, tangential analysis or computation, failed attempts if significant)
The Results/Conclusion part should be quite short, and may be empty, in version 1.0 because you are likely not able to draw definitive conclusions yet.  I recommend an electronic form so that version 1.0 can be modified into version 2.0 most easily.

Length and format of project version 2.0 (due Wednesday 5/9):  Fill out the version 1.0 skeleton, of course.  You will undoubtedly need to alter your earlier plans, so don't worry if version 2.0 has different computational or analytical details than version 1.0.  Version 2.0 is final, so I encourage you to make it a little bit clean-and-neat.  Please use ordinary 8.5 by 11 paper and staple it in the upper left corner.  Please do not put it in a folder, etc.; I will have a stack of these things to grade and I don't need yours to take up extra space.  The length should be between 15 and 30 pages total and should include the same sections as described for Version 1.0.  Please make it double-sided if possible.