This repository contains the implementation and solutions for the Final Project of the course AI in the Sciences and Engineering taught by Prof. Siddhartha Mishra in Fall 2024 (ETH Zurich).
The project explores the use of Fourier Neural Operators (FNOs), PDE-FIND regression methods, and neural PDE solvers for learning, predicting, and analyzing dynamical systems governed by partial differential equations (PDEs).
The final project consists of several tasks, each focusing on a different aspect of applying machine learning to PDEs and dynamical systems:
- Train an FNO to approximate the solution operator of the 1D wave equation with given boundary and initial conditions.
- Perform one-to-one training, resolution generalization, and out-of-distribution (OOD) testing.
- Extend to All-to-All training using multiple time steps with time conditioning.
- Evaluate performance using relative L2 error across datasets and resolutions.
- Extend the All-to-All model to predict solutions at intermediate times.
- Test generalization to unseen distributions.
- Implement sparse regression methods (ridge regression with thresholding) to recover PDEs from spatio-temporal solution data.
- Apply to three datasets of increasing complexity (1D PDEs and 2D coupled PDEs).
- Report the identified PDE terms and analyze convergence and limitations.
- Develop a neural solver for the Allen–Cahn equation across different parameter regimes.
- Generate synthetic datasets with varying ε values and initial condition types.
- Train a time-dependent architecture capable of handling full solution trajectories.
- Evaluate interpolation/extrapolation capabilities and robustness to sharp-interface dynamics.
- Provide a proof of a stability theorem for the Allen–Cahn equation, including energy estimates and Gronwall-type arguments.