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