Matthew's Blog

Week 1

It is the beginning of a summer of research. This summer’s topic is to model tsunami run-up in a finite sloping length bay of U-shaped cross-sections with a “wall” at the offshore end. To solve this problem we will end up developing a spectral method. The first few days for me have been spent getting to know the three undergraduate students I will be mentoring (John, Christian and Daniel), setting up workstations, and introducing the undergraduate students to the basic physics of fluids that will be needed in order to understand the problem at hand. This year we used the text ‘A Modern Introduction to the Mathematical Theory of Water Waves’ by R.S. Johnson to derive the nonlinear Shallow Wave Equations (SWEs) – the main system we want to solve.

During the later part of this week we were privileged to work with Dr. Efim Pelinovsky. One of the many topics that we discussed with Dr. Pelinovsky was the general theory of waves (linear and nonlinear). I learned a lot under his guidance. In particular my knowledge and intuition of the physics behind water waves and the basic properties of Partial Differential Equations (PDEs) was greatly expanded.

I was impressed by how quickly the REU students covered the background material, especially since they had little or no knowledge of partial differential equations going into the program.


Week 2

During this week I started to work on multiple projects at the same time. Namely I was both the mentor for the REU and a researcher on my own project – solving a similar problem but in a Trapezoidal bay vie a finite difference method.

As the mentor I guided the undergraduate students through the inner workings of the derivation of the SWEs and helped them to understand the Carrier-Greenspan (CG) linearization transform. John and Daniel showed that they understood what was going on by giving presentations of their newly developed knowledge to Dr. Pelinovsky, Dr. Rybkin and me.

While I was guiding the students in the program, I was also working on the model from the summer of 2012. Namely, I fixed a bug in the code that occurred in nearly planar bays, and generalized the model to numerically work for non-zero initial velocity.


Week 3

The division of labor for this summer was initiated this week. John started to work on the model for last year in order to develop his own understanding of how the GC transform was numerically implemented. He then started the process of abstracting the code into a general framework that can be used for future models.

To start work on developing a spectral solution for the tsunami run-up problem, I introduced Daniel and Christian to the concept of series solutions to simpler PDEs. This week they explored how such series expansions are used to find solutions to both the linear heat equation and the linear wave equation. In particular they derived the classical series solutions for several common boundary conditions (Newman, and Dirichlet).

Outside of mentoring, I modified the boundary condition of the finite difference scheme to account for waves that enter the bay from the off-shore boundary. This modification allows the model from last year be used to model waves that are extremely long. I then started to read Slava Garyshin recent masters thesis to see how he solved the run-up problem in a sloping U-shaped bay similar with infinite length via a spectral solution.


Week 4

This week I had Daniel work on reading parts Slava’s thesis that will be relevant for our problem. The later part of the week I had him start developing the spectral expansion for the $|y|^2$ bay of finite length.

John, on the other hand, worked on optimizing the run time of the code from last year by using MATLAB built in functions that are more efficient than the ones we used last year. He then explored the possibility of using series expansions to find spectral solutions for arbitrary sloping bays.

Outside of my mentor role, I worked on a write up for the work I did last year and explored the feasibility of a general spectral solution for U-shaped bays.


Week 5

This week was very fruitful! Daniel finished formalizing the series expansion for the $|y|^2$ bay and then I quickly coded in MATLAB a script that implements the series solution. This was compared to the analytic solution and it turns out that the expansion numerically agrees with the analytics solution! Daniel then worked on learning MATLAB by experimenting with my script and commenting in what the code does. He then explored the relationship of the Eigenfunctions in physical and non-physical space.

John worked on his series expansion idea until we decided that it was not the direction we wanted to work in for the time being (as it is a very large project to take on for 5 weeks). He then continued to clean up the code from last year and added in a function that will generate top down pictures, given a run-up solution, for arbitrary cross-sections. While working with Daniel, I learned a lot about the process of writing a paper for publication as I re-organized the write-up of my results from the previous summer.


Week 6

This week was full of coding. John worked on building options into the old code so that it can be used dynamically without knowledge of how everything links together. The benefit of this is simple; one can change a single aspect of the model without looking through all other parts of the code. The implementation of the framework involved splitting the main script into several functions and linking them in an efficient way. Upon building parts of the framework, John created documentation to aid in the latter use of the code.

Daniel continued to explore the various parts involved in the spectral method and to see what connections he could find between the linear (non-physical) and the non-linear (physical) systems. It was during this week that the frequency of the spectrum for our Eigenfunctions was examined and as expected the Eigenfunctions of high frequency do not play as strong of a role as the lower frequency Eigenfunctions.

This week I put in a lot of time with Daniel, helping him to run the analysis on the eigenfuncions and to generate pictures to send to Dr. Pelinovsky to get his intuition on what is happening. On my own I worked with Dimitri on comparing my model to FUNWAVE, a robust SWE solver, and generating pictures for our paper.


Week 7

This week was another fruitful week. Upon finishing the general U-shaped bay case, code was implemented to find the needed spectral expansions. The generalized method agrees with the analytic solution for the |y|^2 case and behaved as expected for other bays! Daniel learned the basics of LaTeX in order to type up the work on the |y|^2 case. John worked on making the code for the spectral solution for |y|^2 cleaner and also suggested and implemented the use of matrices to find the constants of expansion instead of computationally costly inner products. The resulting code ran much faster at little cost to the accuracy. Both John and Daniel then explored the |y|^m model to see what connections they could find between the two systems and how the run-up is affected by the cross-section. Outside of working on the new model, I worked with Dimitri to generate a good comparison between FUNWAVE and my model from last year. The challenge was to find a long wave that would not break in the realistic bathymetry we chose.


Week 8

This was a week of some relaxation. John, Dr. Rybkin and I went to the Gurdwood/ Seward area to see the Alaskan wildlife, glaciers, and, most importantly, the bore waves! Highlights of this trip include

  • A boat ride in College fjord where we witnessed both Harvard and Stanford glaciers calving. There was a lot of Alaskan wildlife (eagles, seals, etc.) to be seen on this trip as well.
  • Many bike trips around the local areas including one trip to a waterfall where salmon were spawning.
  • Many hikes with wonderfully beautiful views including one hike to Harding ice field.
  • A wonderful view of the tidal bore – both from a nice viewing spot on a cliff and from the ground.

Click here to see some photos from the trip.


Week 9

After our trip we returned refreshed and ready to finish the program with a large amount of energy. John finished his work on cleaning the old code up, put the new code in his framework and generated a user file that explains all of the functions and how they interact with each other. Both John and Daniel worked on making figures and analyzing the spectral transform for the |y|^2 bay. They then worked on getting everything to a good stopping point for the summer. I worked on documenting all work that was completed in preparation for the end of the program. Outside of my work on the REU, I continued to analyze how the trapezoidal model works with bore type waves coming in from the boundary (utilizing the new boundary condition I implemented at the beginning of the summer). On the last Friday of the program we said our goodbyes to each other and to a summer full of fun and learning.

John and I gave a colloquium talk on November 7 over our results from the REU. Click here to view our slides from the trip.