Algebraic Topology and Machine Learning for Flow in Porous Media Code This repository contains the code for Haochen Yang's Master dissertation project on the application of algebraic topology and machine learning to model flow in porous media. The code in this repository is written in Python and uses various open-source libraries such as Giotto-tda, scikit-learn, and scikit-fmm. The functions.py file contains all the self-defined functions used during the experiments for this dissertation. These functions are utilized across different stages of the TDA pipeline, such as data preprocessing and topological analysis. The MachineLearning.py file contains example code for the execution of the entire TDA pipeline, including data preprocessing, topological analysis, machine learning, and performance measure. This code can serve as a starting point for those who want to use the pipeline on their own datasets.