[PoC] : Add neural operator ROM proof-of-concept for GSoC 2026#35
Draft
Ady0333 wants to merge 1 commit intogridap:mainfrom
Draft
[PoC] : Add neural operator ROM proof-of-concept for GSoC 2026#35Ady0333 wants to merge 1 commit intogridap:mainfrom
Ady0333 wants to merge 1 commit intogridap:mainfrom
Conversation
Proof of concept for GSoC 2026 "Reduced Order Modelling with Neural Operators". Adds a new NeuralOperatorROMs submodule that implements a DeepONet-based non-intrusive reduced order model for parametric PDEs: - Snapshots.jl: Parameter sampling (LHS), FEM solve loop, free-DOF coordinate extraction via cell connectivity - DeepONet.jl: Branch-trunk architecture as a Lux.jl layer with precomputed trunk matrix for O(N·p) online inference - Training.jl: MSE training loop with normalization, early stopping, and Zygote AD - Reconstruction.jl: Predicted DOFs → Gridap FEFunction reconstruction Integration points: - src/GridapROMs.jl: includes NeuralOperatorROMs module - src/Exports.jl: re-exports all public symbols via @publish - Project.toml: adds Lux, Optimisers, Zygote dependencies - test/runtests.jl: adds NeuralOperatorROMs test suite (319 tests) - examples/poisson_deeponet.jl: end-to-end demo on parametric Poisson Signed-off-by: Aditya <ady0333@gmail.com>
17d5b54 to
757ea70
Compare
Collaborator
|
Hi @Ady0333 |
Contributor
Author
|
Thanks @nichomueller! I appreciate you taking the time to review this. I'm definitely interested in discussing nonlinear ROMs and would be happy to chat about it whenever you have time next week. Looking forward to your feedback on the PR! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Classical reduced order models (POD-Galerkin, greedy RBM) work well for PDEs with smooth parameter dependence, but struggle when the solution manifold is nonlinear or high-dimensional. For parametric problems requiring thousands of evaluations (optimization, uncertainty quantification), even reduced models can be too slow. Traditional ROMs also require intrusive access to PDE operators, limiting their use with legacy codes.
Example Issue: A parametric elasticity problem with 5 material parameters needs 10,000 solves for Monte Carlo sampling. POD-Galerkin with 50 basis functions still takes hours because each evaluation requires assembling and solving the reduced system.
Solution
This PoC introduces a NeuralOperatorROMs module that learns the parameter→solution mapping directly from FEM snapshots using DeepONet. The DeepONet architecture splits into branch (encodes parameters μ) and trunk (encodes mesh coordinates x), then combines via inner product to predict all DOF values in one pass. For fixed meshes, we precompute the trunk output once, making inference a single matrix-vector multiply—completely bypassing FEM assembly.
What This PoC Demonstrates
Testing
319 tests verify:
All tests pass. Lint clean.
Running It
Nest Steps
This PoC proves the approach works. The full GSoC implementation would:
This is a proof-of-concept for the GSoC 2026 "Reduced Order Modelling with Neural Operators" project.