# Projects

### How hard can I kick that football?

High school text-books tell us that the optimum angle for projectile motion is 45 degrees. However, in many sports disciplines it is rather found that one can throw a ball, spear etc farther if the angle is closer to 30 degrees. The aim of this project is to numerically investigate your favorite (or most hated) sports discipline, and include realistic effects such as air resistance. The parks of Lund will serve as crucial testing places for the modeling and numerical results.

You will learn: Numerically solving ordinary differential equations.

Suggested reading: S&S chapters 1,2, 5 and 6. G&N chapters 1,2, appendix A.

The spreading of disease has a different character in today's society compared hundred years ago, due our frequent relatively long-distance travels by train and airplane. In this project you will solve model equations describing the time-evolution of healthy and infected people in a population. Apart from local "interaction" within cities you will also take into account long-distance travels between cities. Different strategies for minimizing effects of a disease, such as vaccination, can be studied.

You will learn: Numerically solving ordinary differential equations.

Suggested reading: S&S chapters 1,2, 5 and 6. G&N chapters 1,2, appendix A. More details about disease spreading modeling: D. Brockmann, et al. Human Mobility and Spatial Disease Dynamics, Diffusion Fundamentals III, Leipziger Universitätsverlag (2009), M. Keeling, Mathematical Edidemology.

### Restoration of images using PDEs

Equations originating from physics have recently founds their way to other areas. One, possibly surprising, application is that of restoring art or images (image restoration, or, image inpainting).

To understand how PDE equations from physics can help in image restoration, consider an image which has been sabotaged by graffiti painters. Can we fill in the missing region without any information of what is missing? This may seem like a hopeless task, but partial differential equations (PDEs) are here to save the day! PDE-based methods are based on propagating the information (typically, intensity values and gradients) at the boundaries of the missing region inwards. The propagation is performed by solving a PDE with specified boundary conditions.

Your task is to download/create, and sabotage by yourself, an image of your own choice. Then try out, and attempt to improve(!), upon existing PDE-based method for image restoration. Since, you know the "answer" (the original image) you can test out how good your method was.

For those of you using python for your projects, here is simple example script on how one can import a grayscale image: getintensity.py

You will learn: Numerically solving partial differential equations.

Suggested reading: S&S chapters 10 and 11. G&N chapters 5,6,10 (note that the heat equation is the same as the Schrödinger equation in imaginary time).

### Reaction-diffusion - vicious walkers

#### More details

Many processes requires molecules to meet and react. How long does this take? In this project the aim is to, as a model for chemical reactions, simulate random walkers in a box which kill each other (vicious walkers) whenever they meet. How will the density of particles decay with time in such a system? For realistic chemical reactions, not every encounter results in a reaction - you may therefore want consider a finite probability for an encounter to result in death. Or, perhaps there are many different types of particles? Feel free to explore different scenarios.

You will learn: Simulating stochastic processes.

Suggested reading: S&S chapters 12-17,20. G&N chapter 7, appendix F and G.

### How do proteins fold?

#### More details

Biology offers many opportunities for doing interesting physics. Proteins are important players in our cells, and their functionality depends strongly on their structure. This structure in turn depends on the sequence of amino acids that make up the proteins. So how do we get from sequence to structure? In this project you will attempt to answer this question for a protein model which is used by researchers in Lund and elsewhere.

Code for the simulations is provided in four languages:
C code: pivot.c Rather inefficient but easy-to-follow C code for updating the chain with a pivot move and checking for self avoidance.
Java code: Pivot.java A Java class with methods for the pivot move, self avoidance check and computing the energy of any structure, plus convenient methods for input and output.
C++ code: pivot.cc A C++ class which the Java class was based on. About 25% faster than the Java code. Uses GSL (GNU Scientific Library) for random number generation, but any other simulation-quality RNG would work as well.
Python code: pivot.py Ported from C++ to Python.

You will learn: Monte Carlo techniques.

Suggested reading: S&S chapters 12-17,20. G&N chapter 8 and 12.1.