Final Projects Requirements: • Project must consist of programming

advertisement
Final Projects
Requirements:
• Project must consist of programming a new algorithm; e.g., you simply can’t apply
existing algorithms (such as your RK) to a different problem
• A written report along with your codes must be submitted. The report must include
background information (see, for example, description of projects below), a discussion
of your strategy for writing your code (or modifying an existing code), a discussion of
your numerical results and computation of rates of convergence.
• If you choose to solve a problem for which the solution is unknown then you must
first solve a similar problem with a known solution so that you can convince me your
code is working properly.
• Your numerical results must be presented in a clear and informative manner; a movie
should be produced where appropriate.
• Final project counts 15% of your grade!
Deadlines
Friday, 11/14 - last day to submit project description (one page)
Tuesday, 12/2 lab - preliminary results due
Wednesday, 12/10, noon - Written submission of project due; no exceptions
Sample Projects
• Extend your 1D FEM code to solve either a linear time dependent parabolic problem
using rectangular elements in two dimensions or using triangles (I would provide you
with a routine for the basis function on a triangle). Discuss the changes that were
necessary to make to your code. Show that you are getting the proper rates of convergence in time and space. Generate a movie to simulate the time evolution of your
solution. In your report give the classical PDE you are solving, its weak formulation
and a discrete weak formulation. Then show how once you choose a basis this leads
to a system of algebraic equations; discuss the theoretical rates of convergence. Of
course you will also include a discussion of your numerical results and code generation
in your report.
• Investigate the numerical solution of stiff ODEs. Code a RK45 variable step size
selector method and compare this with standard RK or multistep methods for solving
a stiff ODE. Generate a movie which demonstrates the RK45 solution and a method
which struggles to solve the stiff ODE. In your report discuss what a stiff ODE is and
what makes it difficult to solve. Discuss the RK45 method and how it can be used to
estimate a step size. Discuss the other method you choose to compare with. Compare
your RK45 with Matlab’s built in RK45 solver.
• Take a particular set of equations which model some known physical, biological, chemical, economic, etc. phenomena. For example, the Lotka-Volterra equations (also
known as the predator-prey equations) and demonstrate how they can be used to
1
model some phenomena which are of interest to you. Note that you can not simply
use existing codes but must code an additional algorithm(s). For example, you can
use your RK methods for systems to solve the Lotka-Volterra equations but you would
also have to compare these methods to say multistep methods or an RK45 method.
Your report should include a description of phenomena you are modeling, the derivation of the equations (if possible) and a discussion of what algorithms you use to solve
them.
• The biharmonic equation −∆(∆u) = f is a fourth order equation where u = u(x, y).
Use finite differences on a uniform grid to approximate this equation as (i) a fourth
order equation and (ii) a system of two second order equations using second centered
differences. You should derive your second order approximation to ∆2 in your report.
Compare the size and structure of the resulting matrix, your numerical results, etc.
• Modify your 1D FEM code to solve the one-dimensional heat equation using quadratic
basis functions. Compare the results with solving the same problem using linear basis functions; compare the size and structure of the coefficient matrices. Estimate
the amount of work required to get the same accuracy using linear polynomials and
quadratic polynomials. Solve a problem where you know the answer for the comparisons (and generating your rates of convergence) and then a more interesting problem
and make a movie of your results.
• In Algorithms II you saw how Monte Carlo methods can be used to solve Laplace’s
equation on a box. Use a Monte Carlo approach to solve Poisson’s equation on a
box (where −∆u = f (x, y) and f 6= 0 with Dirichlet boundary data. Compare your
results (both your answers and timings) with the FD approach using second centered
differences. Make a movie of your Monte Carlo simulations. In your report give
background information on Monte Carlo methods and how you have to modify your
code for Laplace’s equation to solve the Poisson equation.
• A project of your choice but you must clearly state what you plan to do in your
Project Proposal. It can be related to something you are doing in research or another
class but you must clearly describe how it is related and justify that you are not just
using a code that has already been written. For example, if you have been using
Finite Volume methods then you could describe this method and then write a finite
volume code to solve Poisson’s equation (as long as you have not done this before)
and compare results with a method we have used in class such as FD or FE.
2
Download