Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Final Projects - APMA 4301 - Spring 2023

Overview

One of the major components of your grade in this course will be the result of a final project demonstrating your mastery of the course material by either applying it or going beyond it. Given this intent you should use outside resources that feel are useful making sure to properly cite them. You are welcome to propose projects from your current research or work or pick one of the suggested projects below.

Format

The final project will be comprised of a written report either as a PDF or Jupyter notebook and code either on github, another code hosting service or included in a Jupyter notebook. You can also if you would like have a separate PDF written report and a Jupyter notebook for code.

Written Report

The project report should contain: a (short) derivation of the mathematical problem and  the equations, a few words on the implementation, numerical analysis of the equations    and algorithms (Von Neumann or convergence or parameter study, etc.), a numerical       convergence study or similar and a discussion of all results. It is important that the          discussion demonstrates how the numerical results compare with theoretical results or   expectations. The written report should not be longer than 15 pages excluding                 references or code. For Jupyter notebook submissions you can get a rough idea of the    number of pages you have by hiding the code cells and doing a print preview. If you have questions about the length of your project write up please ask.

If you need help with the actual writing, go check the library for the "Handbook of Writing in the Mathematical Sciences"

http://www.maths.manchester.ac.uk/~higham/hwms/

It is encouraged that you use LateX to write the report.

The use of any other program that allows you to save the final report in PDF format, however, is also fine.

There are good online sources that can help you getting started with LaTeX:

  https://en.wikibooks.org/wiki/LaTeX

  http://ctan.mackichan.com/info/lshort/english/lshort.pdf

Citations

All sources must be cited. A reasonable amount of literature should be used and the use of "gray" literature avoided. Citations must be included in the text.

More information on the correct use of citations and plagiarism can be found on the university webpage:

http://library.columbia.edu/subject-guides/social-sciences/plagiarism.html

Code

Documentation & Readability

All submitted code must be documented. Code documentation includes inline               explanation of important variables and mathematical manipulations as well as a header for function definitions that clearly states the purpose of a function and its input and    output.

Format your code in a way that it is easy to read, i.e. choose variable names carefully, align equal signs and insert line breaks where appropriate.

Reproducibility

A growing concern in computational science and engineering is the inability to easily  reproduce published results and claims. The best way to get use to this is to practice, your project should be fully reproducible.

  YOU MUST PROVIDE YOUR CODE. A significant portion of the grade will be

deducted if the code is not made available. You can either supply the code in a         repository (such as on github), supply it as an appendix to your write up, or provide it inline as we do with Jupyter notebooks. If you use code that is available elsewhere you must CITE the code and provide a reasonable way to retrieve the code you         used. If you do not properly attribute any code this will also be considered as not     providing your code.

   FIGURES SHOULD BE GENERATED FROM YOUR PROVIDED CODE. We will expect

to be able to reproduce all figures in your write up via the code that you provide.

Efficiency

To demonstrate a good understanding of numerical algorithms, avoid e.g. unnecessary   for and  if  statements as well as the use of direct solvers for large systems of linear equations when there is an iterative solver that can be used more efficiently instead.

External Software Packages

Depending on the project you choose you may need to use packages that we did not use in class. If you decide to do this please contact the instructor to make sure said package is fine to use, i.e. they can get a hold of it and run it easily.

Grading

The final project is worth 50% of the total grade in the course and can be done with one other person.

The grade will be based on both subjective and objective criteria including but limited to:

  Quality of the exposition, i.e. how well you explain the mathematics and code

leading to your figures, this includes the quality of the

   writing - mathematicians, scientists and engineers need to be able to write well.    mathematics - this should be correct and easy to follow.

  figures - figures should be labeled properly and be clear and concise as well as

easily reproducible.

   code - your code should be well commented and readable (this says nothing

about the code you cite).

  Correctness, does your code work, is the numerical approach appropriate and well

thought out,

   Research into the existing literature and proper citation of that literature. You will

lose major points for not properly citing work.

Working Alone

If you decide to not choose a partner the commiserate amount of work expected from you will be decreased and taken into account. Remember however that it is not the     length of a project but the quality that makes it good.

Working with a Partner

You are free to work with one other and turn in a joint project for which it is expected    that each of you will have contributed equally. Also note that the amount of work done will be expected to be commiserate with two people working together as opposed to    someone who worked alone. In order to facilitate this an additional, private assessment of your partner's contribution to the project is required. Note that if you feel that there are issues regarding equal contribution or other concerns you can reach out to the       instructor.

Timeline

1.  March 31st - Project proposals that include a title, outline, and group members if applicable.

2.  May 5th - Projects are due.

All due dates are at 11:59 PM on the day of. All of these will be submitted to courseworks.

Possible Projects

Here is a list of possible projects. You are welcome to propose projects that align with  your research however note that if you are writing a project in another class you cannot use the same work. We will try to update this actively when new ideas come to mind.

   Pick a numerical method that is not finite differences and implement solutions using

these methods on some PDEs that we have used in class or some other useful PDEs you find. You should write-up the basic derivation of these methods as well as          provide at least the basic error analysis for a model problem (show stability and        consistency if you can). These alternatives include but are not limited to:

  finite elements

  finite volumes

   spectral and pseudo-spectral methods

   Pick a PDE that we have not covered in class and describe and implement ways to

solve it. Best would be to pick a couple different approaches and compare their

accuracy, convergence, or any other relevant metrics. Some suggested PDEs      Iterative methods beyond what was discussed in class such as multigrid or

other decent methods (projection methods).

   Euler equations (inviscid compressible gas-dynamics),

   Kortewegde Vries equations or similar non-linear PDE (non-linear wave

integrable equations)

   Darcy's flow (fluid flow through porous media)

   Fokker– Planck equation (time evolution of probability density functions)    Navier-Stokes equations (incompressible fluid flow)

   Stokes-flow (steady-state flow derived from Navier-Stokes flow)

   Shallow water equations (non-linear or linear)

   Black-Scholes model