Student: Matthew Peters, Undergraduate Student in Computer Science, University of Northern Iowa
Research Mentor: Paul Gray
Creating Mountains with Meteors
Mountains can form in many ways that we know of. A recent theory put forward is if a sufficiently large meteor hits a surface, such as Mars, hard enough a mountain might form on the other side. To find out a program was developed to use antipodal calculations to track the particles of both the asteroid and planet. It also allowed for a series of images to be exported to allow for a visualization of what is happening. The downfall was the program was slow and required it to be recompiled if you ever wanted to make different calculation. This limited the amount of calculations that could be run and required a more complicated install then just move the program over. To fix this I took the program and converted it to another programming language, in this case C, and allowed for the parameters of the calculations to be changed without the need for it to be recompiled. I also gave it the ability to create all the required files it needed to run. This allowed the program to be put anywhere without any setup.
During the conversion process I noticed some errors in the program. For example one variable was supposed to have the value 0.3, but due to a bug in the compiler was actually getting 0. This error, among others, greatly affected the outcome of the program and caused the planet to blow up, when in fact it should not have. After fixing these errors and adding output so the user can see what the program is doing (with no affect on the performance) the new program ran in 156 minutes while the original took 194 minutes.
Some future goals of this project would be to convert the program to be multithreaded and to allow for GPU processing using OpenCL, this has the potential to significant increase the speed of the program allowing for more calculations to be done and furthering out knowledge.