A Machine Learning Approach to Characterizing Clusters in Turbulent Flow

Project Summary

Fluid mechanics is the study of how fluids (e.g., air, water) move and the forces on them. Scientists and engineers have developed mathematical equations to model the motions of fluid and inertial particles. However, these equations are often computationally expensive, meaning they take a long time for the computer to solve.


To reduce the computation time, we can use machine learning techniques to develop statistical models of fluid behavior. Statistical models do not actually represent the physics of fluids; rather, they learn trends and relationships from the results of previous simulation experiments. Statistical models allow us to leverage the findings of long, expensive simulations to obtain results in a fraction of the time. 


In this project, we provide students with the results of direct numerical simulations (DNS), which took many weeks for the computer to solve. We ask students to use machine learning techniques to develop statistical models of the results of the DNS.

Themes and Categories
Reza Momenifar or Jonathan Holt
mohammadreza.momenifar@duke.edu or jonathan.holt@duke.edu

Graduate Students: Reza Momenifar and Jonathan Holt, Department of Civil & Environmental Engineering

Faculty: Simon Mak, Department of Statistical Science

Course: "Machine Learning and Data Mining" (STA 325)


Statisticians and machine learning specialists are often asked to analyze data from obscure sources. No matter the source of data, analysts must be comfortable applying their skills to solve the client’s problem. This Data Expeditions course prepares students for the real world by asking students to analyze data from a field with which they have little experience: turbulent flow in fluids. Furthermore, this Data Expeditions course challenges students to interpret their results in order to gain an understanding of the behavior of fluids in turbulent flow. 

Students are first given a 1-hour lecture introducing the data. We explain that fluid dynamics is a classic field of physics pertaining to the motion of fluid particles. We discuss the concept of turbulence, a phenomenon that most people are familiar with in the context of airplane travel. Next, we explain why it is computationally expensive to model turbulence using direct numerical simulation (DNS). It would be much faster, we tell the students, if we had a statistical model of our data. We illustrate the concept of particle clustering in turbulence and explain how we employed the Voronoi tessellation analysis to identify clusters. We provide students with our dataset and ask them to return in three weeks with a proposed statistical model. Specifically, we ask students to model the first four moments of particle cluster size given three parameters: the Reynolds number, Stokes number, and Froude number.

During a two-hour follow-up session, students present their solutions to the TAs and professor. In addition to the presentation, students write a report on their findings. 

Guiding Questions

  1. What is a fluid? How does a fluid behave?
  2. What is turbulence? Where do we see turbulence in our everyday lives? How particles move in turbulent flow and why they form cluster?
  3. What are the important properties of fluid and particles in particle-laden flows? 
  4. Why is direct numerical simulation important for the study of turbulence and particle dispersion in turbulent flow?
  5. Why is direct numerical simulation expensive?
  6. How can machine learning reduce computation time?
  7. How can machine learning provide insight into the behavior of particle motion?

The Dataset

The data were collected by Reza Momenifar as part of his doctoral thesis to investigate the properties of particle clusters in turbulent flow. The dataset is extracted from many numerical simulations in 3D space, performed in Reza’s Theoretical and Computational Fluid Dynamic Group. The simulations model the distributions of particles under idealized turbulence in a cubic box. In these simulations, three independent control parameters representing the properties of turbulent flow and particles are varied. The particles’ positions and other dynamic properties of the flow fields (e.g., velocity) are stored. Next, Voronoi tessellation analysis was performed and particle clusters were identified. The particle clusters are represented by the first four moments of cluster size distributions. 

In this analysis the predictor variables are the fluid and particle properties (Reynolds number, Stokes number, Froude number). The response variables are the first four moments of the cluster size distribution. The students receive a dataset with 120 observations (rows).

In-Class Exercises

Reza and Jon first presented a lecture introducing the concept of turbulence and how turbulence manifests in everyday phenomena. This lecture began with a background on the study of fluid dynamics. Then, they introduced direct numerical simulation (DNS) and explained why DNS is computationally expensive. Afterwards, they explained the Voronoi tessellation analysis and its applications, particularly in particle-clustering.  Finally, Reza described how he generated the dataset that students will use for their assignment. 

After Reza’s lecture, Reza and Jon gave students their assignment. Students were told that they had three weeks to develop four statistical models - one for each of the four moments - given the sample dataset. 

The course (STA 325) had weekly lab sessions, which provided a natural venue for students to ask questions about the assignment. The main issue that students had was scaling the variables. The ranges of some of the predictor and response variables were quite large; therefore, students had to think critically about how to appropriately scale these variables. Regarding the models themselves, students were quite comfortable using the R programming language to develop different types of models, including linear, generalized additive, and tree-based models. The students were particularly well-suited for the assignment because they had just learned about different types of models from their regular course instruction. 

Students presented their results during a two-hour presentation session. In addition to presenting their findings, students were asked to use their models to make predictions on a test set (data that includes response variables only). Students submitted their predictions to the TA’s, who determined which group had the most accurate models. Model performance was taken into account for assigning student grades on the assignment. 

After the final presentations, students reflected on their experience in the Data Expeditions project. Several students noted that the Data Expedition felt like a real-life client project, similar to what they might experience at a consulting firm. Other students noted that they were able to directly apply the material learned in class to a novel dataset.  

Below are images from student submissions:

Moment I graphsInteraction between Re and Fr graphs


Source of the Data

Momenifar, M., Bragg, A.~D.\ 2019.\ Local analysis of the clustering, velocities and accelerations of particles settling in turbulence.\ arXiv e-prints arXiv:1908.00341.


assignment (PDF)

data-test (CSV)

data-train (CSV)

presentation_slides (PDF)

proposal (PDF)

rubric (DOC)

Related Projects


Female baboons occasionally exhibit large swellings on their behinds. Although these ‘sexual swellings’ may evoke disgust from human on-lookers, they provide important information to group members about a female’s reproductive state. To figure out what these sexual swellings mean and whether male baboons notice, we need to look at the data.  

This data expedition explores the relationship between female baboon sexual swellings, female estrogen concentrations, and male mating success. The expedition uses long-term data collected on wild baboons by the Amboseli Baboon Research Project. After learning background information about baboon social lives and reproduction, students generate testable predictions for two hypotheses about baboon reproduction. Students then learn how to use the popular R packages dplyr and ggplot2 to calculate descriptive statistics about the dataset. Finally, students perform data visualization to understand and explore patterns in animal mating behavior and sexual signals.

Learning objectives

  • Learn basics of exploratory data analysis (descriptive statistics, generating plots) in R
  • Learn basics of popular R packages dplyr and ggplot2
  • Increase understanding of association between hormones and mating behavior
  • Increase science literary skills (e.g. generating predictions, interpreting results)

Course Materials


The lesson started with a brief Powerpoint presentation to introduce the class to basic information on baboon sociality and reproduction. At the end of the Powerpoint, students were introduced to 2 key hypotheses about baboon reproduction that they then explored using R. The class was divided into small groups where students worked together to propose possible predictions to test these hypotheses (and filled out the first section of the provided worksheet) before seeing the provided predictions.

Students then worked through the provided R script and accompanying dataset to test these predictions. Students with prior experience with R were able to skip ahead by following instructions on the R script, while most of the class worked through the script step-by-step with guidance from instructors. The course instructors walked the students through most of the script, then let students work independently to complete Data Visualization Part 2. Students filled out the worksheet as they went along.

At the end of the R script, students ultimately replicated Figure 1 from Gesquiere et al. 2007. This figure is included as the final slide of the Powerpoint presentation. The end of the class session was used to interpret the figure and discuss how it relates to the 2 project hypotheses.

Student level

This lesson is designed for undergraduate students who have little to no exposure to R or other programming software. It could be easily adjusted for students who are familiar with R or other programming software. This lesson takes about 75 minutes to complete.

The dataset and the Amboseli Baboon Research Project

The dataset for this expedition is a subset of the long-term database of the Amboseli Baboon Research Project, a project co-directed by Drs. Jeanne Altmann, Susan Alberts, Beth Archie, and Jenny Tung. The Amboseli Baboon Research Project has collected demographic, behavioral, genetic, and endocrinological data on a population of wild baboons since 1971 in order to study questions related to animal behavior, life history, behavioral ecology, genetics, and physiology. The project’s database is managed by Jake Gordon at Duke University and Niki Learn at Princeton University.

The unit of analysis for this dataset is a fecal estrogen sample from a cycling1 female. For each fecal sample (n = 843), 6 variables are recorded:

  1. female - identity of the female baboon
  2. cyle_day - day of her reproductive cycle
  3. estrogen - fecal estrogen concentration
  4. swelling_size - sexual swelling size2
  5. alpha_consort - whether or not the female consorted3 with an alpha male4 on that day
  6. nonalpha_consort - whether or not the female consorted with a non-alpha male on that day

This dataset includes data from 93 female baboons, with approximately 10 fecal estrogen samples per female. Minor differences between this dataset and the the dataset used in Gesquiere et al. 2007 are due to small, incremental changes in the database over time.


1 cycling: sexually mature but not pregnant or lactating
2 female yellow baboons exhibit exaggerated sexual swellings (an enlargement/engorgement of the genital and perineal skin) around ovulation
3 consortship: a period in which a male mate-guards a female. Virtually all matings and conceptions occur during consorts

A large and growing trove of patient, clinical, and organizational data is collected as a part of the “Help Desk” program at Durham’s Lincoln Community Health Center. Help Desk is a group of student volunteers who connect with patients over the phone and help them navigate to community resources (like food assistance programs, legal aid, or employment centers). Data-driven approaches to identifying service gaps, understanding the patient population, and uncovering unseen trends are important for improving patient health and advocating for the necessity of these resources. Disparities in food security, economic stability, education, neighborhood and physical environment, community and social context, and access to the healthcare system are crucial social determinants of health, which studies indicate account for nearly 70% of all health outcomes.

We led a 75-minute class session for the Marine Mammals course at the Duke University Marine Lab that introduced students to strengths and challenges of using aerial imagery to survey wildlife populations, and the growing use of machine learning to address these "big data" tasks.