your Math 615
project
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
- a
(single or small system of) partial differential equation(s), or
- a (single or small system of) delay (ordinary) differential
equation(s), or
- 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
- an initial (and usually also
a boundary value problem), or
- a boundary value problem, or
- a stability or "eigen" analysis (i.e. finding the modes of a
system), or
- 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.
- biharmonic equation
- Black-Scholes equations for security pricing
- drum heads see
me
- earth deformation under load see me
- eigenmodes of electromagnetic wave guides see me
- eikonal equation
- Euler-Poisson system for incompressible inviscid fluids see me
- Korteweg–de Vries equation see me
- linear (Newtonian) Stokes problem for incompressible fluid see me
- minimal surface equation see me
- morphogenesis/pattern formation
see
me
- Schrodinger equation
see me
- shallow water equations
- snowball earth see me
- Sturm-Liouville problems
- telegraph equation see me
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:
- numerical analysis
- practical computation
- 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:
- compute truncation error
- do stability analysis
- prove convergence [rarely
possible]
- assess the computational cost of the algorithm
- 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:
- Introduction (including
scientific/engineering context and sketch/gloss of the numerical
analysis you
do)
- 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)
- Numerical Scheme (state
the method, discuss the reasons for this choice, discuss
implementability and efficiency; small excerpts of the code may go here)
- Analysis (truncation
error, stability, convergence, cost of algorithm, verification results)
- Results or Conclusion
- References (at least three; quality matters)
- 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.