The purpose of this project is to model the movement of microplastic particles in ocean waves. To do this, we have employed object-oriented
programming and implemented the Maxey-Riley equation using two methods: the integrate.solve_ivp()
function from SciPy's integrate
library, and the quadrature scheme outlined in Daitche (2013). Using this as our foundation,
we can generate various visualisations of the data generated by our model.
- Mary Eby -- author, MAC-MIGS CDT
- Dr. Cathal Cummins -- primary supervisor, Heriot-Watt University
- Prof. Jacques Vanneste -- secondary supervisor, University of Edinburgh
- Mathematical modelling
- Data visualization
- Object-oriented programming
- Python
- NumPy
- SciPy
- Pandas
- Pyplot
Plastic pollution in the global oceans has been a growing issue in recent decades. Specifically, the effects of microplastics, or plastic particles smaller than 5mm in diameter, have been of special concern in marine environments. Scientists have observed a size-dependent movement of microplastics from the ocean surface to the water column, but have not yet developed a full understanding of the mechanism behind this process. To further the existing understanding of the movement of these particles, researchers are working to model the movement of microplastics in the global oceans using the Maxey-Riley equation. However, existing models only account for cases of deep water and/or cases with microplastic particles that are sufficiently small. We examine previous work done to model this process using the Maxey-Riley equation, and seek to increase the robustness of existing models by employing more general solutions for the velocity field and the Stokes drift velocity, and including the Basset-Boussinesq history term.
The source code for this project is contained in the transport_framework
, models
, and examples
directories. The transport_framework
directory defines the Particle
, Flow
, and TransportSystem
objects in general. The models
directory contains specific implementations of these
objects (ex: models/santamaria_system.py
is the implementation of the transport system described in Santamaria et al. (2013)). The examples
directory contains examples of how the implementations in models
can be used. The figures
directory contains plots
produced from examples
, as well as relevant figures from other sources. Documentation for the source code can be found in the docs
directory.
For a visual representation of the code structure, see the UML diagram.