fno-nf.jl
Solving multiphysics-based inverse problems with learned surrogates and constraints
Science Score: 59.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 11 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
1 of 2 committers (50.0%) from academic institutions -
✓Institutional organization owner
Organization slimgroup has institutional domain (slim.gatech.edu) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.6%) to scientific vocabulary
Keywords
Repository
Solving multiphysics-based inverse problems with learned surrogates and constraints
Basic Info
- Host: GitHub
- Owner: slimgroup
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://doi.org/10.1186/s40323-023-00252-0
- Size: 6.48 MB
Statistics
- Stars: 6
- Watchers: 4
- Forks: 1
- Open Issues: 0
- Releases: 2
Topics
Metadata Files
README.md
Solving multiphysics-based inverse problems with learned surrogates and constraints
Code to reproduce results in Ziyi Yin, Rafael Orozco, Mathias Louboutin, Felix J. Herrmann, "Solving multiphysics-based inverse problems with learned surrogates and constraints". Published open-access at Advanced Modeling and Simulation in Engineering Sciences. DOI: 10.1186/s40323-023-00252-0
Software descriptions
All of the software packages used in this paper are fully open source, scalable, interoperable, and differentiable. The readers are welcome to learn about our software design principles from this open-access article.
Wave
We use JUDI.jl for wave modeling and inversion, which calls the highly optimized propagators of Devito.
Multiphase flow
We use JutulDarcyRules.jl to solve the multiphase flow equations, which calls the high-performant and auto-differentiable numerical solvers in Jutul.jl and JutulDarcy.jl. JutulDarcyRules.jl is designed to interoperate these two packages with other Julia packages in the Julia AD ecosystem via ChainRules.jl.
Scientific machine learning
We use InvertibleNetworks.jl to train the normalizing flows (NFs). This package implements memory-efficient invertible networks via hand-written derivatives. This ensures that these invertible networks are scalable to realistic 3D problems.
We use FNO4CO2.jl to train the Fourier neural operators (FNOs) as learned surrogates for multiphase flow solvers in JutulDarcyRules.jl. In order for scaling to realistic 4D problems, we suggest the readers also have a look at the dfno package, which implements model-parallel Fourier neural operators that are demonstrated to scale to realistic size 4D problems (input size is over $512\times512\times512\times20$).
Installation
First, install Julia and Python. The scripts will contain package installation commands at the beginning so the packages used in the experiments will be automatically installed.
Scripts
There are 12 scripts for permeability inversion with different setups and different types of measurements, listed below.
| Inversion method \ Measurement type | Well measurement | Time-lapse seismic | Both | |---------------------|----------|----------|--------| | Unconstrained inversion with PDE solvers | well-jutul.jl | seismic-jutul.jl | combine-jutul.jl | | Unconstrained inversion with FNO surrogates | well-fno.jl | seismic-fno.jl | combine-fno.jl | | Constrained inversion with PDE solvers | well-jutul-nf.jl | seismic-jutul-nf.jl | combine-jutul-nf.jl | | Constrained inversion with FNO surrogates | well-fno-nf.jl | seismic-fno-nf.jl | combine-fno-nf.jl |
Also, the script projection-study.jl demonstrates a case study of the relationship between projection in the latent space (expansion or shrinkage) and the accuracy of pre-trained FNO for both in-distribution and out-of-distribution permeability samples.
LICENSE
The software used in this repository can be modified and redistributed according to MIT license.
Reference
If you use our software for your research, we appreciate it if you cite us following the bibtex in CITATION.bib.
Authors
This repository is written by Ziyi Yin from the Seismic Laboratory for Imaging and Modeling at the Georgia Institute of Technology.
If you have any question, we welcome your contributions to our software by opening issue or pull request.
SLIM Group @ Georgia Institute of Technology, https://slim.gatech.edu.
SLIM public GitHub account, https://github.com/slimgroup.
Owner
- Name: SLIM GROUP
- Login: slimgroup
- Kind: organization
- Email: Felix.herrmann@gatech.edu
- Location: Georgia Institute of Technology, USA
- Website: https://slim.gatech.edu
- Repositories: 54
- Profile: https://github.com/slimgroup
Repositories for software by SLIM group
Citation (CITATION.bib)
@ARTICLE{yin2023smi,
author = {Ziyi Yin and Rafael Orozco and Mathias Louboutin and Felix J. Herrmann},
title = {Solving multiphysics-based inverse problems with learned surrogates and constraints},
journal = {Advanced Modeling and Simulation in Engineering Sciences},
year = {2023},
month = {10},
volume = {10},
abstract = {Solving multiphysics-based inverse problems for geological carbon storage monitoring can be challenging when multimodal time-lapse data are expensive to collect and costly to simulate numerically. We overcome these challenges by combining computationally cheap learned surrogates with learned constraints. Not only does this combination lead to vastly improved inversions for the important fluid-flow property, permeability, it also provides a natural platform for inverting multimodal data including well measurements and active-source time-lapse seismic data. By adding a learned constraint, we arrive at a computationally feasible inversion approach that remains accurate. This is accomplished by including a trained deep neural network, known as a normalizing flow, which forces the model iterates to remain in-distribution, thereby safeguarding the accuracy of trained Fourier neural operators that act as surrogates for the computationally expensive multiphase flow simulations involving partial differential equation solves. By means of carefully selected experiments, centered around the problem of geological carbon storage, we demonstrate the efficacy of the proposed constrained optimization method on two different data modalities, namely time-lapse well and time-lapse seismic data. While permeability inversions from both these two modalities have their pluses and minuses, their joint inversion benefits from either, yielding valuable superior permeability inversions and CO2 plume predictions near, and far away, from the monitoring wells.},
keywords = {AMSES, Fourier neural operators, normalizing flows, multiphysics, deep learning, learned surrogates, learned constraints, inverse problems},
doi = {10.1186/s40323-023-00252-0},
note = {(Advanced Modeling and Simulation in Engineering Sciences)}
}
GitHub Events
Total
- Fork event: 1
Last Year
- Fork event: 1
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Ziyi Yin | z****n@g****u | 7 |
| Ziyi Yin | 5****7 | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0